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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
xor eax, 1
add eax, 2
jne 0x10001594
je 0x10001594
call 0x9304061b
rol byte [ebx + eax*4], 0xf0
add eax, 0x90559090
xor eax, 3
add eax, 4
xor eax, 5
nop
nop
push ebp
nop
mov ebp, esp
add esp, 4
add esp, 0xfffffffc
inc ecx
dec ecx
push ebx
pop ebx
nop
mov esp, ebp
nop
pop ebp
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
nop
nop
push ebp
nop
nop
mov ebp, esp
test esi, esi
test esi, esi
add esp, 4
sub esp, 4
nop
nop
mov esp, ebp
nop
pop ebp
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov ebx, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
add edi, edx
add eax, edx
mov dword [ebp - 0x18], edi
add esi, edx
mov dword [ebp - 0x14], eax
nop
nop
push ebp
nop
nop
mov ebp, esp
add esp, 9
sub esp, 9
inc ecx
dec ecx
inc ecx
dec ecx
test esi, esi
nop
mov esp, ebp
pop ebp
test ebx, ebx
mov dword [ebp - 8], ebx
jbe 0x10001725
lea esi, [esi + ebx*4]
jmp 0x10001617
mov esi, dword [ebp - 0x10]
nop
push ebp
nop
mov ebp, esp
add esp, 8
sub esp, 8
push 0xffffc58f
test esi, esi
test esi, esi
nop
nop
mov esp, ebp
nop
pop ebp
mov eax, dword [ebp - 8]
sub esi, 4
dec eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], eax
nop
nop
push ebp
nop
nop
mov ebp, esp
push ebx
pop ebx
nop
mov esp, ebp
nop
nop
pop ebp
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [esi]
nop
push ebp
mov ebp, esp
add esp, 6
add esp, 0xfffffffa
push edi
pop edi
push edi
pop edi
add esp, 2
sub esp, 2
nop
nop
mov esp, ebp
nop
pop ebp
nop
push ebp
nop
mov ebp, esp
add esp, 8
sub esp, 8
inc ecx
dec ecx
add esp, 2
sub esp, 2
mov esp, ebp
pop ebp
lea edi, [eax + edx]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], ecx
je 0x10001703
jmp 0x1000169f
mov esi, dword [ebp - 0x10]
nop
push ebp
mov ebp, esp
test esi, esi
add esp, 7
sub esp, 7
add esp, 9
sub esp, 9
mov esp, ebp
nop
nop
pop ebp
mov ecx, dword [esi]
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
add ecx, edi
xor eax, eax
mov al, byte [ecx + edx]
sub esi, eax
mov dword [ebp - 4], esi
nop
push ebp
nop
mov ebp, esp
inc ecx
dec ecx
add esp, 0xa
add esp, 0xfffffff6
add esp, 8
sub esp, 8
test esi, esi
nop
nop
mov esp, ebp
pop ebp
pushal
mov eax, dword [ebp - 4]
ror eax, 3
ror eax, 4
mov dword [ebp - 4], eax
popal
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
inc eax
cmp eax, ecx
mov dword [ebp - 0xc], eax
jb 0x1000169c
mov eax, dword [ebp - 4]
test eax, eax
je 0x1000171f
push ebp
nop
mov ebp, esp
push esi
pop esi
mov esp, ebp
nop
pop ebp
mov eax, dword [ebp - 8]
test eax, eax
ja 0x10001614
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
push ebp
nop
mov ebp, esp
inc ecx
dec ecx
inc ecx
dec ecx
test esi, esi
nop
mov esp, ebp
nop
nop
pop ebp
mov ecx, dword [ebp - 8]
test ecx, ecx
ja 0x10001745
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
nop
nop
push ebp
nop
mov ebp, esp
add esp, 0xa
add esp, 0xfffffff6
test esi, esi
nop
mov esp, ebp
nop
pop ebp
mov ax, word [eax + ecx*2]
nop
push ebp
nop
mov ebp, esp
test esi, esi
add esp, 0xa
sub esp, 0xa
add esp, 6
add esp, 0xfffffffa
nop
nop
mov esp, ebp
nop
pop ebp
and eax, 0xffff
mov eax, dword [edi + eax*4]
add eax, edx
push ebp
nop
nop
mov ebp, esp
add esp, 6
add esp, 0xfffffffa
add esp, 3
sub esp, 3
add esp, 0xa
sub esp, 0xa
mov esp, ebp
nop
nop
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret