File: jump_table_icp.s

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (307 lines) | stat: -rw-r--r-- 5,990 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
	.text
  .globl main
  .type main, %function
main:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	subq	$0x18, %rsp
	.cfi_offset %rbx, -24
	movl	$0x0, -0x14(%rbp)
	movl	$0x0, -0x18(%rbp)
	jmp	Ltmp16

Ltmp17:
	callq	rand@PLT
	movl	%eax, %ecx
	movl	$0x92492493, %edx
	movl	%ecx, %eax
	imull	%edx
	leal	(%rdx,%rcx), %eax
	sarl	$0x2, %eax
	movl	%eax, %edx
	movl	%ecx, %eax
	sarl	$0x1f, %eax
	subl	%eax, %edx
	movl	%edx, %eax
	movl	%eax, -0x1c(%rbp)
	movl	-0x1c(%rbp), %edx
	movl	%edx, %eax
	shll	$0x3, %eax
	subl	%edx, %eax
	subl	%eax, %ecx
	movl	%ecx, %eax
	movl	%eax, -0x1c(%rbp)
	callq	rand@PLT
	movl	%eax, %ecx
	movl	$0x92492493, %edx
	movl	%ecx, %eax
	imull	%edx
	leal	(%rdx,%rcx), %eax
	sarl	$0x2, %eax
	movl	%eax, %edx
	movl	%ecx, %eax
	sarl	$0x1f, %eax
	subl	%eax, %edx
	movl	%edx, %eax
	movl	%eax, -0x20(%rbp)
	movl	-0x20(%rbp), %edx
	movl	%edx, %eax
	shll	$0x3, %eax
	subl	%edx, %eax
	subl	%eax, %ecx
	movl	%ecx, %eax
	movl	%eax, -0x20(%rbp)
	movl	-0x1c(%rbp), %eax
	movl	%eax, %edi
Ltmp17_inc:
	callq	_Z3inci
# FDATA: 1 main #Ltmp17_inc# 1 _Z3inci 0 0 1073
	movl	%eax, %ebx
	movl	-0x20(%rbp), %eax
	movl	%eax, %edi
Ltmp17_dup:
	callq	_Z7inc_dupi
# FDATA: 1 main #Ltmp17_dup# 1 _Z7inc_dupi 0 0 1064
	movl	%eax, %edx
	movl	$0x0, %eax
	subl	%edx, %eax
	addl	%eax, %eax
	addl	%ebx, %eax
	addl	%eax, -0x14(%rbp)
	addl	$0x1, -0x18(%rbp)

Ltmp16:
	cmpl	$0x98967f, -0x18(%rbp)
Ltmp16_br:
	jle	Ltmp17
# FDATA: 1 main #Ltmp16_br# 1 main #Ltmp17# 0 651

	cmpl	$0x0, -0x14(%rbp)
	sete	%al
	movzbl	%al, %eax
	addq	$0x18, %rsp
	popq	%rbx
	popq	%rbp
	.cfi_def_cfa %rsp, 8
	retq

	.cfi_endproc
.size main, .-main

  .globl _Z3inci
  .type _Z3inci, %function
_Z3inci:
	.cfi_startproc
LBB00:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	%edi, -0x4(%rbp)
	cmpl	$0x5, -0x4(%rbp)
LBB00_br:
	ja	Ltmp12
# FDATA: 1 _Z3inci #LBB00_br# 1 _Z3inci #Ltmp12# 189 189
# FDATA: 1 _Z3inci #LBB00_br# 1 _Z3inci #LFT0# 0 881

LFT0:
	movl	-0x4(%rbp), %eax
	movq	"JUMP_TABLE/_Z3inci.0"(,%rax,8), %rax
LFT0_br:
	jmpq	*%rax
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp0# 146 163
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp1# 140 156
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp2# 126 157
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp3# 129 148
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp4# 137 150
# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp5# 134 152

Ltmp0:
	movl	total(%rip), %eax
	addl	$0x1, %eax
	movl	%eax, total(%rip)
	movl	$0x1, %eax
Ltmp0_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp0_br# 1 _Z3inci #Ltmp13# 0 167

Ltmp1:
	movl	total(%rip), %eax
	addl	$0x2, %eax
	movl	%eax, total(%rip)
	movl	$0x2, %eax
Ltmp1_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp1_br# 1 _Z3inci #Ltmp13# 0 151

Ltmp2:
	movl	total(%rip), %eax
	addl	$0x3, %eax
	movl	%eax, total(%rip)
	movl	$0x3, %eax
