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

Disassembly:
push 0xffffffffffffffff
push 0x60d88c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, ecx
xor ebx, ebx
mov ecx, dword [esp + 0x2c]
push edi
push ebx
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x28], esi
call fcn.004aa9b0
lea edx, [esi + 0x16c6]
mov dword [esi + 0x1068], ebx
xor ecx, ecx
mov dword [esi], 0x62a5a8
mov dword [edx], ecx
xor eax, eax
lea edi, [esi + 0x16e4]
push 0x14
mov dword [edx + 4], ecx
mov dword [esp + 0x20], ebx
mov byte [edx + 8], cl
lea ecx, [esi + 0x16cf]
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov byte [ecx + 8], al
lea eax, [esi + 0x16d8]
mov ecx, 0x120
mov dword [eax], edx
mov dword [eax + 4], edx
mov byte [eax + 8], dl
xor eax, eax
rep stosd dword es:[edi], eax
mov word [esi + 0x1bac], bx
mov byte [esi + 0x16c4], 0x64
mov byte [esi + 0x16c5], 0x64
mov dword [esi + 0x1c04], ebx
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, ebx
mov byte [esp + 0x1c], 1
je 0x59d6b0
push 7
push esi
mov ecx, eax
call fcn.005de5f0
jmp 0x59d6b2
xor eax, eax
mov byte [esp + 0x1c], bl
mov dword [esi + 0x164], eax
call fcn.005faa7d
mov edi, eax
mov al, byte [esp + 0x38]
cmp al, bl
jne 0x59d6d4
mov byte [esi + 0xa0], 1
jmp 0x59d740
mov byte [esi + 0xa0], 3
mov dword [esi + 4], 1
mov ecx, dword [0x663330]
call fcn.0042d540
cmp eax, 1
jne 0x59d740
push 0x52fc
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 2
je 0x59d734
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esi + 0x98]
push ecx
mov ecx, dword [esi + 0x9c]
push esi
push edx
push ecx
push ebx
mov ecx, eax
call fcn.0056b1e0
jmp 0x59d736
xor eax, eax
mov byte [esp + 0x1c], bl
mov dword [esi + 0x1068], eax
push edi
call fcn.005faa73
mov al, byte [esp + 0x40]
add esp, 4
cmp al, bl
je 0x59d858
push 0x18
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 3
je 0x59d77f
push 0x200
push 0x800
mov ecx, eax
call fcn.0059cb00
jmp 0x59d781
xor eax, eax
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x9c]
cmp eax, ebx
mov byte [esp + 0x1c], bl
push 0x18
jne 0x59d7bc
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 4
je 0x59d7e1
push 0x2000
push 0x4000
mov ecx, eax
call fcn.0059cb00
jmp 0x59d7e3
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 5
je 0x59d7e1
push 0x80
push 0x40
mov ecx, eax
call fcn.0059cb00
jmp 0x59d7e3
xor eax, eax
push 0x18
mov byte [esp + 0x20], bl
mov dword [esi + 0x7c], eax
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 6
je 0x59d814
push 0x200
push 0x200
mov ecx, eax
call fcn.0059cb00
jmp 0x59d816
xor eax, eax
mov ecx, esi
mov byte [esp + 0x1c], bl
mov dword [esi + 0x80], eax
call fcn.005a3400
push 0x38
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 7
je 0x59d84c
mov edx, dword [ebp + 0x34]
push esi
push edx
mov ecx, eax
call fcn.005dec20
jmp 0x59d84e
xor eax, eax
mov byte [esp + 0x1c], bl
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x8c]
mov edi, 1
cmp word [eax + 0x48], di
jle 0x59d89e
cmp edi, dword [esi + 0x9c]
je 0x59d88f
push 2
push edi
mov ecx, esi
call fcn.005a57f0
push 1
push edi
mov ecx, esi
call fcn.005a5850
push 3
push edi
mov ecx, esi
call fcn.005a5870
mov ecx, dword [esi + 0x8c]
inc edi
movsx edx, word [ecx + 0x48]
cmp edi, edx
jl 0x59d869
lea eax, [esi + 0x1b88]
mov ecx, 0xa
mov dword [eax - 0x24], ebx
mov dword [eax], ebx
add eax, 4
dec ecx
jne 0x59d8a9
mov dword [esi + 0x1034], ebx
mov dword [esi + 0x1038], ebx
mov dword [esi + 0x1060], ebx
mov dword [esi + 0x103c], ebx
mov byte [esi + 0x1040], bl
mov dword [esi + 0x1044], ebx
mov dword [esi + 0x1048], ebx
mov dword [esi + 0x104c], ebx
mov byte [esi + 0x1050], bl
mov dword [esi + 0x1054], ebx
mov dword [esi + 0x1058], ebx
call fcn.005faa7d
lea ecx, [eax + eax*2]
mov eax, 0x80010003
imul ecx
add edx, ecx
push 0x10
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 3]
mov dword [esi + 0x1030], ecx
mov dword [esi + 0x1064], ebx
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 8
je 0x59d948
mov edx, dword [ebp + 0x1f4]
push ebx
push esi
push edx
mov ecx, eax
call fcn.00591210
jmp 0x59d94a
xor eax, eax
push 0x2c
mov byte [esp + 0x20], bl
mov dword [esi + 0x102c], eax
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 9
je 0x59d97c
mov ecx, dword [ebp + 0x29c]
push ebx
push ecx
mov ecx, eax
call fcn.00592b10
jmp 0x59d97e
xor eax, eax
push 0xcc
mov byte [esp + 0x20], bl
mov dword [esi + 0x16c0], eax
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 0xa
je 0x59d9ae
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.00538e50
jmp 0x59d9b0
xor eax, eax
mov dword [esi + 0x1674], eax
mov eax, 0xbf800000
mov dword [esi + 0x166c], eax
push 0x10
mov byte [esp + 0x20], bl
mov dword [esi + 0x1670], eax
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x1c], 0xb
je 0x59d9eb
mov ecx, eax
call fcn.0049a070
jmp 0x59d9ed
xor eax, eax
mov dword [esi + 0x1bd8], eax
mov eax, 0x64
mov ebp, 1
mov dword [esi + 0x1c24], eax
mov dword [esi + 0x1c10], eax
mov dword [esi + 0x1c14], eax
mov dword [esi + 0x1c18], eax
mov dword [esi + 0x1c1c], eax
mov dword [esi + 0x1c20], eax
lea edi, [esi + 0x169c]
mov ecx, 9
xor eax, eax
mov dword [esi + 0x1c08], ebp
mov dword [esi + 0x1c0c], ebp
mov dword [esi + 0x1c30], 0x1f4
mov dword [esi + 0x1c28], 0x3dcccccd
mov dword [esi + 0x1c2c], 0x1f5
mov byte [esi + 0x1bfc], 1
mov dword [esi + 0x1678], ebx
mov dword [esi + 0x167c], ebx
mov dword [esi + 0x1680], ebx
mov dword [esi + 0x1684], ebx
mov dword [esi + 0x1690], ebx
mov dword [esi + 0x1694], ebx
mov dword [esi + 0x1698], ebx
mov dword [esi + 0x1688], ebx
mov dword [esi + 0x168c], ebx
xor edx, edx
rep stosd dword es:[edi], eax
mov dword [esi + 0x1bdc], ebx
mov dword [esi + 0x1be8], ebx
mov dword [esi + 0x1be4], ebx
mov dword [esi + 0x1be0], ebx
mov dword [esi + 0x1bec], ebx
mov dword [esi + 0x1bf8], ebx
mov dword [esi + 0x1bf4], ebx
mov dword [esi + 0x1bf0], ebx
mov dword [esi + 0x1bae], edx
mov byte [esp + 0x1c], bl
mov dword [esi + 0x1bb2], edx
mov dword [esi + 0x1bb6], edx
mov dword [esi + 0x1bba], edx
mov dword [esi + 0x1bbe], edx
mov dword [esi + 0x1bc2], eax
mov dword [esi + 0x1bc6], eax
mov dword [esi + 0x1bca], eax
mov dword [esi + 0x1bce], eax
mov dword [esi + 0x1bd2], eax
mov al, byte [esp + 0x3c]
cmp al, bl
je 0x59db3e
mov edi, dword [esp + 0x28]
cmp word [edi + 0x2a], bx
jl 0x59db3e
mov ecx, dword [0x6633d4]
call fcn.005bc3b0
test eax, eax
jne 0x59db3e
mov cx, word [edi + 0x2a]
mov edx, dword [esi + 0x8c]
push esi
push ecx
mov ecx, dword [edx + 0x58]
call fcn.00596a60
mov ecx, dword [0x6633d4]
call fcn.00421740
test eax, eax
jne 0x59db67
mov ecx, dword [0x6633d4]
call fcn.00421720
test eax, eax
jne 0x59db67
mov ecx, dword [esi + 0x102c]
call fcn.00592191
mov ecx, dword [esi + 0x16c0]
push esi
call fcn.00594c30
push 0x10
call fcn.005faa3d
add esp, 4
mov dword [esp + 0x3c], eax
cmp eax, ebx
mov byte [esp + 0x1c], 0xc
je 0x59db93
mov ecx, eax
call fcn.0049a070
jmp 0x59db95
xor eax, eax
mov dword [esi + 0x1c00], eax
mov eax, dword [esi + 4]
cmp eax, ebx
mov byte [esp + 0x1c], bl
mov dword [esi + 0x105c], ebx
je 0x59dbf9
cmp dword [esi + 0x1068], ebx
je 0x59dbf9
mov ecx, dword [0x6633d4]
call fcn.005b56b0
cmp eax, ebp
jne 0x59dbf9
mov ecx, dword [0x6633d4]
call fcn.005b56d0
cmp al, 1
jne 0x59dbf9
mov ecx, dword [0x6633d4]
call fcn.005b56f0
cmp al, 2
jne 0x59dbf9
mov ecx, dword [esi + 0x1068]
push 7
push 0xe9
add ecx, 0x40e4
call fcn.0057a0a0
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x28