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

Disassembly:
mov ecx, dword [0xe11d80]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x59d6e1
sub esp, 0x108
mov eax, 0
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov byte [esp + 0x2e], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.0059cba0
mov eax, dword [esp + 4]
test eax, eax
jne 0x59d667
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.0046992b
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x2d], cl
lea edi, [esp + 0xbc]
lea esi, [esp + 4]
call fcn.00469e0e
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.00469e0e
movzx ecx, byte [esp + 0x2d]
test cl, cl
je 0x59ceb5
lea edi, [esp + 0x94]
lea esi, [esp + 0xbc]
call fcn.00469e0e
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
test eax, 0x80000000
je 0x59cdd9
shl eax, 1
mov ebp, ecx
shl ecx, 1
mov edx, ebp
shr ebp, 0x1f
or ebp, eax
mov eax, ebp
shl ebp, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, ebp
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x59cdeb
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov edx, ecx
mov ecx, ebp
test ecx, ecx
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
je 0x59ce11
test edx, 0x3fffffff
jne 0x59ce11
mov eax, dword [esp + 0x10c]
xor ecx, ecx
jmp 0x59cebe
mov eax, dword [esp + 0x10c]
test byte [eax], al
lea edi, [esp + 0x80]
lea esi, [esp + 0xa8]
call fcn.00469e0e
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x80]
call fcn.00469e0e
mov dword [esp + 0x18], 0x77
call fcn.00529ce0
lea edi, [esp + 0xd0]
lea esi, [0xdea120]
call fcn.00469e0e
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.00469929
lea eax, [0x59d820]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
lea edi, [esp + 0xec]
lea esi, [esp + 0xd0]
call fcn.00469e0e
lea ecx, [esp + 0xe4]
mov dword [esp + 0x104], ecx
mov byte [esp + 0x2e], 1
mov ecx, 1
jmp 0x59cebe
mov eax, dword [esp + 0x10c]
xor ecx, ecx
mov byte [esp + 0x2f], cl
mov ebp, dword [eax + 0x144]
mov edx, dword [eax + 0x140]
cmp ebp, 3
jne 0x59cee9
cmp word [edx], 0x6374
jne 0x59d58e
cmp byte [edx + 2], 0x70
je 0x59cf06
jmp 0x59d58e
cmp ebp, 4
jne 0x59d58e
cmp dword [edx], 0x34706374
je 0x59cf06
cmp dword [edx], 0x36706374
jne 0x59d58e
mov ebp, dword [esp + 0x118]
test ebp, ebp
jne 0x59cfa7
mov edx, dword [esp + 0x120]
test edx, edx
je 0x59d6bc
mov ebx, dword [esp + 0x120]
lea ebp, [0xa2dbf4]
cmp ebx, ebp
jne 0x59cf4f
lea eax, [0x90cf80]
mov dword [esp], eax
call fcn.0040c320
mov eax, dword [esp + 4]
lea ecx, [0xa2dbf4]
jmp 0x59cf75
lea esi, [0xa2dc08]
cmp ebx, esi
jne 0x59d6bc
lea eax, [0x917820]
mov dword [esp], eax
call fcn.0040c320
mov eax, dword [esp + 4]
lea ecx, [0xa2dc08]
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0050ca40
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x59d4eb
mov eax, dword [esp + 0x10c]
movzx ecx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x120]
test ebp, ebp
je 0x59d6a4
mov ebp, dword [esp + 0x120]
mov edx, eax
lea eax, [0xa2dbf4]
cmp ebp, eax
jne 0x59cfd9
mov eax, dword [esp + 0x124]
cmp byte [eax + 4], 0x7f
sete al
jmp 0x59d042
lea eax, [0xa2dc08]
cmp ebp, eax
jne 0x59d6a4
mov ebx, dword [0xdc4b6c]
cmp ebx, 0x10
jb 0x59d69a
mov eax, dword [esp + 0x124]
lea ecx, [eax + 8]
mov dword [esp + 0x74], ecx
mov esi, dword [0xdc4b68]
lea edi, [esp + 0x40]
call fcn.00469e18
test byte [eax], al
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.004034f0
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x10c]
test al, al
je 0x59d0c0
mov word [esp + 0x30], 0xffff
mov byte [esp + 0x32], 1
mov edx, dword [0xde9570]
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
je 0x59d069
mov byte [esp + 0x32], 0xfe
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov dword [esp + 4], 0x98000011
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0052e1c0
lea eax, [0x8cdbe0]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404e50
mov eax, dword [esp + 8]
mov dword [esp + 0x68], eax
movzx ecx, byte [esp + 0x2f]
or ecx, 2
mov byte [esp + 0x2f], cl
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea edx, [0x59d7e0]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x100], edx
mov byte [esp + 0x2e], cl
lea edx, [0x908120]
mov dword [esp], edx
call fcn.0040c320
mov eax, dword [esp + 4]
lea ecx, [0x59d6f0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 4], ecx
mov ecx, dword [0xe12160]
test ecx, ecx
jne 0x59d159
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x68]
jmp 0x59d178
call fcn.004696a0
mov ecx, dword [esp + 0x114]
mov dword [edi], ecx
mov edx, dword [esp + 0x10c]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x68]
mov dword [edi + 8], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 8], ecx
call fcn.0052d8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x59d3e7
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov dword [esp], 0
call fcn.00406350
movzx eax, byte [esp + 8]
test al, al
jne 0x59d2c8
mov eax, dword [esp + 0x70]
lea ecx, [0xa2d6a4]
cmp eax, ecx
jne 0x59d259
lea eax, [0x901160]
mov dword [esp], eax
call fcn.0040c320
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x9673d6]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0xe12160]
test ecx, ecx
jne 0x59d243
mov ecx, dword [esp + 0x5c]
jmp 0x59d24e
call fcn.00469680
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0xa2dc1c]
jmp 0x59d261
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x59d2aa
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x59d2c1
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 8]
cmp dword [0xdc3e78], eax
jne 0x59d343
mov dword [esp + 0x50], ebx
mov dword [esp + 0x6c], eax
mov ecx, dword [0xdc3e7c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004042f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x59d333
lea ecx, [0xa2dc44]
lea edx, [0xe11c00]
jmp 0x59d380
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
cmp dword [0xdc3e80], eax
jne 0x59d380
mov ecx, dword [0xdc3e84]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004042f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x59d378
mov ecx, dword [0xdc3850]
mov edx, dword [0xdc3854]
jmp 0x59d380
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x59d3c9
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x59d3e0
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x10c]
lea ecx, [eax + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0xffff
mov dword [esp + 8], 0x7010
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 4
call fcn.00512650
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x59d426
xor eax, eax
xor ecx, ecx
jmp 0x59d484
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
lea edx, [0x901160]
mov dword [esp], edx
call fcn.0040c320
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x9685e7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0xe12160]
test ecx, ecx
jne 0x59d46e
mov ecx, dword [esp + 0x54]
jmp 0x59d479
call fcn.00469680
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0xa2dc1c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x59d4cd
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x59d4e4
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
lea edx, [0x901160]
mov dword [esp], edx
call fcn.0040c320
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x96252d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0xe12160]
test ecx, ecx
jne 0x59d533
mov ecx, dword [esp + 0x60]
jmp 0x59d53e
call fcn.00469680
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea ecx, [0xa2dc1c]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x59d587
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov edx, dword [0xdc2f5c]
mov ecx, dword [edx]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call ecx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x59d5c2
xor eax, eax
xor ecx, ecx
jmp 0x59d620
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
lea edx, [0x901160]
mov dword [esp], edx
call fcn.0040c320
mov eax, dword [esp + 4]
mov dword [eax + 4], 7
lea ecx, [0x964e79]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0xe12160]
test ecx, ecx
jne 0x59d60a
mov ecx, dword [esp + 0x64]
jmp 0x59d615
call fcn.00469680
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0xa2dc1c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x59d660
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
add esp, 0x108
ret
mov edx, 0x10
call fcn.004697c0
lea eax, [0x8d9c60]
mov dword [esp], eax
lea eax, [0xa2c938]
mov dword [esp + 4], eax
call fcn.00438c00
lea eax, [0x8d9c60]
mov dword [esp], eax
lea eax, [0xa2c938]
mov dword [esp + 4], eax
call fcn.00438c00
nop
call fcn.00438180
add esp, 0x108
ret
call fcn.00468280
jmp fcn.0059ccb0