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

Disassembly:
mov edx, dword [ebp - 0x878]
add edx, 1
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x878]
cmp ecx, dword [eax + 0x18]
jae 0x10015cda
mov edx, dword [ebp - 0x878]
mov eax, dword [ebp - 0x2894]
mov ecx, dword [ebp - 0x428]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x878]
mov eax, dword [ebp - 0x2898]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x289c]
mov eax, dword [ebp - 0x428]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x28a0], eax
mov dword [ebp - 0x1d8], 0
jmp 0x10015b3e
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x87c]
add edx, dword [ebp - 0x1d8]
movsx eax, byte [edx]
test eax, eax
je 0x10015bf0
mov ecx, dword [ebp - 0x1d8]
movsx edx, byte [ebp + ecx - 0xb0c]
test edx, edx
je 0x10015bf0
push ecx
call 0x10015b7c
add byte [edi + 0x32], cl
cmp eax, 0x43323d3a
xor eax, 0x4c4833c
call 0x10015b8d
add byte [esp + esi + 0x3c], al
inc esp
xor al, 0x3c
inc ebp
xor eax, 0x83484747
les eax, [ecx + eax*4]
int1
jg 0x10015b85
add byte [eax], al
add ecx, 0x97db
pop ecx
mov eax, dword [ebp - 0x87c]
add eax, dword [ebp - 0x1d8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1d8]
movsx eax, byte [ebp + edx - 0xb0c]
cmp ecx, eax
je 0x10015be2
mov ecx, dword [ebp - 0x87c]
add ecx, dword [ebp - 0x1d8]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1d8]
movsx ecx, byte [ebp + eax - 0xb0c]
cmp edx, ecx
jne 0x10015be9
jmp 0x10015b2f
jmp 0x10015bf0
push esi
add esi, 0x15cdc
and esi, 0xf9e9
xor esi, 0xdb2c
pop esi
push eax
push ebx
add esp, 4
and eax, 0xbb4a
and eax, 0x81fb
xor eax, 0xd170
xor eax, 0x24a4
pop eax
mov edx, dword [ebp - 0x87c]
add edx, dword [ebp - 0x1d8]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d8]
movsx edx, byte [ebp + ecx - 0xb0c]
cmp eax, edx
jne 0x10015c4f
mov dword [ebp - 0xea8], 0
jmp 0x10015cbe
push ecx
push ebx
add esp, 4
sub ecx, 0xb9dc
add ecx, 0x3067
xor ecx, 0x1356b
or ecx, 0x5b07
pop ecx
push ecx
xor ecx, 0x7f58
or ecx, 0x10fef
or ecx, 0xe91d
pop ecx
mov eax, dword [ebp - 0x87c]
add eax, dword [ebp - 0x1d8]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1d8]
movsx eax, byte [ebp + edx - 0xb0c]
or eax, 0x20
cmp ecx, eax
jge 0x10015cb4
mov dword [ebp - 0xea8], 0xffffffff
jmp 0x10015cbe
mov dword [ebp - 0xea8], 1
cmp dword [ebp - 0xea8], 0
jne 0x10015cd5
mov ecx, dword [ebp - 0x28a0]
mov dword [ebp - 0x48c], ecx
jmp 0x10015ce6
jmp 0x10015abf
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x48c], edx
cmp dword [ebp - 0x48c], 0
je 0x10015dc1
push esi
push edi
add esp, 4
and esi, 0x99ee
xor esi, 0x18474
pop esi
push edx
xor edx, 0xebe0
and edx, 0x80fc
pop edx
push edi
push edx
add esp, 4
sub edi, 0x8e1b
xor edi, 0x1235d
pop edi
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x28a4], eax
push esi
add esi, 0x12732
or esi, 0x15323
pop esi
push edx
push esi
add esp, 4
add edx, 0x124fc
pop edx
push ebx
push esi
add esp, 4
sub ebx, 0x61a6
add ebx, 0x1813d
or ebx, 0x163ed
pop ebx
mov ecx, dword [ebp - 0x28a4]
mov dword [ebp - 0x28a8], ecx
lea edx, [ebp - 0x1a68]
push edx
call dword [ebp - 0x28a8]
test eax, eax
jne 0x10015dc1
push ebx
push eax
add esp, 4
and ebx, 0x5cb4
sub ebx, 0x15d0d
pop ebx
push esi
push edi
add esp, 4
sub esi, 0x155ce
add esi, 0x6a3d
pop esi
push esi
add esi, 0x4598
jmp 0x10015db1
pop esi
mov dword [ebp - 0x8bc], 0
jmp 0x100164c0
push ebx
push ecx
add esp, 4
add ebx, 0x2bc2
pop ebx
push eax
push eax
add esp, 4
xor eax, 0xf9a5
and eax, 0x1458c
and eax, 0x16fb3
xor eax, 0x12328
pop eax
push ecx
and ecx, 0x8ac6
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x28ac], eax
mov ecx, dword [ebp - 0x28ac]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x28cc], edx
mov eax, dword [ebp - 0x28cc]
mov dword [ebp - 0x1910], eax
push eax
push ebx
add esp, 4
jmp 0x10015e27
push es
sub eax, 0x13b14
xor eax, 0xf35e
xor eax, 0xd1fa
pop eax
push eax
push esi
add esp, 4
or eax, 0x7101
xor eax, 0x10629
pop eax
cmp dword [ebp - 0x1910], 0
jne 0x10015e64
mov dword [ebp - 0x398], 0
jmp 0x10016120
mov ecx, dword [ebp - 0x1910]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xeb4], eax
push edi
push esi
add esp, 4
sub edi, 0x14db0
or edi, 0x27a
call 0x10015e95
add byte [eax + 0x40], cl
cmp cl, byte [eax + 0x42]
cmp al, 0x46
dec ebx
add esp, 4
call 0x10015ea4
add byte [0x46354145], dh
cmp eax, dword [ebx - 0x7ca0fb3c]
mov ebp, 0xfffff14c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x398], 0
jmp 0x10016120
push edx
push esi
add esp, 4
or edx, 0x17606
pop edx
push edx
push edi
add esp, 4
xor edx, 0x1d93
pop edx
push ecx
sub ecx, 0x5b55
or ecx, 0xbe97
sub ecx, 0x9b52
xor ecx, 0x6368
pop ecx
mov eax, dword [ebp - 0x398]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x3ac], ecx
push esi
call 0x1001616e
add byte [eax + 0x48], al
dec ecx
dec eax
aas
xor eax, dword [ebx + 0x7eb04c4]
inc eax
cmp dword [edx], edi
cmp esi, dword [edi]
inc ecx
push eax
pop esi
push edi
push eax
add esp, 4
sub edi, 0xc3
or edi, 0xcc07
sub edi, 0x156fa
pop edi
mov dword [ebp - 0x890], 0
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x191c], edx
cmp dword [ebp - 0x191c], 0
jne 0x100161c3
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], eax
jmp 0x100164b4
add al, byte [eax]
invalid
mov ecx, dword [ebp - 0x191c]
mov edx, dword [ebp - 0x3ac]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1920], edx
jne 0x100161eb
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], eax
jmp 0x100164b4
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1920]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1924], ecx
cmp dword [ebp - 0x1924], 0
jne 0x1001621d
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], edx
jmp 0x100164b4
mov eax, dword [ebp - 0x3ac]
add eax, dword [ebp - 0x1924]
mov dword [ebp - 0x884], eax
jne 0x10016242
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], ecx
jmp 0x100164b4
mov edx, dword [ebp - 0x884]
mov eax, dword [ebp - 0x3ac]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x28d0], eax
mov ecx, dword [ebp - 0x884]
mov edx, dword [ebp - 0x3ac]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x28d4], edx
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x3ac]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x28d8], ecx
mov dword [ebp - 0x888], 0
jmp 0x1001629c
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x888]
cmp ecx, dword [eax + 0x18]
jae 0x100164a8
mov edx, dword [ebp - 0x888]
mov eax, dword [ebp - 0x28d0]
mov ecx, dword [ebp - 0x3ac]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x888]
mov eax, dword [ebp - 0x28d4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x28d8]
mov eax, dword [ebp - 0x3ac]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x2138], eax
mov dword [ebp - 0x1dc], 0
jmp 0x1001630c
mov ecx, dword [ebp - 0x1dc]
add ecx, 1
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x1dc]
movsx eax, byte [edx]
test eax, eax
je 0x100163be
mov ecx, dword [ebp - 0x1dc]
movsx edx, byte [ebp + ecx - 0x9c0]
test edx, edx
je 0x100163be
push eax
call 0x10016346
add byte [eax + 0x43], dl
inc edx
aas
xor eax, 0x4c4833c
sub eax, 0x1604
call 0x1001635e
add byte [ecx], bh
dec ebx
dec esp
dec edx
dec esi
cmp dword [edi + 0x32], ecx
cmp al, 0x83
les eax, [ebx + ebp*8]
pop es
aas
dec edi
xor edi, dword [edi + eax*2]
xor dh, byte [eax + ebx*2]
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x1dc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1dc]
movsx eax, byte [ebp + edx - 0x9c0]
cmp ecx, eax
je 0x100163b0
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x1dc]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1dc]
movsx ecx, byte [ebp + eax - 0x9c0]
cmp edx, ecx
jne 0x100163b7
jmp 0x100162fd
jmp 0x100163be
push edx
push edx
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x8bc], eax