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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2b4]
cmp eax, dword [ecx + 8]
jbe 0x5c1cc4
sub esp, 0x334
lea eax, [0x613e60]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00409550
mov eax, dword [esp + 8]
lea ecx, [0x613e60]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b8200
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x80]
xor eax, eax
call fcn.0046279b
mov ecx, dword [esp + 0x338]
mov dword [esp], ecx
lea edx, [0x5f2900]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x33c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x10], ebp
call fcn.005b2650
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5c12ef
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x340]
cmp esi, ebp
jb 0x5c12ce
mov esi, dword [esp + 0x33c]
mov eax, esi
add esi, ebp
mov ecx, ebx
mov ebx, dword [esp + 0x338]
cmp dword [ebx + 0x2ac], esi
jb 0x5c12ad
test ebp, ebp
je 0x5c128c
mov byte [ebx + 0x29f], 1
mov ebp, dword [ecx]
movzx esi, word [ecx + 4]
mov edx, esi
movzx esi, word [ecx + 6]
mov dword [ebx + 0x18c], ebp
mov word [ebx + 0x190], dx
mov word [ebx + 0x192], si
mov edx, dword [ebx + 0x290]
mov ebp, dword [ebx + 0x288]
mov esi, dword [esp + 0x48]
add esi, eax
mov edi, ebp
mov ebp, dword [ecx]
lea ecx, [ebp + eax]
cmp edx, ecx
jb 0x5c1cbe
cmp ecx, esi
jb 0x5c1cb7
sub ecx, esi
mov dword [ebx + 0x198], ecx
sub edx, esi
mov dword [ebx + 0x19c], edx
mov ebp, dword [0x81dcc0]
mov eax, edx
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [edi + esi]
test ebp, ebp
jne 0x5c1276
mov dword [ebx + 0x194], edx
jmp 0x5c131d
lea edi, [ebx + 0x194]
mov ebp, eax
mov eax, edx
call fcn.00462500
mov eax, ebp
jmp 0x5c131d
mov eax, dword [0x7f8240]
mov ecx, dword [0x7f8244]
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], ecx
add esp, 0x334
ret
mov eax, dword [0x7f8238]
mov ecx, dword [0x7f823c]
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], ecx
add esp, 0x334
ret
mov eax, dword [0x7f8238]
mov ecx, dword [0x7f823c]
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], ecx
add esp, 0x334
ret
mov eax, dword [0x7f8238]
mov ecx, dword [0x7f823c]
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], ecx
add esp, 0x334
ret
mov ebx, dword [esp + 0x68]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0059c5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x5c1ba6
mov dword [esp + 0x5c], eax
mov esi, dword [eax + 0x24]
cmp dword [eax + 0x28], 1
je 0x5c1356
xor ecx, ecx
jmp 0x5c1395
lea edi, [esp + 0x284]
call fcn.00462af8
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 + 0x288]
call fcn.00462c4c
call fcn.0059ea60
mov eax, dword [esp + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x5c]
test ecx, ecx
je 0x5c1b6a
mov dword [esp + 0x54], ecx
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.0046278e
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x5c]
mov dword [esp], edx
call fcn.004f66c0
mov ecx, dword [esp + 4]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x40], edx
lea ebx, [0x5ffa00]
mov dword [esp], ebx
shl edx, 1
mov dword [esp + 0x3c], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00449ec0
mov ecx, dword [esp + 0xc]
nop
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x58]
xor eax, eax
xor esi, esi
jmp 0x5c1bcb
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0044dd40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xec], ecx
lea esi, [eax + 0x16c]
lea edi, [esp + 0xcc]
call fcn.00462c7e
lea esi, [eax + 0x158]
lea edi, [esp + 0xb8]
call fcn.00462c7e
lea esi, [eax + 0x60]
lea edi, [esp + 0x16c]
call fcn.00462b7a
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x170]
test edx, edx
je 0x5c1488
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
jmp 0x5c148c
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x19c]
mov ebp, dword [esp + 0x1a0]
test ebp, ebp
je 0x5c14dd
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x630dd1]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.0044db30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x190]
mov ebp, dword [esp + 0x194]
test ebp, ebp
je 0x5c152e
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x630dd1]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.0044db30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x178]
mov ebp, dword [esp + 0x17c]
test ebp, ebp
je 0x5c157b
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x630dd1]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.0044db30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x1cc]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x630dd1]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.0044db30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x54]
lea esi, [eax + 0xdc]
lea edi, [esp + 0xf0]
call fcn.00462b7a
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x5c15fc
mov ecx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x5c1600
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
test ebx, ebx
je 0x5c164d
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, [0x630dd1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.0044db30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
test ebx, ebx
je 0x5c169a
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, [0x630dd1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.0044db30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
test ebx, ebx
je 0x5c16e7
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, [0x630dd1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.0044db30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x630dd1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call fcn.0044db30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x338]
mov byte [eax + 0x2ab], 1
mov ecx, dword [eax + 0x2bc]
movzx ecx, byte [ecx + 0xc]
test cl, cl
je 0x5c175c
xor ecx, ecx
jmp 0x5c17f4
call fcn.005c1cd0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
test ecx, ecx
je 0x5c17d6
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
test edx, edx
je 0x5c178b
mov edx, dword [edx + 4]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x338]
mov ecx, dword [eax + 0x2c0]
mov dword [esp], ecx
lea ecx, [0x640df6]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1d
lea edx, [esp + 0x78]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.004f0650
xor eax, eax
jmp 0x5c17f2
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0059cd30
mov eax, dword [esp + 8]
test eax, eax
setne al
xor eax, 1
mov ecx, eax
mov byte [esp + 0x3b], cl
lea edi, [esp + 0x94]
xor eax, eax
call fcn.0046279b
mov ecx, dword [esp + 0x5c]
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.005c26b0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
lea edi, [esp + 0x94]
lea esi, [esp + 0xc]
call fcn.00462c7e
lea edi, [esp + 0x80]
lea esi, [esp + 0x94]
call fcn.00462c7e
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x5c18c9
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
test edx, edx
je 0x5c1874
mov edx, dword [edx + 4]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x338]
mov ecx, dword [eax + 0x2c0]
mov dword [esp], ecx
lea ecx, [0x644d77]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
lea edx, [esp + 0x78]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.004f0650
mov ecx, dword [esp + 0x338]
xor eax, eax
jmp 0x5c1980
mov ecx, dword [esp + 0x338]
mov edx, dword [ecx + 0x2bc]
movzx edx, byte [edx + 0xd]
test dl, dl
je 0x5c18e5
xor eax, eax
jmp 0x5c1980
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.004bced0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x338]
mov dword [esp], eax
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005c0870
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test ecx, ecx
jbe 0x5c1c9c
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [esp + 0x88]
cmp dword [esp + 0x8c], ecx
je 0x5c1964
xor eax, eax
jmp 0x5c1979
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x80]
mov dword [esp + 0xe8], edx
lea edi, [esp + 0x1e8]
mov edx, eax
xor eax, eax
call fcn.00462779
lea edi, [esp + 0x1e8]
mov esi, dword [esp + 0x5c]
call fcn.00462c24
lea edi, [esp + 0x220]
lea esi, [esp + 0x80]
call fcn.00462c7e
mov byte [esp + 0x234], dl
lea edi, [esp + 0x238]
lea esi, [esp + 0xa8]
call fcn.00462bfc
movzx ecx, byte [esp + 0x3b]
mov byte [esp + 0x280], cl
mov ecx, dword [esp + 0x338]
mov edx, dword [ecx + 0x1a4]
inc edx
mov ebx, dword [ecx + 0x1a0]
mov ebp, dword [ecx + 0x1a8]
cmp ebp, edx
jae 0x5c1a6a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6197c0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x338]
mov dword [ebx + 0x1a8], edx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5c1a52
mov dword [ebx + 0x1a0], eax
jmp 0x5c1a5d
lea edi, [ebx + 0x1a0]
call fcn.00462500
mov edx, ecx
mov ebx, eax
xor eax, eax
mov ecx, dword [esp + 0x338]
mov dword [ecx + 0x1a4], edx
imul edx, edx, 0x9c
lea edi, [edx + ebx - 0x9c]
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5c1a95
lea esi, [esp + 0x1e8]
call fcn.00462b2a
jmp 0x5c1ab2
lea eax, [0x6197c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1e8]
mov dword [esp + 8], eax
call fcn.004106f0
lea eax, [0x619140]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
lea ecx, [0x5fb060]
mov dword [esp], ecx
call fcn.0040bcc0
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 + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0xa
lea eax, [0x5f0200]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
call fcn.0059d770
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x5c1310
jmp 0x5c1c17
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x642841]
mov dword [eax], ecx
lea ecx, [0x68bbe4]
mov dword [esp + 0x344], ecx
mov dword [esp + 0x348], eax
add esp, 0x334
ret
mov dword [esp + 0x344], edx
mov dword [esp + 0x348], ebx
add esp, 0x334
ret
mov byte [esi + ecx + 1], dl
inc eax
add esi, 2
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x58]
cmp eax, edx
jge 0x5c1404
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, [0x6396a1]
movzx edi, byte [ebp + edi]
cmp esi, ebx
jae 0x5c1cae
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 0x5c1bbb
jmp 0x5c1ca5
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
lea eax, [0x60eb00]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax], 0
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
lea ebx, [0x604d80]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0046a010
movzx eax, byte [esp + 0x10]
test al, al
je 0x5c1c7f
mov dword [esp + 0x344], 0
mov dword [esp + 0x348], 0
add esp, 0x334
ret
mov eax, dword [esp + 0x64]
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x348], eax
add esp, 0x334
ret
xor eax, eax
mov ecx, eax
call fcn.00462580
mov eax, edi
mov ecx, ebx
call fcn.00462580
mov eax, esi
mov ecx, ebx
call fcn.00462580
mov eax, esi
call fcn.004625f0
call fcn.004625d0
nop
call fcn.004610f0
jmp fcn.005c10f0