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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x5c0cb6
sub esp, 0xa0
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x5c0378
nop
movzx edx, byte [0x7bd150]
test dl, dl
je 0x5c0335
mov edx, dword [esp + 0xb0]
mov dword [0x7bd154], edx
mov ebx, dword [0x7e34c0]
test ebx, ebx
jne 0x5c0321
mov eax, dword [esp + 0xb4]
mov dword [0x7bd158], eax
jmp 0x5c0343
lea edi, [0x7bd158]
mov eax, dword [esp + 0xb4]
call fcn.00463860
jmp 0x5c0343
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x5c036e
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5c036a
or ebx, 0x80
mov ebp, eax
jmp 0x5c038c
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x5c038c
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
jne 0x5c03c3
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004c2b50
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, ebx
nop
mov ebx, esi
and esi, 0x1f
lea edi, [esi - 2]
nop
cmp edi, 4
ja 0x5c03d9
mov edi, 2
jmp 0x5c03f9
lea edi, [esi - 7]
cmp edi, 4
ja 0x5c03e8
mov edi, 7
jmp 0x5c03f9
lea edi, [esi - 0xd]
cmp edi, 1
ja 0x5c03f7
mov edi, 0xd
jmp 0x5c03f9
mov edi, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
test ebx, ebx
je 0x5c042d
test ebx, 0x200
jne 0x5c042d
mov dword [esp + 0x3c], eax
lea eax, [0x676140]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
jmp 0x5c0467
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
cmp edi, 2
jne 0x5c04f3
cmp esi, 3
ja 0x5c0496
cmp esi, 2
jne 0x5c0483
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5c04c1
cmp esi, 3
jne 0x5c0c7b
movsx eax, byte [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5c04c1
cmp esi, 4
jne 0x5c04a5
movsx eax, word [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5c04c1
cmp esi, 5
jne 0x5c04b3
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5c04c1
cmp esi, 6
jne 0x5c0c7b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4870
jmp 0x5c0a48
cmp edi, 7
jne 0x5c0580
cmp esi, 9
ja 0x5c0528
cmp esi, 7
jne 0x5c050c
mov eax, dword [eax]
xor edx, edx
jmp 0x5c054e
cmp esi, 8
jne 0x5c0518
movzx eax, byte [eax]
xor edx, edx
jmp 0x5c054e
cmp esi, 9
jne 0x5c0c41
movzx eax, word [eax]
xor edx, edx
jmp 0x5c054e
cmp esi, 0xa
jne 0x5c0533
mov eax, dword [eax]
xor edx, edx
jmp 0x5c054e
cmp esi, 0xb
jne 0x5c0541
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, ecx
jmp 0x5c054e
cmp esi, 0xc
jne 0x5c0c41
mov eax, dword [eax]
xor edx, edx
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
call fcn.004c4870
jmp 0x5c0a48
cmp edi, 0xd
jne 0x5c05e5
cmp esi, 0xd
jne 0x5c0594
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
jmp 0x5c05a1
cmp esi, 0xe
jne 0x5c0c07
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
call fcn.0045c6d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4870
jmp 0x5c0a48
cmp edi, 1
jne 0x5c06aa
mov ebp, dword [esp + 0xa4]
mov edx, dword [ebp]
movzx edx, byte [edx + 0xb]
test dl, dl
je 0x5c069c
cmp esi, 1
je 0x5c0621
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004c1aa0
mov eax, dword [esp + 0x58]
movzx eax, byte [eax]
test al, al
je 0x5c0662
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call fcn.004c4870
jmp 0x5c0a48
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.004c4870
jmp 0x5c0a48
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
cmp edi, 0x18
jne 0x5c0889
mov edi, dword [esp + 0xa4]
mov edi, dword [edi]
movzx edi, byte [edi + 0xb]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5c0889
cmp esi, 0x18
jne 0x5c06d6
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5c06f2
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004c52e0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c0701
mov eax, 1
lea ecx, [0x6732a4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x5c072b
test edx, 0x200
jne 0x5c072b
lea ebx, [0x676140]
mov ebp, dword [esp + 0xb8]
jmp 0x5c0755
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov eax, dword [ebx + 0x18]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.004b06f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5c0857
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0dc0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c07fe
mov ebx, dword [eax + 4]
jmp 0x5c0800
mov ebx, eax
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
lea eax, [0x625d47]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xa0
ret
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4870
jmp 0x5c0a48
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x78]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp dword [esp + 8], 0xd
je 0x5c08a8
xor eax, eax
jmp 0x5c08c7
mov dword [esp], eax
lea eax, [0x61e84b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.00402a50
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c08cf
xor ecx, ecx
jmp 0x5c08ff
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp dword [esp + 8], 6
jne 0x5c08fd
cmp dword [eax], 0x626d754e
jne 0x5c08fd
cmp word [eax + 4], 0x7265
sete cl
jmp 0x5c08ff
xor ecx, ecx
test cl, cl
je 0x5c0a65
mov eax, dword [esp + 0xb0]
lea ecx, [0x5fdc40]
cmp eax, ecx
jne 0x5c0bf1
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
nop
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004b06f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x5c0a1b
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0dc0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c09c2
mov ecx, dword [eax + 4]
jmp 0x5c09c4
mov ecx, eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x7c], eax
lea eax, [0x62a0ac]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xa0
ret
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
call fcn.004c4870
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xa0
ret
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x5c0a8f
test ecx, 0x200
jne 0x5c0a8f
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov edx, ecx
lea eax, [0x676140]
mov ecx, dword [esp + 0xb8]
jmp 0x5c0abb
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
test edx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x24], eax
je 0x5c0ad9
test edx, 0x200
jne 0x5c0ad9
lea edx, [0x676140]
mov ebx, dword [esp + 0x54]
jmp 0x5c0afd
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x48], ebx
lea edi, [esp + 0x80]
xor eax, eax
call fcn.00463a88
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.004096f0
mov ecx, dword [esp + 8]
lea edx, [0x5f0dc0]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x5c0b52
mov eax, dword [ecx + 4]
jmp 0x5c0b54
mov eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5c0b73
mov edx, dword [eax + 4]
jmp 0x5c0b75
mov edx, eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x9c], eax
lea eax, [0x62e67b]
mov dword [esp], eax
mov dword [esp + 4], 0x41
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xa0
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5f0700]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [0x5fc1a0]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x621412]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x5f5160]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
lea eax, [0x5fc1a0]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x620a95]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x5f5160]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
lea eax, [0x5fc1a0]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x620287]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x5f5160]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
nop
call fcn.00462450
jmp fcn.005c02c0