Function at 0x1000889c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [ebp - 0x8b4]
add ecx, 1
mov dword [ebp - 0x8b4], ecx
mov edx, dword [ebp - 0x8b0]
mov eax, dword [ebp - 0x8b4]
cmp eax, dword [edx + 0x18]
jae 0x100086e3
mov ecx, dword [ebp - 0x8b4]
mov edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b4]
mov edx, dword [ebp - 0x1fb4]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1fb8]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1fbc], edx
mov dword [ebp - 0x1ec], 0
jmp 0x10008547
mov eax, dword [ebp - 0x1ec]
add eax, 1
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x8b8]
add ecx, dword [ebp - 0x1ec]
movsx edx, byte [ecx]
test edx, edx
je 0x100085f9
mov eax, dword [ebp - 0x1ec]
movsx ecx, byte [ebp + eax - 0xb14]
test ecx, ecx
je 0x100085f9
push eax
and eax, 0x7f81
xor eax, 0x13585
pop eax
push eax
jmp 0x1000858a
add eax, 0x12ae1
and eax, 0xf258
call 0x100085a2
add byte [ebx + 0x42], cl
cmp esi, dword [ecx + eax*2]
cmp byte [ebx - 0x74a7fb3c], al
xchg ebp, eax
dec eax
idiv edi
inc dword [ebx]
xchg ebp, eax
adc al, 0xfe
invalid
dec dword [edi]
mov esi, 0x20f18308
mov edx, dword [ebp - 0x1ec]
movsx eax, byte [ebp + edx - 0xb14]
cmp ecx, eax
jne 0x100085f2
jmp 0x10008538
jmp 0x100085f9
push edi
add edi, 0x13748
pop edi
push eax
push eax
add esp, 4
call 0x10008613
add byte [edi + 0x50], al
xor dh, byte [esi]
dec edx
inc ecx
inc edx
add esp, 4
sub eax, 0xa57f
pop eax
push edx
xor edx, 0x1806d
xor edx, 0xe034
pop edx
mov ecx, dword [ebp - 0x8b8]
add ecx, dword [ebp - 0x1ec]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movsx ecx, byte [ebp + eax - 0xb14]
cmp edx, ecx
jne 0x10008658
mov dword [ebp - 0xeec], 0
jmp 0x100086c7
push eax
push edi
add esp, 4
add eax, 0x552d
and eax, 0x1454d
jmp 0x1000866f
pop eax
push edi
push edx
add esp, 4
xor edi, 0x585d
pop edi
push ecx
add ecx, 0x2681
or ecx, 0xe187
pop ecx
mov edx, dword [ebp - 0x8b8]
add edx, dword [ebp - 0x1ec]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1ec]
movsx edx, byte [ebp + ecx - 0xb14]
or edx, 0x20
cmp eax, edx
jge 0x100086bd
mov dword [ebp - 0xeec], 0xffffffff
jmp 0x100086c7
mov dword [ebp - 0xeec], 1
cmp dword [ebp - 0xeec], 0
jne 0x100086de
mov eax, dword [ebp - 0x1fbc]
mov dword [ebp - 0x48c], eax
jmp 0x100086ef
jmp 0x100084c8
mov ecx, dword [ebp - 0x8bc]
mov dword [ebp - 0x48c], ecx
cmp dword [ebp - 0x48c], 0
je 0x100087ca
push esi
push ecx
add esp, 4
or esi, 0xc186
call 0x10008713
add byte [esi + 0x39], cl
dec esi
dec eax
cmp al, 0x44
add esp, 4
and esi, 0x1086b
pop esi
push edi
add edi, 0x11663
pop edi
push edx
jmp 0x1000872d
pop edx
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x1fc0], edx
push ecx
push edi
add esp, 4
and ecx, 0xfa49
call 0x10008752
add byte [ebx], dh
dec esp
dec ebp
xor cl, byte [edx + 0x4f]
cmp eax, 0x5904c483
push eax
xor eax, 0x1499c
jmp 0x10008765
xor eax, 0xe504
pop eax
mov eax, dword [ebp - 0x1fc0]
mov dword [ebp - 0x1fc4], eax
lea ecx, [ebp - 0x1a84]
push ecx
call dword [ebp - 0x1fc4]
test eax, eax
jne 0x100087ca
push ebx
push esi
add esp, 4
add ebx, 0x23b7
pop ebx
push edi
push edx
add esp, 4
add edi, 0x9125
xor edi, 0x3cd4
or edi, 0x12ef8
or edi, 0x81ae
pop edi
push edx
sub edx, 0x2782
pop edx
mov dword [ebp - 0xc18], 0
jmp 0x10008eca
push edi
or edi, 0x171c1
or edi, 0x9bd0
pop edi
push ebx
sub ebx, 0x11be2
add ebx, 0xa186
add ebx, 0x42db
call 0x100087f8
add byte [eax + 0x41], cl
inc edi
dec esp
cmp byte [ecx + 0x42], cl
add esp, 4
pop ebx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1fc8], edx
mov eax, dword [ebp - 0x1fc8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1fcc], ecx
mov edx, dword [ebp - 0x1fcc]
mov dword [ebp - 0x19a4], edx
push eax
sub eax, 0xa812
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0xa917
and ebx, 0x139c
pop ebx
push esi
push ebx
add esp, 4
and esi, 0x4359
add esi, 0xf867
jmp 0x10008855
pop esi
cmp dword [ebp - 0x19a4], 0
jne 0x1000886e
mov dword [ebp - 0x37c], 0
jmp 0x10008b2a
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xef8], edx
push esi
push ecx
add esp, 4
jmp 0x1000888c
call 0x1000889c
add byte [esi], bh
xor al, 0x37
inc esi
inc edx
inc esp
dec esi
inc esi
xor eax, 0x8104c483
mov byte [esi], 0xd
add byte [eax], al
pop esi
push ebx
push eax
add esp, 4
and ebx, 0x16303
pop ebx
cmp dword [ebp - 0xef8], 0
jne 0x100088ca
mov dword [ebp - 0x37c], 0
jmp 0x10008b2a
mov eax, dword [ebp - 0xef8]
mov dword [ebp - 0x5e8], eax
push ecx
or ecx, 0x82da
xor ecx, 0xf46b
call 0x100088f0
add byte [esi + 0x47], al
cmp eax, 0x4a403f49
add esp, 4
pop ecx
push ebx
jmp 0x100088fa
pop ebx
push eax
push ecx
add esp, 4
jmp 0x10008907
pop eax
lea ecx, [ebp - 0x1a84]
mov dword [ebp - 0xef4], ecx
mov edx, dword [ebp - 0x5e8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xef0], eax
xor ecx, ecx
mov word [ebp - 0x284], cx
xor edx, edx
mov word [ebp - 0x14c], dx
push esi
xor esi, 0x31c5
and esi, 0x471f
add esi, 0xe57
pop esi
push ecx
xor ecx, 0x12226
and ecx, 0x12edc
jmp 0x1000895d
jmp 0x10008966
pop ecx
mov eax, dword [ebp - 0xef0]
mov cx, word [eax]
mov word [ebp - 0x12da], cx
mov edx, dword [ebp - 0xef0]
add edx, 2
mov dword [ebp - 0xef0], edx
mov ax, word [ebp - 0x12da]
mov word [ebp - 0x284], ax
mov ecx, dword [ebp - 0xef4]
mov dx, word [ecx]
mov word [ebp - 0x12dc], dx
mov eax, dword [ebp - 0xef4]
add eax, 2
mov dword [ebp - 0xef4], eax
mov cx, word [ebp - 0x12dc]
mov word [ebp - 0x14c], cx
push ecx
sub ecx, 0x9003
or ecx, 0x175dc
add ecx, 0x17cdc
jmp 0x100089d9
pop ecx
push esi
and esi, 0x16b10
and esi, 0x6a51
and esi, 0x1072b
jmp 0x100089f2
pop esi
movzx edx, word [ebp - 0x14c]
test edx, edx
jne 0x10008a16
movzx eax, word [ebp - 0x284]
movzx ecx, word [ebp - 0x14c]
sub eax, ecx
mov dword [ebp - 0x19b0], eax
jmp 0x10008a79
movzx edx, word [ebp - 0x284]
movzx eax, word [ebp - 0x14c]
cmp edx, eax
je 0x10008935
movzx ecx, word [ebp - 0x284]
xor ecx, 0x20
movzx edx, word [ebp - 0x14c]
cmp ecx, edx
je 0x10008935
movzx eax, word [ebp - 0x284]
movzx ecx, word [ebp - 0x14c]
cmp eax, ecx
jge 0x10008a63
mov dword [ebp - 0x19ac], 0xffffffff
jmp 0x10008a6d
mov dword [ebp - 0x19ac], 1
mov edx, dword [ebp - 0x19ac]
mov dword [ebp - 0x19b0], edx
cmp dword [ebp - 0x19b0], 0
jne 0x10008ac2
push ecx
push eax
add esp, 4
call 0x10008a95
add byte [ebx], dh
inc ebx
dec edx
inc ebp
inc esp
dec ecx
dec esi
dec esi
add esp, 4
xor ecx, 0xcff0
or ecx, 0x88e2
call 0x10008ab0
add byte [ebx], bh
cmp dword [esi + 0x4f], ecx
dec esi
xor al, 0x83
les eax, [ecx + ebx*2]
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x37c], eax
jmp 0x10008b2a
push edx
push edx
add esp, 4
call 0x10008ad3
add byte [eax + 0x39], cl
cmp cl, byte [ebx + ecx*2 + 0x38]
add esp, 4
add edx, 0x17461
or edx, 0xfb05
jmp 0x10008aeb
pop edx
push ecx
sub ecx, 0x155f8
pop ecx
mov ecx, dword [ebp - 0x5e8]
mov edx, dword [ecx]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x5e8]
cmp eax, dword [ebp - 0xef8]
je 0x10008b20
mov ecx, dword [ebp - 0x5e8]
cmp dword [ecx + 0x30], 0
jne 0x100088d6
mov dword [ebp - 0x37c], 0
push edx
push ebx
add esp, 4
sub edx, 0x172f8
xor edx, 0x8ada
pop edx
push edi
push edi
add esp, 4
sub edi, 0x46cb
sub edi, 0x87e7
pop edi
push ebx
sub ebx, 0xd3b5
sub ebx, 0x15bc1
pop ebx
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x3cc], eax
push edx
and edx, 0x16948
and edx, 0x12a59
pop edx
push edi
push ebx
add esp, 4
jmp 0x10008b87
pop edi
push eax
jmp 0x10008b90
sub eax, 0x28e4
sub eax, 0x165e5
pop eax
mov dword [ebp - 0x8cc], 0
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x19b4], ecx
cmp dword [ebp - 0x19b4], 0
jne 0x10008bcd
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x5ec], edx
jmp 0x10008ebe
mov eax, dword [ebp - 0x19b4]
mov ecx, dword [ebp - 0x3cc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x19b8], ecx
jne 0x10008bf5
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x5ec], edx
jmp 0x10008ebe
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x19b8]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x19bc], eax
cmp dword [ebp - 0x19bc], 0
jne 0x10008c27
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x5ec], ecx
jmp 0x10008ebe
mov edx, dword [ebp - 0x3cc]
add edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x8c0], edx
jne 0x10008c4c
mov eax, dword [ebp - 0x8cc]
mov dword [ebp - 0x5ec], eax
jmp 0x10008ebe
mov ecx, dword [ebp - 0x8c0]
mov edx, dword [ebp - 0x3cc]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1fd0], edx
mov eax, dword [ebp - 0x8c0]
mov ecx, dword [ebp - 0x3cc]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1fd4], ecx
mov edx, dword [ebp - 0x8c0]
mov eax, dword [ebp - 0x3cc]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1fd8], eax
mov dword [ebp - 0x8c4], 0
jmp 0x10008ca6
mov ecx, dword [ebp - 0x8c4]
add ecx, 1
mov dword [ebp - 0x8c4], ecx
mov edx, dword [ebp - 0x8c0]
mov eax, dword [ebp - 0x8c4]
cmp eax, dword [edx + 0x18]
jae 0x10008eb2
mov ecx, dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x1fd0]
mov eax, dword [ebp - 0x3cc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x8c8], eax
mov ecx, dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x1fd4]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1fd8]
mov edx, dword [ebp - 0x3cc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1fdc], edx
mov dword [ebp - 0x1f0], 0
jmp 0x10008d16
mov eax, dword [ebp - 0x1f0]
add eax, 1
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x8c8]
add ecx, dword [ebp - 0x1f0]
movsx edx, byte [ecx]
test edx, edx
je 0x10008dc8
mov eax, dword [ebp - 0x1f0]
movsx ecx, byte [ebp + eax - 0xb74]
test ecx, ecx
je 0x10008dc8
push eax
xor eax, 0xa996
sub eax, 0x14062
or eax, 0x147af
pop eax
push ebx
push edi
add esp, 4
sub ebx, 0xf619
jmp 0x10008d6b
jmp 0x10008d74
pop ebx
mov edx, dword [ebp - 0x8c8]
add edx, dword [ebp - 0x1f0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1f0]
movsx edx, byte [ebp + ecx - 0xb74]
cmp eax, edx
je 0x10008dba
mov eax, dword [ebp - 0x8c8]
add eax, dword [ebp - 0x1f0]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1f0]
movsx eax, byte [ebp + edx - 0xb74]
cmp ecx, eax
jne 0x10008dc1
jmp 0x10008d07
jmp 0x10008dc8
push eax
or eax, 0x7178
pop eax
push eax
push edi
add esp, 4
xor eax, 0x1509d
pop eax
push esi
jmp 0x10008de5
xor esi, 0x158a6
add esi, 0x9a
pop esi
push esi
add esi, 0xa4ed
pop esi
mov ecx, dword [ebp - 0x8c8]
add ecx, dword [ebp - 0x1f0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1f0]
movsx ecx, byte [ebp + eax - 0xb74]
cmp edx, ecx
jne 0x10008e27
mov dword [ebp - 0xefc], 0
jmp 0x10008e96
push edi
sub edi, 0xbddf
jmp 0x10008e34
add edi, 0x3f37
pop edi
push eax
push edi
add esp, 4
add eax, 0x11c90
xor eax, 0x1148b
or eax, 0x6049
add eax, 0x10b81
pop eax
mov edx, dword [ebp - 0x8c8]
add edx, dword [ebp - 0x1f0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1f0]
movsx edx, byte [ebp + ecx - 0xb74]
or edx, 0x20
cmp eax, edx
jge 0x10008e8c
mov dword [ebp - 0xefc], 0xffffffff
jmp 0x10008e96
mov dword [ebp - 0xefc], 1
cmp dword [ebp - 0xefc], 0
jne 0x10008ead
mov eax, dword [ebp - 0x1fdc]
mov dword [ebp - 0x5ec], eax
jmp 0x10008ebe
jmp 0x10008c97
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0xc18], edx
push esi
sub esi, 0x8f69
or esi, 0x123a
or esi, 0x1340
pop esi
push edx
push ebx
add esp, 4
or edx, 0xae1
or edx, 0x155a4
and edx, 0x28e6
or edx, 0x24f9
pop edx
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0x1fe0], eax
lea ecx, [ebp - 0xf00]
push ecx
push 0x40
mov edx, dword [ebp - 0x19c0]
push edx
mov eax, dword [ebp - 0x490]
push eax
call dword [ebp - 0x1fe0]
test eax, eax
jne 0x10008f6f
push eax
or eax, 0x83f9
jmp 0x10008f39
pop eax
push edx
or edx, 0x627f
add edx, 0x1686a
jmp 0x10008f4c
and edx, 0xf39a
pop edx
push ecx
and ecx, 0xc487
pop ecx
invalid
lea ebp, [edi + esi*8]
invalid