Ltmp2_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp2_br# 1 _Z3inci #Ltmp13# 0 152

Ltmp3:
	movl	total(%rip), %eax
	addl	$0x4, %eax
	movl	%eax, total(%rip)
	movl	$0x4, %eax
Ltmp3_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp3_br# 1 _Z3inci #Ltmp13# 0 146

Ltmp4:
	movl	total(%rip), %eax
	addl	$0x5, %eax
	movl	%eax, total(%rip)
	movl	$0x5, %eax
Ltmp4_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp4_br# 1 _Z3inci #Ltmp13# 0 149

Ltmp5:
	movl	total(%rip), %eax
	addl	$0x6, %eax
	movl	%eax, total(%rip)
	movl	$0x6, %eax
Ltmp5_br:
	jmp	Ltmp13
# FDATA: 1 _Z3inci #Ltmp5_br# 1 _Z3inci #Ltmp13# 0 150

Ltmp12:
	movl	-0x4(%rbp), %eax
	addl	$0x1, %eax

Ltmp13:
	popq	%rbp
	.cfi_def_cfa %rsp, 8
	retq

	.cfi_endproc
.size _Z3inci, .-_Z3inci
# Jump tables
.section .rodata
"JUMP_TABLE/_Z3inci.0":
	.quad	Ltmp0
	.quad	Ltmp1
	.quad	Ltmp2
	.quad	Ltmp3
	.quad	Ltmp4
	.quad	Ltmp5

# BinaryData
.section .bss
"total":

	.text
  .globl _Z7inc_dupi
  .type _Z7inc_dupi, %function
_Z7inc_dupi:
	.cfi_startproc
LBB01:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	%edi, -0x4(%rbp)
	cmpl	$0x5, -0x4(%rbp)
LBB01_br:
	ja	Ltmp14
# FDATA: 1 _Z7inc_dupi #LBB01_br# 1 _Z7inc_dupi #Ltmp14# 143 144
# FDATA: 1 _Z7inc_dupi #LBB01_br# 1 _Z7inc_dupi #LFT1# 0 777

LFT1:
	movl	-0x4(%rbp), %eax
	movq	"JUMP_TABLE/_Z7inc_dupi.0"(,%rax,8), %rax
LFT1_br:
	jmpq	*%rax
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp6# 130 137
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp7# 126 136
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp8# 122 130
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp9# 111 130
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp10# 122 140
# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp11# 104 114

Ltmp6:
	movl	total(%rip), %eax
	addl	$0x2, %eax
	movl	%eax, total(%rip)
	movl	$0x1, %eax
Ltmp6_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp6_br# 1 _Z7inc_dupi #Ltmp15# 0 106

Ltmp7:
	movl	total(%rip), %eax
	addl	$0x3, %eax
	movl	%eax, total(%rip)
	movl	$0x2, %eax
Ltmp7_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp7_br# 1 _Z7inc_dupi #Ltmp15# 0 113

Ltmp8:
	movl	total(%rip), %eax
	addl	$0x4, %eax
	movl	%eax, total(%rip)
	movl	$0x3, %eax
Ltmp8_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp8_br# 1 _Z7inc_dupi #Ltmp15# 0 97

Ltmp9:
	movl	total(%rip), %eax
	addl	$0x5, %eax
	movl	%eax, total(%rip)
	movl	$0x4, %eax
Ltmp9_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp9_br# 1 _Z7inc_dupi #Ltmp15# 0 105

Ltmp10:
	movl	total(%rip), %eax
	addl	$0x6, %eax
	movl	%eax, total(%rip)
	movl	$0x5, %eax
Ltmp10_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp10_br# 1 _Z7inc_dupi #Ltmp15# 0 98

Ltmp11:
	movl	total(%rip), %eax
	addl	$0x7, %eax
	movl	%eax, total(%rip)
	movl	$0x6, %eax
Ltmp11_br:
	jmp	Ltmp15
# FDATA: 1 _Z7inc_dupi #Ltmp11_br# 1 _Z7inc_dupi #Ltmp15# 0 92

Ltmp14:
	movl	-0x4(%rbp), %eax
	addl	$0x1, %eax

Ltmp15:
	popq	%rbp
	.cfi_def_cfa %rsp, 8
	retq

	.cfi_endproc
.size _Z7inc_dupi, .-_Z7inc_dupi
# Jump tables
.section .rodata
"JUMP_TABLE/_Z7inc_dupi.0":
	.quad	Ltmp6
	.quad	Ltmp7
	.quad	Ltmp8
	.quad	Ltmp9
	.quad	Ltmp10
	.quad	Ltmp11