Function at 0x10010517
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
mov dword [ebp - 0x2c], 0xca0
cmp dword [ebp - 0x2c], 0x2245
push esi
push edi
jle 0x100105de
mov dword [ebp - 0x14], 0x8bbca631
xor edi, edi
inc edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x2c], 0x110b
cmp dword [ebp - 0x2c], 0x1b32
jle 0x10010707
sbb byte [edx + eax*4 - 0xc6b5acf], cl
lahf
push ss
imul byte [edx - 0x5e2adef0]
fcomp dword [esi - 0x3530cd1d]
invalid
push 0
mov dword [ebp - 0x14], 0xffffffe7
pop ebx
jmp 0x100108b3
mov dword [ebp - 0xc], 0x4b4e1265
mov dword [ebp - 0xc], ebx
jmp 0x100107fe
mov dword [ebp - 0x2c], 0x8f2
cmp dword [ebp - 0x2c], 0x25d0
jle 0x100107e8
mov esi, 0x895498e5
stc
mov al, byte [0x1bf495cd]
stosd dword es:[edi], eax
dec ebp
sbb eax, 0x10c0a428
invalid
mov dword [ebp - 0x2c], 0xe64fd9e2
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
shl eax, 3
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff5
jge 0x10010725
mov dword [ebp - 0xc], ebx
jmp 0x100108a6
mov dword [ebp - 0x2c], 0x122c
cmp dword [ebp - 0x2c], 0x18fc
jle 0x10010898
pushal
leave
cmp cl, ah
test eax, 0x9842b84c
hlt
invalid
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x10010810
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
jne 0x10010716
mov dword [ebp - 0x2c], 0x47a
lea esi, [ecx - 0xc]
cmp dword [ebp - 0x2c], 0x20b4
jle 0x10010920
xchg edi, eax
and eax, 0x6bede1b6
ja 0x1001086d
adc byte [ebp - 0x3ef3729a], al
cmpsd dword [esi], dword es:[edi]
sbb eax, 0x9cbdee57
int 0xbf
salc
out dx, al
xor byte [ecx - 0x44ff1c82], al
dec edx
imul esi, dword [ecx + 0x69], 0xce0149bb
fsub dword [ebx]
inc ecx
jge 0x1001092c
add al, 0x7d
test eax, 0x4cf32a1f
js 0x1001095f
int3
imul dword [edx - 0x38138277]
inc ebp
hlt
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0xb9c279a2
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0x6b4
cmp dword [ebp - 0x2c], 0x1801
jle 0x10010a07
invalid
jae 0x1001097a
jb 0x1001094e
insb byte es:[edi], dx
xor edi, dword [eax]
arpl cx, bp
mov esi, 0x57b83178
sbb byte [edx], dl
jge 0x1001098c
js 0x10010981
mov eax, 0x7d121857
out 0x16, al
out 0x16, al
pushal
call 0xef47dbd1
jae 0x1001099b
cmp ebp, dword [esi - 0xd573f64]
dec esi
lcall 0x39be, 0x9b939d60
pop eax
ror dword [ebx + 0x3e], 0x1b
cli
scasb al, byte es:[edi]
pushfd
shr byte [eax + 0x609a4ef2], 0x9d
xchg ebx, eax
wait
mov esi, 0x4bc15839
sbb edi, edx
lds esi, [edi + edi - 0x6f4bf8f9]
pop es
pop es
mov ah, 0x90
jo 0x1001091e
aam 0xf4
in al, 0x1c
and dword [ebp + edx*8 + 0xa], edi
xadd bl, bl
ret
jl 0x10010958
or cl, byte [edi]
rcr bl, 0xc3
inc ebx
sbb al, byte [eax - 7]
invalid
dec ecx
jp 0x100109b6
add byte [ebp + 0x4f], dh
test al, 0xa4
cwde
push esi
das
invalid
jle 0x10010976
jno 0x10010946
add eax, 0x24f9a3
dec edi
mov dword [0xd01ae956], eax
and ch, byte [0xd0d0e04]
sub eax, 0x3a75010a
jge 0x10010a19
xchg esi, eax
push ds
dec edx
cmp dl, dl
imul esi, dword [eax], 0xffffff93
add al, byte [ebp - 0x6e97d9a6]
dec ecx
mov esi, 0x8e5bcc86
dec ebx
lcall 0xfa6d, 0x89c45370
xchg esp, eax
pop ss
sub dh, byte [edi - 0x53b98d42]
int1
std
insb byte es:[edi], dx
pop ds
imul ebp, dword [ebp - 0x6aa95bc2], 0xffffffd0
pop edi
dec esp
neg byte [esi]
jb 0x10010a68
mov dword [ebp - 0x14], ebx
jmp 0x10010a1a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0x9b54
inc dword [ebp - 0x14]
in al, dx
cmp dword [ebp - 0x14], 2
jl 0x10010a0c
mov dword [ebp - 0x14], ebx
jmp 0x10011140
mov dword [ebp - 0x2c], 0xe01
cmp dword [ebp - 0x2c], 0x1c94
jle 0x10010b3b
dec esp
pop eax
test bl, cl
inc ebx
jmp 0x10010a8e
stosb byte es:[edi], al
jmp 0x9a426ff2
outsd dx, dword [esi]
ret 0xa970
mov dword [ebp - 0x20], 0x202d95c7
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0xc], ebx
jmp 0x10010b58
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 8], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x10010b4e
mov dword [ebp - 8], ebx
jmp 0x10010d9e
mov dword [ebp - 0x2c], 0x5fe
cmp dword [ebp - 0x2c], 0x1650
jle 0x10010bca
and eax, 0x375f80c1
mov dword ss:[ebx], edi
invalid
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x702
cmp dword [ebp - 0x2c], 0x2465
jle 0x10010cc4
loopne 0x10010c2f
inc dword [edi - 0x6140c48b]
mov esi, 0x57eb2b53
adc dh, byte [edx + 0x144409ae]
or al, 0xa0
popal
and eax, 0x2397c63f
call 0xa2842622
sal ebp, cl
pushal
or ecx, esi
mov edi, 0x1209b37e
dec esp
push es
call 0x15606672
adc eax, 0x22f51549
cmc
salc
mov al, byte [0xc2a3c569]
fisttp dword gs:[edx + edi*4 - 0x50]
add al, 0xe4
movsd dword es:[edi], dword [esi]
fldcw word [ebx - 0xc0ca398]
or dword [edi], esp
stosd dword es:[edi], eax
push 0x9f3f35c
daa
mov ch, 0xef
add ax, 0x195b
div dword [ebx + 0x61]
pushfd
sar dword [esi - 0xc], cl
dec ebx
cmp al, 0xce
daa
inc ebx
adc al, 0x54
fadd dword [edi + 0x22ac71d5]
pop es
mov ah, byte [edx - 0x5d67422]
sahf
cmpsb byte [esi], byte es:[edi]
cmpsd dword [esi], dword es:[edi]
dec ebp
call 0x55608c42
jp 0x10010c08
jb 0x10010ce1
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
retf
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], 0x8df
cmp dword [ebp - 0x2c], 0x1674
jle 0x10010d1c
inc ecx
mov dword [0x9c65ef3d], eax
invalid
dec ecx
or cl, byte [ecx + 7]
mov ch, 0x82
jp 0x10010cda
cli
pop ds
inc edx
into
call 0xadc71911
add bh, ah
invalid
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov ecx, 0x9c9b29b2
setne dl
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
sub ecx, eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
setle cl
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
sub ecx, 0x442e1191
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x10010d83
cmp dword [ebp - 8], ebx
jne 0x10010d8a
mov ecx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10010d8c
mov ecx, edi
mov eax, dword [ebp - 0x40]
sub ecx, eax
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x10010b65
mov dword [ebp - 0x2c], 0xdaa
cmp dword [ebp - 0x2c], 0x1a81
jle 0x10010e6f
in al, dx
mov cl, 0x97
call 0x24450311
add byte [ecx - 0x77e53263], bl
push cs
int1
xchg ebx, eax
cmp dl, byte [ebp + 0x59]
sbb bl, byte [eax - 0x47dcacbb]
fild qword [ebx]
mov ah, 0x5a
inc ebp
sti
push edi
xchg ecx, eax
xchg esp, eax
into
cdq
mov dword [0x2d4354b0], eax
and byte [ebp + 0x1df5a415], ch
fisttp qword [ebx + 0x4e471b19]
fcomp dword [edi + ebp*8]
inc ebx
invalid
mov al, byte [0x7fe4e6b8]
int3
mov eax, dword [ebp - 0x24]
mov ecx, edi
sub ecx, eax
xor edx, edx
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0x4ca72cb5
sete al
imul eax, dword [ebp - 0x10]
test eax, eax
je 0x10010f00
mov dword [ebp - 0x2c], 0xf44
cmp dword [ebp - 0x2c], 0x1450
jle 0x10010eec
js 0x10010e51
mov dh, 0x81
bound ecx, qword [edx]
adc eax, dword [ecx + 0x4a]
mov ebp, dword [edx + 0x6db814a3]
lcall 0xd705, 0xef1fcb4c
insb byte es:[edi], dx
out 0x6e, eax
invalid
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
jmp 0x1001113d
add al, byte [eax]
add bh, al
inc ebp
aam 1
adc byte [eax], al
add byte [ecx + 0x24e4d47d], al
add byte [eax], al
mov dword [ebp - 0x2c], 0x1001
cmp dword [ebp - 0x2c], 0x24e4
jle 0x10010f60
inc ecx
out 0x2c, al
and cl, dl
jns 0x10010eb0
mov al, byte [0xcbf223fb]
mov bl, 0x9a
movsb byte es:[edi], byte [esi]
test eax, 0x3a1304e9
shr byte [ebp], cl
adc eax, 0x5e626dc7
pop esp
das
mov bh, 0x92
test al, 0x31
cli
xchg edx, eax
or dword [ecx - 0x40], edx
jnp 0x10010efd
sti
in eax, 0x8b
pop esi
scasb al, byte es:[edi]
mov al, 0xa0
ja 0x10010f27
lea ecx, [edi - 0x6b]
arpl word [edi], cx
stosb byte es:[edi], al
imul byte [esi - 0x7bf32077]
movsd dword es:[edi], dword [esi]
out 0xd9, eax
mov edi, 0x5530535b
and eax, 0x19a4a02b
dec eax
cld
push cs
cmp al, 0x10
mov dword [ebp - 0x1c], 0xed40
mov dword [ebp - 0x2c], 0xd6a
cmp dword [ebp - 0x2c], 0x2170
jle 0x10011025
dec esp
pushfd
shl byte [eax - 0x6ea55ca5], cl
push edx
sbb ebx, eax
cmp dh, byte [edi - 0x70]
hlt
mov dword [ebp - 0x10], ebx
jmp 0x10011131
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], 0x8456a9e5
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x1001112e
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
inc dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0xf04
cmp dword [ebp - 0x20], 0x1822
jle 0x100110a7
mov bl, 0x61
sbb ah, al
xor al, 0
sbb al, 0x30
mov dl, 0x91
lds edx, [edi + 0x33]
push eax
mov esp, 0x9b2779d6
sub byte [eax + 0x709a7eac], bh
lds ebp, [ebx]
mov esi, 0x281fcf0c
jg 0x1001108c
pop eax
mov dword [esi - 0x1e], 0xf53f1b8c
inc edx
scasb al, byte es:[edi]
xchg ebx, eax
jae 0x10011109
ret 0xe2d
sub eax, 0x6bec9c0e
inc ebx
dec ecx
add cl, byte [edx]
pushfd
dec esp
ret
cmp dword [ebp - 0x28], ebx
jne 0x100110b6
mov eax, dword [ebp - 8]
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
jmp 0x100110b8
mov ecx, edi
xor eax, eax
cmp ecx, 0x406
setge al
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 8]
cmp edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp ecx, edi
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, 0x214
add byte [eax], al
setl cl
imul ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
add ecx, 0x8a74
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0xc]
jns 0x10011043
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1001102d
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1a
je 0x10010a28
mov dword [ebp - 0x38], 0x42d
cmp dword [ebp - 0x38], 0x219a
jle 0x100111f4
andnps xmm6, xmm7
sahf
xchg edi, eax
ret 0x4350
mov eax, esi
mov dword [ebp - 0x38], 0x9eb
cdq
mov ecx, 0x726
idiv ecx
cmp dword [ebp - 0x38], 0x1be9
mov esi, eax
jle 0x100112eb
pushfd
enter 0xffffffffffff8a33, 0xffffffffffffffec
clc
in al, dx
dec ebp
mov ah, 0x48
inc ebx
test dword [ebx + 0x29], ecx
or cl, bh
xor eax, dword [ebx + 5]
mov ah, dl
lahf
adc dword [edx], ebx
xor ecx, dword [ebx + esi*8 + 0x4a]
jns 0x10011239
dec ecx
stosd dword es:[edi], eax
pop ds
fidivr word [edi + 0x76]
dec edi
ljmp 0x8285
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x38], 0xa65
cmp dword [ebp - 0x38], 0x1a5d
jle 0x1001135d
popal
invalid
mov dword [ebp - 0x30], 0x5116
mov dword [ebp - 0x38], 0x3cb
cmp dword [ebp - 0x38], 0x1bf1
jle 0x1001142c
and ah, dh
or byte [esi*8 - 0x5c321382], 0xd6
sbb dword [edx + 0x2cbac651], edx
push eax
mov al, byte [0x720dbb2]
and ecx, dword [edi - 0x34]
push esp
in al, 0x6d
pushal
or al, 0xa2
dec esp
jmp 0xde89a15c
mov dword [ebp - 0x1c], ebx
jmp 0x1001143f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x18], 0x1713b910
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10011431
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x10011a9f
mov dword [ebp - 0xc], 0xe1b1b55
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp - 0x10]
cmp eax, 0x60a4
setle cl
cmp ecx, 0xec0351a9
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x26a0
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x18]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setg cl
cmp ecx, dword [ebp + eax*4 - 0x18]
jge 0x100115ec
mov dword [ebp - 0x38], 0x83a
cmp dword [ebp - 0x38], 0x199c
jle 0x10011548
inc ecx
cmpsb byte [esi], byte es:[edi]
push esp
and eax, 0x3007c9ec
loope 0x100114de
nop
retf 0xb3bf
dec ebx
fldenv [ecx - 0x433547a2]
iretd
mov dword [ebp - 0xc], ebx
jmp 0x100115dd
mov dword [ebp - 0x38], 0xdfb
cmp dword [ebp - 0x38], 0x21a4
jle 0x100115ce
ret 0xda60
lea eax, [ebp - 0x30]
push ebx
push eax
call fcn.10015c0a
dec dword [ebp - 0xc]
pop ecx
pop ecx
cmp dword [ebp - 0xc], 0xffffffe3
jge 0x10011550
jmp 0x100118a4
mov dword [ebp - 0x38], 0xf2e
cmp dword [ebp - 0x38], 0x143a
jle 0x10011674
cdq
salc
sbb ax, 0x68b
jle 0x10011649
movsb byte es:[edi], byte [esi]
mov eax, dword [0xda42b418]
jmp 0xcb51b564
mov edx, 0xfeffd821
retf 0x96d
mov byte [ebp - 1], bl
mov dword [ebp - 0x38], 0xb3b
cmp dword [ebp - 0x38], 0x14f6
jle 0x1001172b
call [esi + 0x59]
xor esi, dword [0xd5a5dd88]
movntps xmmword [esi], xmm4
int1
popfd
cwde
dec esp
mov bl, 0x8e
invalid
les ecx, cs:[eax]
lodsb al, byte [esi]
mov dword [0xc90f5316], eax
or al, 0x85
ljmp 0x456f
cmp byte [ebp - 1], 0
je 0x1001183c
mov dword [ebp - 0x38], 0x58d
cmp dword [ebp - 0x38], 0x1411
jle 0x1001182f
push ebx
jecxz 0x10011704
pop esp
mov dl, 0xd3
push edx
adc ecx, dword [edi + 0x70]
jo 0x100117be
int 0x58
scasb al, byte es:[edi]
movsd dword es:[edi], dword [esi]
adc eax, 0x61134526
mov al, byte [0x35261cbd]
mov bl, 0xad
inc esp
xchg edi, eax
iretd
pop ebx
div dword [eax]
inc eax
dec esi
sahf
jp 0x100117e1
sbb esp, dword [ebx]
dec ebp
mov bl, 0xf0
adc edx, dword [ecx + 0x4e]
mov dh, 0x58
sub eax, 0x8ba2e1f2
stosw word es:[edi], ax
lodsd eax, dword [esi]
xlatb
leave
invalid
test byte [esi], ah
push ss
push es
fsub qword [edx + 0x7d]
jbe 0x1001176e
inc ebx
ljmp 0x4187
sbb al, 0xfb
lodsb al, byte [esi]
add ah, byte [bp + si + 0x27ef]
adc dword [edi + 0x6b], 0x36209201
fiadd dword [ebx]
cli
inc esp
ja 0x10011875
sub bl, byte [edi + 0x742dc177]
xchg ecx, eax
invalid
push ebx
push 0xf0b
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
adc bh, al
inc ebp
enter 0xfdd, 0
add byte [ecx + 0x1631c87d], al
add byte [eax], al
mov dword [ebp - 0x38], 0xfdd
cmp dword [ebp - 0x38], 0x1631
jle 0x10011892
jbe 0x1001183b
lds ebx, [ebx + 0x67]
xchg byte [ecx], ah
mov ecx, 0xa96f3a1f
and eax, 0x512afe7c
sub ch, byte [ebx - 0x55]
stosd dword es:[edi], eax
adc dword [ebx + 0x4cf3182c], esp
js 0x1001185f
dec esp
adc ebx, edx
mov cl, 0x41
mov edi, 0x1ece63b3
loope 0x10011860
mov ch, 0x6b
mov ch, 0x6b
invalid
lea eax, [ebp - 0x30]
push eax
push ebx
push 0x62a0
call fcn.10014e88
add esp, 0xc
mov dword [ebp - 0x38], 0xd0c
cmp dword [ebp - 0x38], 0x1c08
jle 0x1001194e
invalid
mov dword [ebp - 0xc], 0xffffffe9
jmp 0x10011a8c
mov dword [ebp - 0x38], 0x528
cmp dword [ebp - 0x38], 0x18ef
jle 0x10011a6d
dec edi
push ss
test al, 0x87
or bl, cl
mov ebx, 0xce19ee43
dec ebp
mov dl, 0x67
jecxz 0x100119da
mov al, byte [0x1cc9f6d7]
pushal
fstp st(2)
and dh, cl
iretd
wait
out dx, eax
xor cl, cl
loope 0x10011970
fiadd dword [edi]
dec edx
loope 0x10011a5d
retf 0x6600
sahf
or dh, byte [eax - 0xd8603bd]
or byte [ebx + edx*2 + 0x1728b8b9], ch
add dword [edi + 0x7ec845c7], 0x8b8d7d2a
inc ebp
invalid
mov dword [ebp - 0x38], 0x8d7d2a7e
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x18], ebx
jne 0x10011a84
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x10011a86
mov eax, edi
mov dword [ebp - 0x38], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffd
jne 0x1001195a
dec dword [ebp - 0x10]
jns 0x10011450
mov dword [ebp - 0x38], 0x3f6
lea eax, [esi - 0xc]
cmp dword [ebp - 0x38], 0x1ab1
jle 0x10011b97
and dword [esi], esi
dec esi
int3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret