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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c0]
cmp eax, dword [ecx + 8]
jbe 0x5c9741
sub esp, 0x340
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
lea eax, [0x600f80]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004cc720
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0046754b
mov ecx, dword [esp + 0x344]
mov dword [esp], ecx
lea edx, [0x5e0f60]
mov dword [esp + 4], edx
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x348]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x10], ebx
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5c8db0
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x34c]
cmp ebp, ebx
jb 0x5c8d8f
mov ebp, dword [esp + 0x348]
lea esi, [ebx + ebp]
mov edi, dword [esp + 0x344]
cmp dword [edi + 0x2ac], esi
jb 0x5c8d6e
test ebx, ebx
je 0x5c8d4d
mov byte [edi + 0x29f], 1
mov ebx, dword [esp + 0x4c]
movzx esi, word [esp + 0x50]
movzx eax, word [esp + 0x52]
mov dword [edi + 0x18c], ebx
mov word [edi + 0x190], si
mov word [edi + 0x192], ax
mov edx, dword [edi + 0x290]
mov ebx, dword [esp + 0x4c]
lea ecx, [ebx + ebp]
mov esi, dword [esp + 0x48]
lea eax, [ebp + esi]
cmp edx, ecx
jb 0x5c973b
cmp ecx, eax
jb 0x5c9736
mov ecx, dword [edi + 0x288]
sub edx, eax
sub ebx, esi
mov dword [edi + 0x198], ebx
mov dword [edi + 0x19c], edx
mov ebp, dword [0x7f7690]
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ecx
test ebp, ebp
je 0x5c8d42
mov ecx, edi
call fcn.004672b0
mov dword [edi], eax
mov edx, dword [ecx + 0x194]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [edi + 0x194], eax
jmp 0x5c8dde
mov eax, dword [0x7c3d68]
mov ecx, dword [0x7c3d6c]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x7c3d28]
mov ecx, dword [0x7c3d2c]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x7c3d28]
mov ecx, dword [0x7c3d2c]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x7c3d28]
mov ecx, dword [0x7c3d2c]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.005a5a20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c9615
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
cmp dword [ecx + 0x28], 1
je 0x5c8e0c
xor eax, eax
jmp 0x5c8e50
mov esi, dword [ecx + 0x24]
lea edi, [esp + 0x290]
call fcn.004678a8
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
lea edi, [esp + 0xc]
lea esi, [esp + 0x294]
call fcn.004679fc
call fcn.005a7d10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
test eax, eax
je 0x5c95d9
mov dword [esp + 0x5c], eax
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0046753e
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x5c]
mov dword [esp], edx
call fcn.004ee880
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
shl ecx, 1
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 4]
mov dword [esp + 0x60], ebx
lea ebp, [0x5eeda0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044d6b0
mov ecx, dword [esp + 0xc]
nop
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
xor eax, eax
xor esi, esi
jmp 0x5c9642
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xf8], ecx
lea esi, [eax + 0x16c]
lea edi, [esp + 0xd8]
call fcn.00467a2e
lea esi, [eax + 0x158]
lea edi, [esp + 0xc4]
call fcn.00467a2e
lea esi, [eax + 0x60]
lea edi, [esp + 0x178]
call fcn.0046792a
mov ecx, dword [esp + 0x17c]
test ecx, ecx
je 0x5c8f43
mov ecx, dword [esp + 0x178]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
jmp 0x5c8f47
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x1ac]
test ebx, ebx
je 0x5c8f98
mov eax, dword [esp + 0x1a8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x61b7e0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451310
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1a0]
test ebx, ebx
je 0x5c8fe9
mov eax, dword [esp + 0x19c]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x61b7e0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451310
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x188]
test ebx, ebx
je 0x5c903a
mov eax, dword [esp + 0x184]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x61b7e0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451310
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
add eax, 0xdc
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x1d8]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x61b7e0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
call fcn.00451310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0xfc]
mov esi, dword [esp + 0x74]
call fcn.0046792a
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5c90be
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x5c90c2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x130]
test edx, edx
je 0x5c910f
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x61b7e0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x124]
test edx, edx
je 0x5c915c
mov edx, dword [esp + 0x120]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x61b7e0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10c]
test edx, edx
je 0x5c91a9
mov edx, dword [esp + 0x108]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x61b7e0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x61b7e0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call fcn.00451310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0x344]
mov byte [eax + 0x2ab], 1
mov ecx, dword [eax + 0x2bc]
movzx ecx, byte [ecx + 0xc]
test cl, cl
je 0x5c921b
xor ecx, ecx
jmp 0x5c924d
call fcn.005c9750
mov eax, dword [esp + 4]
test eax, eax
je 0x5c922c
xor eax, eax
jmp 0x5c924b
mov eax, dword [esp]
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005a6160
mov eax, dword [esp + 8]
test eax, eax
setne al
xor eax, 1
mov ecx, eax
mov byte [esp + 0x3b], cl
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.0046754b
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.005ca120
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
lea edi, [esp + 0xa0]
lea esi, [esp + 0xc]
call fcn.00467a2e
lea edi, [esp + 0x8c]
lea esi, [esp + 0xa0]
call fcn.00467a2e
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x5c9331
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
test edx, edx
je 0x5c92d3
mov edx, dword [edx + 4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x2c0]
mov dword [esp], ecx
lea ecx, [0x629e95]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
lea edx, [esp + 0x84]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0050bd90
mov ecx, dword [esp + 0x344]
xor eax, eax
jmp 0x5c93ee
mov ecx, dword [esp + 0x344]
mov edx, dword [ecx + 0x2bc]
movzx edx, byte [edx + 0xd]
test dl, dl
je 0x5c934d
xor eax, eax
jmp 0x5c93ee
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.004fe180
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x344]
mov dword [esp], eax
lea ecx, [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005c8370
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x5c971b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
cmp dword [esp + 0x98], edx
je 0x5c93c9
xor eax, eax
jmp 0x5c93e7
mov eax, dword [ecx]
mov ecx, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xf4], edx
lea edi, [esp + 0x1f4]
mov edx, eax
xor eax, eax
call fcn.00467529
lea edi, [esp + 0x1f4]
mov esi, dword [esp + 0x64]
call fcn.004679d4
lea edi, [esp + 0x22c]
lea esi, [esp + 0x8c]
call fcn.00467a2e
mov byte [esp + 0x240], dl
lea edi, [esp + 0x244]
lea esi, [esp + 0xb4]
call fcn.004679ac
movzx ecx, byte [esp + 0x3b]
mov byte [esp + 0x28c], cl
mov ecx, dword [esp + 0x344]
mov edx, dword [ecx + 0x1a8]
mov ebx, dword [ecx + 0x1a4]
inc ebx
mov ebp, dword [ecx + 0x1a0]
cmp edx, ebx
jae 0x5c94db
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x608040]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x1a8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5c94c8
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx + 0x1a0]
mov dword [edi + 4], eax
mov dword [ebx + 0x1a0], ecx
xor eax, eax
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x344]
mov dword [ecx + 0x1a4], ebx
mov edx, dword [0x7f7690]
imul ebx, ebx, 0x9c
lea edi, [ebx + ebp - 0x9c]
test edx, edx
je 0x5c951d
mov dword [esp + 0x70], edi
lea eax, [0x608040]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1f4]
mov dword [esp + 8], eax
call fcn.00411290
mov edi, dword [esp + 0x70]
lea esi, [esp + 0x1f4]
call fcn.004678da
lea eax, [0x608840]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
lea ecx, [0x5ec5e0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax], 1
mov dword [eax + 4], 3
mov dword [eax + 8], 6
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 4
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 0x137
mov dword [eax + 0x1c], 2
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 1
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0xa
lea eax, [0x5e4be0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], ecx
call fcn.005a6b80
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5c8dd1
jmp 0x5c968e
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x627a9e]
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x350], ecx
mov dword [esp + 0x354], eax
add esp, 0x340
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov byte [esi + ecx + 1], dl
inc eax
add esi, 2
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
cmp eax, edx
jge 0x5c8ebf
movzx edi, byte [eax + ebp]
xchg edi, eax
mov byte [esp + 0x3a], al
xchg edi, eax
xchg edi, eax
shr al, 4
xchg edi, eax
xchg edi, eax
movzx eax, al
xchg edi, eax
lea ebp, [0x61f81c]
movzx edi, byte [ebp + edi]
cmp esi, ebx
jae 0x5c972d
xchg edi, eax
mov byte [ecx + esi], al
xchg edi, eax
lea edi, [esi + 1]
movzx edx, byte [esp + 0x3a]
and edx, 0xf
movzx edx, byte [edx + ebp]
cmp ebx, edi
ja 0x5c9632
jmp 0x5c9724
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
lea edx, [0x5fe640]
mov dword [esp], edx
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax], 0
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
lea ebx, [0x5f5c20]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0046efe0
movzx eax, byte [esp + 0x10]
test al, al
je 0x5c96fe
mov dword [esp + 0x350], 0
mov dword [esp + 0x354], 0
add esp, 0x340
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x354], eax
add esp, 0x340
ret
xor eax, eax
mov ecx, eax
call fcn.00467310
mov eax, edi
mov ecx, ebx
call fcn.00467310
mov eax, esi
mov ecx, ebx
call fcn.00467310
call fcn.00467380
call fcn.00467360
nop
call fcn.00465ea0
jmp fcn.005c8bd0