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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x5c9ca1
sub esp, 0xcc
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax]
mov dword [esp + 0x64], edx
mov ebx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x1c]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x48], ebp
mov esi, dword [eax + 0x44]
mov ecx, dword [ecx + 0x14]
mov dword [esp], esi
call ecx
lea eax, [0x730b20]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov word [eax], 0xfe
mov byte [eax + 2], 0
mov ecx, dword [esp + 0x44]
mov byte [eax + 3], cl
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 0x40]
mov ebp, dword [edx + 0x44]
mov ebx, dword [ebx + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ebx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0xc]
mov dword [esp], ecx
call fcn.005d3990
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0xc]
movzx edx, word [ecx + 0x80]
test dx, dx
jne 0x5c91f9
mov ebx, dword [ecx + 0x74]
test ebx, ebx
jne 0x5c91f9
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005bee80
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x39
lea ecx, [0x77a73c]
mov dword [eax], ecx
lea ecx, [0x7ca6cc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
mov ebx, dword [ecx + 0x74]
mov ebp, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
test ebx, ebx
je 0x5c9238
mov esi, dword [eax + 0x10]
mov dword [esi + 0xbc], ebp
mov dword [esi + 0xc0], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c9227
mov dword [esi + 0xb8], ebx
jmp 0x5c9238
lea edi, [esi + 0xb8]
mov ecx, eax
mov eax, ebx
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [eax + 0xc]
movzx ebx, word [ecx + 0x54]
test bx, bx
jne 0x5c9260
movzx ecx, word [ecx + 0x80]
test cx, cx
je 0x5c92ad
mov edx, dword [eax + 0x10]
mov ebx, dword [edx + 0x4c]
mov edx, dword [edx + 0x50]
xor ebp, ebp
jmp 0x5c985a
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x32
call fcn.005bee80
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2b
lea ecx, [0x777aba]
mov dword [eax], ecx
lea ecx, [0x7ca6cc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
mov edi, dword [eax + 0x10]
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c92d0
mov dword [edi], 0
jmp 0x5c92db
mov ecx, eax
xor eax, eax
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [eax + 0x10]
mov ebx, dword [ecx + 0xe4]
test ebx, ebx
je 0x5c9302
mov ebx, dword [eax + 0x18]
movzx ebx, word [ebx + 0xe]
mov ebp, dword [0x7075a8]
mov esi, dword [0x7075ac]
xor edx, edx
jmp 0x5c9514
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.005cc6b0
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.005cc6b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.005bfa70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x5c94fc
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.005bfba0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
mov esi, dword [esp + 8]
test eax, eax
jne 0x5c94e7
lea ecx, [0x73e820]
cmp ebp, ecx
je 0x5c93ac
mov ebx, 0
jne 0x5c9421
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c93c4
mov eax, dword [esp + 0xd0]
mov dword [eax + 0xc], ebx
jmp 0x5c93d7
mov ecx, dword [esp + 0xd0]
lea edi, [ecx + 0xc]
mov eax, ebx
call fcn.00456ac0
mov eax, ecx
mov dword [esp], eax
call fcn.005c8c50
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x5c9404
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xcc
ret
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
add esp, 0xcc
ret
mov dword [esp + 0x60], esi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005bee80
nop
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x84], eax
lea eax, [0x73e820]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
lea eax, [0x77b945]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a4ad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
add esp, 0xcc
ret
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xcc
ret
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xcc
ret
inc edx
mov ecx, edi
cmp edx, esi
jge 0x5c9525
mov edi, ecx
mov ecx, dword [ebp + edx*4]
cmp word [ecx], bx
jne 0x5c9511
jmp 0x5c9529
mov edi, ecx
xor ecx, ecx
test ecx, ecx
je 0x5c9822
mov ebx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0xc]
cmp dword [ebx + 0xc], ecx
jne 0x5c97a1
mov ecx, dword [esp + 0x64]
mov ebx, dword [ecx + 0x28]
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x5c9554
lea ebx, [0x782574]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0xa4]
lea esi, [esp]
call fcn.0045723e
lea edi, [esp + 0x90]
lea esi, [esp + 0xa4]
call fcn.0045723e
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x18]
test byte [ecx], al
lea esi, [ecx + 0x34]
lea edi, [esp + 0xb8]
call fcn.0045723e
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.0045723e
lea edi, [esp + 0x14]
lea esi, [esp + 0xb8]
call fcn.0045723e
call fcn.00494e30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf4240
call fcn.00450c50
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [ecx + 0xe4]
mov ecx, dword [ecx + 0xe0]
add ebp, dword [ebx + 0x80]
test esi, esi
jbe 0x5c9850
mov dword [ecx + 0xc], ebp
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
call fcn.00502cc0
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 4]
mov dword [esp + 0x40], edx
lea ebx, [0x730b20]
mov dword [esp], ebx
call fcn.0040b440
mov eax, dword [esp + 4]
mov word [eax], 0xfe
mov byte [eax + 2], 0
mov ecx, dword [esp + 0x44]
mov byte [eax + 3], cl
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x6c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0xc]
mov dword [esp], ecx
call fcn.005d3990
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.005d1920
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
mov ebp, dword [eax + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
call fcn.005e0980
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
lea ebx, [0x72fd20]
mov dword [esp], ebx
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 8], eax
mov eax, dword [0x900e70]
test eax, eax
jne 0x5c9766
mov eax, dword [esp + 0x78]
mov dword [edi], eax
jmp 0x5c976f
mov eax, dword [esp + 0x78]
call fcn.00456ac0
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005d19a0
mov eax, dword [esp + 0xd0]
jmp 0x5c9302
mov dword [edi + 0xe4], 0
mov dword [edi + 0xe8], 0
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c97cb
mov dword [edi + 0xe0], 0
jmp 0x5c97dc
add edi, 0xe0
mov ecx, eax
xor eax, eax
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [eax + 0x10]
mov dword [ecx + 0xf0], 0
mov dword [ecx + 0xf4], 0
mov edx, dword [0x900e70]
test edx, edx
jne 0x5c980c
mov dword [ecx + 0xec], 0
jmp 0x5c9302
lea edi, [ecx + 0xec]
mov ecx, eax
xor eax, eax
call fcn.00456ac0
mov eax, ecx
jmp 0x5c9302
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005bee80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
add esp, 0xcc
ret
xor eax, eax
mov ecx, eax
call fcn.00456b40
inc ebp
cmp ebp, edx
jge 0x5c9c54
lea esi, [ebx + ebp*2]
cmp word [esi], cx
jne 0x5c9859
mov word [esp + 0x32], cx
mov edx, dword [eax + 0x14]
mov ebx, dword [edx]
mov dword [esp + 0x38], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x58], edx
nop
mov ebp, dword [0x706670]
lea esi, [0x7cb898]
cmp ebx, esi
jne 0x5c98d3
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c98bf
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, 0x1d
jmp 0x5c99c3
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
nop
mov ebp, dword [0x70666c]
lea esi, [0x7cb904]
cmp ebx, esi
jne 0x5c9927
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c9913
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, 0x17
jmp 0x5c99c3
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
nop
mov ebp, dword [0x706668]
lea esi, [0x7cb8e0]
cmp ebx, esi
jne 0x5c9978
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c9964
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, 0x18
jmp 0x5c99c3
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
nop
mov ebp, dword [0x706674]
lea esi, [0x7cb8bc]
cmp ebx, esi
jne 0x5c99c1
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c99b5
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
mov edx, 0x19
jmp 0x5c99c3
mov eax, dword [esp + 0xd0]
movzx ecx, word [esp + 0x32]
xor edx, edx
cmp dx, cx
je 0x5c9c07
nop
cmp cx, 0x18
ja 0x5c99e4
cmp cx, 0x17
je 0x5c99f4
cmp cx, 0x18
je 0x5c99f4
jmp 0x5c9bba
cmp cx, 0x19
je 0x5c99f4
cmp cx, 0x1d
jne 0x5c9bba
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 0x28]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
test ebp, ebp
jne 0x5c9a10
mov ebp, dword [0x8da3c8]
mov ebx, dword [0x8da3cc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov word [esp + 8], cx
call fcn.005e0da0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x5c9b84
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c9a4f
mov ecx, dword [esp + 0xd0]
mov dword [ecx + 0x14], eax
jmp 0x5c9a5e
mov ecx, dword [esp + 0xd0]
lea edi, [ecx + 0x14]
call fcn.00456ac0
mov dword [esp], eax
call fcn.0055c990
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
lea ecx, [0x72f6e0]
mov dword [esp], ecx
call fcn.0040b440
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, 0x85
ja 0x5c9a9b
mov ebx, edx
mov ebp, 0x85
jmp 0x5c9adb
mov dword [esp + 0x50], edx
mov dword [esp + 0x78], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x85
mov dword [esp + 0xc], edx
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov ebp, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x54], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00457450
lea eax, [0x72fc20]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x32]
mov word [eax], cx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x5c9b32
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
jmp 0x5c9b42
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x54]
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [esp + 0xd0]
mov ebx, dword [ecx + 0x10]
mov dword [ebx + 0xc8], 1
mov dword [ebx + 0xcc], 1
mov ebp, dword [0x900e70]
test ebp, ebp
jne 0x5c9b72
mov dword [ebx + 0xc4], eax
jmp 0x5c9b7d
lea edi, [ebx + 0xc4]
call fcn.00456ac0
mov eax, ecx
jmp 0x5c92ad
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005bee80
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005bee80
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x778d77]
mov dword [eax], ecx
lea ecx, [0x7ca6cc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005bee80
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3b
lea ecx, [0x77a949]
mov dword [eax], ecx
lea ecx, [0x7ca6cc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005bee80
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x26
lea ecx, [0x77645c]
mov dword [eax], ecx
lea ecx, [0x7ca6cc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
add esp, 0xcc
ret
call fcn.00455690
jmp fcn.005c9070