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

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x168
push ebp
mov ebp, dword [esp + 0x178]
lea eax, [esp + 0x10]
push eax
push ecx
mov dword [ebp], 0
call fcn.100a7180
add esp, 8
test eax, eax
je 0x10059548
mov eax, 1
pop ebp
add esp, 0x168
ret
mov eax, dword [esp + 0x174]
cmp eax, dword [esp + 0x10]
push ebx
push esi
push edi
mov ebx, eax
jge case.0x10059648.2
mov edi, edi
mov eax, dword [esp + 0x17c]
lea edx, [esp + 0x24]
push edx
push ebx
push eax
call fcn.100a7160
add esp, 0xc
test eax, eax
jne 0x10059665
lea ecx, [esp + 0x110]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.100590f0
add esp, 0x1c
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x2c]
mov edi, 1
cmp eax, edi
jg case.0x10059648.2
cmp dword [esp + 0x20], edi
jg case.0x10059648.2
mov esi, dword [esp + 0x6c]
lea edx, [esp + 0x28]
push edx
push esi
call fcn.10045be0
add esp, 8
test eax, eax
jne 0x100597f5
mov edi, dword [esp + 0x60]
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10045be0
add esp, 8
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x28]
dec eax
cmp eax, 0x13
ja case.0x10059648.2
movzx ecx, byte [eax + 0x10059814]
jmp dword [ecx*4 + 0x10059804]
lea edx, [esp + 0x78]
push edx
push esi
call fcn.100956e0
add esp, 8
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 0x13
ja case.0x10059648.2
movzx eax, byte [eax + 0x10059838]
jmp dword [eax*4 + 0x10059828]
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.100956e0
add esp, 8
test eax, eax
je 0x1005971a
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x168
ret
lea edx, [esp + 0x78]
push edx
push esi
call fcn.100956e0
add esp, 8
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x14]
dec eax
je case.0x10059648.8
sub eax, 0x13
jne case.0x10059648.2
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x14]
push ecx
jmp 0x100596fd
lea edx, [esp + 0x30]
push edx
jmp 0x10059654
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.1001cb00
add esp, 0xc
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x10059648.2
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 0x13
ja case.0x10059648.2
movzx edx, byte [eax + 0x1005985c]
jmp dword [edx*4 + 0x1005984c]
lea eax, [esp + 0x30]
push eax
jmp 0x10059654
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1001cb00
add esp, 0xc
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x10059648.2
lea ecx, [esp + 0x78]
push ecx
mov edx, ecx
push edx
lea eax, [esp + 0xb0]
push eax
call fcn.100c4fa0
add esp, 0xc
test eax, eax
jne 0x10059665
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
lea eax, [esp + 0x118]
push eax
call fcn.100c4fa0
add esp, 0xc
test eax, eax
jne 0x10059665
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.10094d30
add esp, 0xc
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x18]
test eax, eax
je case.0x10059648.2
cmp dword [ebp], 0
jne 0x100597a5
mov edi, dword [esp + 0x188]
mov ecx, 0xc
lea esi, [esp + 0x30]
mov dword [ebp], 1
rep movsd dword es:[edi], dword [esi]
jmp 0x100597d2
mov edx, dword [esp + 0x188]
lea ecx, [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x80]
push eax
call fcn.10094d30
add esp, 0xc
test eax, eax
jne 0x10059665
mov eax, dword [esp + 0x18]
test eax, eax
je case.0x10059648.2
mov ecx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1c]
mov dword [ecx], ebx
inc ebx
cmp ebx, eax
jl 0x10059560
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x168
ret
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x168
ret