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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x9c]
cmp eax, dword [ecx + 8]
jbe 0x5c2488
sub esp, 0x11c
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.005bd110
mov eax, dword [esp + 4]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x120]
mov dword [esp], edx
lea ebx, [0x61bc60]
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
call fcn.005bbbb0
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x10]
movzx ecx, byte [ecx + 0xa1]
test cl, cl
je 0x5c1a0e
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x5c1b87
test bl, bl
jne 0x5c1a1d
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x5c1b87
mov ecx, dword [edx]
test byte [edx], al
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005bb400
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0xb4]
mov dword [esp], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
lea eax, [0x61d21d]
mov dword [esp], eax
mov dword [esp + 4], 0xd
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004e18f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea edx, [0x5f1960]
mov dword [esp + 0x10], edx
call fcn.0044b300
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov dword [edi + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c1b69
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
jmp 0x5c1b79
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.00464380
mov eax, ecx
mov ecx, eax
mov edx, 1
mov eax, dword [esp + 0x120]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0xb8], edi
mov dword [esp], eax
call fcn.005bbe50
mov eax, dword [esp + 4]
test eax, eax
je 0x5c1bee
movzx eax, byte [eax + 4]
test al, al
je 0x5c1bbf
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb8]
jmp 0x5c1bfd
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.005bb700
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5c219c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x120]
mov ebp, dword [ebx]
mov esi, dword [ebp + 4]
mov dword [esp + 0xd8], esi
mov ebp, dword [ebp + 8]
mov dword [esp + 0x70], ebp
xor edi, edi
xor edi, edi
mov dword [esp + 0x68], edi
xor edi, edi
mov dword [esp + 0xd4], edi
xor edi, edi
mov dword [esp + 0x64], edi
xor edi, edi
jmp 0x5c1c78
mov eax, dword [esp + 0x6c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x70]
cmp edi, ebp
jge 0x5c1d48
mov dword [esp + 0x6c], edi
mov eax, dword [esi + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.005be920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x5c1d34
mov edx, dword [esp + 0x64]
inc edx
mov ebx, dword [esp + 0x68]
cmp ebx, edx
jb 0x5c1cbe
mov ebp, dword [esp + 0xd4]
jmp 0x5c1d0d
mov dword [esp + 0x34], eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa8]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], eax
lea edi, [ebp + edx*8 - 8]
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x5c1d28
mov dword [edi], ecx
jmp 0x5c1c41
mov eax, ecx
call fcn.00464380
jmp 0x5c1c41
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0xd4]
jmp 0x5c1c41
mov ebp, dword [ebx]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0xf0], esi
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0x70], ebp
xor edi, edi
xor edi, edi
mov dword [esp + 0x54], edi
xor edi, edi
mov dword [esp + 0xc0], edi
xor edi, edi
mov dword [esp + 0x50], edi
xor edi, edi
jmp 0x5c1dad
mov eax, dword [esp + 0x6c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x54], ebx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x70]
cmp edi, ebp
jge 0x5c1e7d
mov dword [esp + 0x6c], edi
mov eax, dword [esi + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.005be920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x5c1e69
mov edx, dword [esp + 0x50]
inc edx
mov ebx, dword [esp + 0x54]
cmp ebx, edx
jb 0x5c1df3
mov ebp, dword [esp + 0xc0]
jmp 0x5c1e42
mov dword [esp + 0x30], eax
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xa4]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], eax
lea edi, [ebp + edx*8 - 8]
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x5c1e5d
mov dword [edi], ecx
jmp 0x5c1d76
mov eax, ecx
call fcn.00464380
jmp 0x5c1d76
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xc0]
jmp 0x5c1d76
mov ebp, dword [ebx]
mov esi, dword [ebp + 0x1c]
mov dword [esp + 0xec], esi
mov ebp, dword [ebp + 0x20]
mov dword [esp + 0x70], ebp
xor edi, edi
jmp 0x5c1ecb
mov eax, dword [esp + 0x6c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xec]
mov dword [esp + 0x68], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x70]
cmp edi, ebp
jge 0x5c1f9b
mov dword [esp + 0x6c], edi
mov eax, dword [esi + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov byte [esp + 8], 0
call fcn.005be920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x5c1f87
mov edx, dword [esp + 0x64]
inc edx
mov ebx, dword [esp + 0x68]
cmp ebx, edx
jb 0x5c1f11
mov ebp, dword [esp + 0xd4]
jmp 0x5c1f60
mov dword [esp + 0x2c], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa0]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], eax
lea edi, [ebp + edx*8 - 8]
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x5c1f7b
mov dword [edi], ecx
jmp 0x5c1e94
mov eax, ecx
call fcn.00464380
jmp 0x5c1e94
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0xd4]
jmp 0x5c1e94
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
lea eax, [0x61aa3a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.004ec180
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
lea edx, [0x61ac95]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 5
call fcn.004ec180
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x5c2066
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x5c2071
lea ebx, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x61aa3a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
call fcn.0044ed30
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x5c2071
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x5c20b9
test eax, eax
jne 0x5c2086
xor ecx, ecx
xor eax, eax
jmp 0x5c217e
mov dword [esp], 0
lea edx, [0x61b134]
mov dword [esp + 4], edx
mov dword [esp + 8], 6
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0044ec90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5c217e
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
lea eax, [0x61ac95]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 5
call fcn.004ec180
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
lea edx, [0x61b134]
mov dword [esp + 4], edx
mov dword [esp + 8], 6
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ec90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x5c217e
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x61af24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 6
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
lea eax, [0x66d004]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 1
call fcn.0044edd0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x11c
ret
mov ecx, dword [esp + 0x6c]
lea esi, [ecx + 1]
mov ecx, edi
cmp esi, ecx
jge 0x5c223c
mov dword [esp + 0x6c], esi
mov edi, ecx
mov ecx, dword [eax + esi*4]
mov esi, dword [ecx]
test byte [ecx], al
movzx esi, byte [esi + 0x1c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c2193
inc ebp
cmp edx, ebp
jae 0x5c2207
mov dword [esp + 0xc8], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x608b40]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc8]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x5c], edx
mov esi, dword [0x7f8db0]
lea edx, [ebx + ebp*4 - 4]
test esi, esi
jne 0x5c221f
mov dword [ebx + ebp*4 - 4], ecx
jmp 0x5c2233
mov esi, edi
mov edi, edx
mov eax, ecx
call fcn.00464380
mov eax, dword [esp + 0xdc]
mov edi, esi
mov edx, dword [esp + 0x5c]
jmp 0x5c2193
mov dword [esp + 0x58], ebp
mov dword [esp + 0xc4], ebx
xor eax, eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0x44]
jmp 0x5c2272
mov edi, dword [esp + 0x70]
lea eax, [edi + 1]
mov ecx, ebx
mov esi, edx
mov ebx, dword [esp + 0xc4]
mov edx, ebp
mov ebp, dword [esp + 0x58]
cmp ebp, eax
jle 0x5c2481
mov dword [esp + 0x70], eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + eax*4]
mov dword [esp + 0xcc], ecx
mov edx, dword [ecx]
test byte [ecx], al
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov esi, dword [esp + 0x120]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.005bb400
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0xcc]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x120]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005bc910
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
lea edi, [esp + 0x104]
xor eax, eax
call fcn.004645ca
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x61c083]
mov dword [esp], eax
mov dword [esp + 4], 0xa
lea edx, [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004e18f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
inc edx
mov ebx, dword [esp + 0x78]
cmp ebx, edx
jb 0x5c240b
mov ebp, dword [esp + 0xe8]
jmp 0x5c245c
mov dword [esp + 0x38], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, edx
mov ebx, ecx
mov ecx, dword [esp + 0x38]
mov edx, eax
mov eax, dword [esp + 0xac]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c2477
mov dword [edi], eax
jmp 0x5c225a
call fcn.00464380
jmp 0x5c225a
mov eax, esi
jmp 0x5c1bfd
call fcn.00462f70
jmp fcn.005c1980