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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x5c10dd
sub esp, 0x108
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.005bffd0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x5c0929
mov dword [esp + 0xa4], eax
test eax, eax
je 0x5c08bd
mov ecx, dword [eax]
jmp 0x5c08bf
xor ecx, ecx
mov dword [esp + 0x58], ecx
lea eax, [0x60cbe0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.00449ec0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00462794
lea ecx, [0x601620]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 8], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x58]
xor edx, edx
jmp 0x5c097e
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0x108
ret
mov dword [esp + 0xa0], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
lea eax, [esp + 0xd8]
mov dword [esp], eax
call fcn.0040d7d0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x54], edx
mov dword [esp + 0xa0], eax
mov ebx, dword [esp + 0xd8]
test ebx, ebx
je 0x5c0acf
mov dword [esp + 0x58], ecx
mov ebp, dword [esp + 0xdc]
mov ebp, dword [ebp]
mov dword [esp + 0x8c], ebp
mov esi, dword [ebx]
mov dword [esp + 0xa8], esi
mov ebx, dword [ebx + 4]
mov dword [esp + 0x5c], ebx
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0046279a
lea ecx, [0x634655]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], 8
lea ecx, [0x63a612]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], 0x11
lea ecx, [0x634fcc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], 9
xor edi, edi
jmp 0x5c1087
mov eax, dword [esp + 0x7c]
cmp eax, 3
mov eax, 0
lea ecx, [0x634fcc]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x8c]
jge 0x5c0abf
inc edx
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
mov esi, dword [esp + 0x58]
cmp esi, edx
jb 0x5c0a55
mov edi, dword [esp + 0xa0]
jmp 0x5c0aa6
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x60cbe0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov edi, eax
mov esi, ecx
xor eax, eax
lea ecx, [0x634fcc]
mov dword [esp + 0x58], esi
lea esi, [edi + edx*8 - 8]
mov dword [esi], ebx
lea ebx, [edi + edx*8 - 4]
mov dword [ebx], ebp
mov ebx, dword [esp + 0x58]
jmp 0x5c0951
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0xa0]
jmp 0x5c0951
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x68c33c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0048bed0
lea eax, [0x5f2300]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.00449ec0
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, dword [esp + 0x54]
xor ebx, ebx
xor ebp, ebp
jmp 0x5c0b34
mov esi, dword [esp + 0x7c]
inc esi
mov eax, ebp
mov ebx, edx
mov ebp, ecx
mov ecx, esi
mov edx, dword [esp + 0x48]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x2c], ebp
mov esi, dword [esp + 0x54]
cmp ecx, esi
jge 0x5c0c19
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0xa0]
lea edx, [eax + ecx*8]
mov ebx, dword [edx]
mov dword [esp + 0x78], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x74], edx
lea ebp, [0x60cb20]
mov dword [esp], ebp
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x44]
inc edx
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jb 0x5c0ba3
mov ebp, dword [esp + 0x9c]
jmp 0x5c0bee
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f2300]
mov dword [esp + 0x10], eax
call fcn.0044a040
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 + 0xb8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x48], ebx
mov esi, dword [0x81dcc0]
lea edi, [ebp + edx*4 - 4]
mov ebx, dword [esp + 0x74]
add ecx, ebx
test esi, esi
jne 0x5c0c0f
mov dword [ebp + edx*4 - 4], eax
jmp 0x5c0b23
call fcn.00462500
jmp 0x5c0b23
lea eax, [0x60cb20]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10c]
mov edx, dword [ecx + 0x2ac]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x44]
inc edx
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jb 0x5c0c57
mov ebx, dword [esp + 0x9c]
jmp 0x5c0c9f
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f2300]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10c]
mov ebx, eax
mov eax, dword [esp + 0xb8]
mov ebp, dword [0x81dcc0]
lea edi, [ebx + edx*4 - 4]
test ebp, ebp
jne 0x5c0cb3
mov dword [ebx + edx*4 - 4], eax
jmp 0x5c0cb8
call fcn.00462500
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x44], edx
mov eax, dword [ecx + 0x2b8]
test eax, eax
je 0x5c0cd8
lea ecx, [0x68bd38]
jmp 0x5c0d62
mov eax, dword [ecx + 0x288]
mov dword [esp + 0xb0], eax
mov edx, dword [ecx + 0x28c]
mov dword [esp + 0x64], edx
mov ecx, dword [ecx + 0x290]
mov dword [esp + 0x68], ecx
lea ebx, [0x611e60]
mov dword [esp], ebx
call fcn.0040bcc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x64]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x68]
mov dword [edi + 8], eax
mov eax, dword [0x81dcc0]
test eax, eax
jne 0x5c0d2e
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x5c0d3a
mov eax, dword [esp + 0xb0]
call fcn.00462500
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x9c]
mov eax, edi
lea ecx, [0x68bb94]
mov dword [esp + 0x98], eax
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
xor edi, edi
jmp 0x5c0d8b
inc edi
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x40]
cmp edi, edx
jge 0x5c0db6
mov dword [esp + 0x7c], edi
mov eax, dword [ebx + edi*4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x80]
jmp 0x5c0fb5
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x5c0ddd
mov eax, edi
mov edi, dword [esp + 0x7c]
inc edi
mov ecx, ebp
mov edx, esi
mov ebx, eax
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
mov eax, edi
cmp ebp, eax
jle 0x5c0ecd
mov dword [esp + 0x7c], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
lea ecx, [esi + eax*8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
inc ebx
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
jb 0x5c0e42
mov esi, dword [esp + 0x94]
jmp 0x5c0e99
mov dword [esp + 0x70], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f8720]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xb4]
mov esi, edx
mov ebp, ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov edi, ebx
lea ebx, [ebx + ebx*2]
mov dword [esi + ebx*4 - 8], ecx
mov dword [esi + ebx*4 - 4], edx
mov ecx, dword [0x81dcc0]
lea edx, [esi + ebx*4 - 0xc]
test ecx, ecx
jne 0x5c0ebd
mov dword [esi + ebx*4 - 0xc], eax
jmp 0x5c0dc0
mov ecx, edi
mov edi, edx
call fcn.00462500
mov edi, ecx
jmp 0x5c0dc0
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ecx
add esp, 0x108
ret
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x1c], ecx
lea ecx, [0x606560]
mov dword [esp], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
call fcn.00409700
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
lea eax, [0x68bcac]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.0048ea70
nop
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x70]
inc eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
cmp ebp, ecx
jle 0x5c0d7f
mov ebx, dword [eax]
mov dword [esp + 0x4c], ebx
mov edx, dword [eax + 4]
sub edx, ebx
mov edi, 0
sbb edi, 0
mov dword [esp + 0x50], edi
mov eax, 0xffffffff
sub eax, edx
mov ebp, 0x7fffffff
sbb ebp, edi
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp eax, ebx
setae al
lea esi, [esi + ecx*8]
mov ecx, dword [esi]
mov dword [esp + 0x60], ecx
mov esi, dword [esi + 4]
mov dword [esp + 0xac], esi
and edi, eax
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c1023
add edx, ebx
mov eax, dword [esp + 0x50]
adc eax, 0
jmp 0x5c102d
mov eax, 0x7fffffff
mov edx, 0xffffffff
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
lea ecx, [0x617140]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5c1066
mov edx, dword [esp + 0x98]
mov dword [eax + 4], edx
jmp 0x5c0ee9
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x98]
call fcn.00462500
mov eax, edx
jmp 0x5c0ee9
inc edi
xor eax, eax
lea ecx, [0x634fcc]
cmp edi, 3
jge 0x5c0a37
lea ecx, [esp + edi*8 + 0xc0]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
cmp eax, ebx
jne 0x5c107e
mov dword [esp + 0x7c], edi
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c0a1a
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x7c]
jmp 0x5c107e
call fcn.004610f0
jmp fcn.005c0870