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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x364]
cmp eax, dword [ecx + 8]
jbe 0x5c3198
sub esp, 0x3e4
mov edx, dword [esp + 0x3e8]
mov ebx, dword [edx + 0x2ac]
mov eax, dword [edx + 0x3c]
add ebx, 0xfffffffc
cmp eax, ebx
jbe 0x5c2b92
mov ecx, dword [0x7c3d28]
xor ebx, ebx
jmp 0x5c2bc6
mov ecx, dword [edx + 0x28c]
cmp ecx, eax
jb 0x5c3192
mov ebx, dword [edx + 0x290]
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp ecx, 3
jbe 0x5c3188
mov ebp, dword [edx + 0x288]
mov ebx, dword [ebp + ebx]
xor ecx, ecx
test ecx, ecx
jne 0x5c3154
mov ecx, ebx
and ebx, 0xffff
cmp ebx, 0x454e
je 0x5c3133
cmp ebx, 0x454c
je 0x5c3112
cmp ebx, 0x584c
je 0x5c30f1
cmp ebx, 0x5a56
je 0x5c30d0
cmp ecx, 0x4550
jne 0x5c30af
mov dword [esp + 0x24], eax
mov dword [edx + 0x60], 0x4550
lea esi, [edx + 0x64]
mov dword [esp + 0x3e0], esi
lea edi, [esp + 0x2c]
call fcn.00467a2e
lea eax, [0x60b200]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004cc720
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x3e8]
mov dword [esp], ecx
lea edx, [0x5e0560]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x24]
lea ebx, [edx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5c3092
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00467518
lea edi, [esp + 0x200]
call fcn.00467514
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
lea ebx, [edx + ecx + 4]
mov ebp, dword [esp + 0x3e8]
mov esi, dword [ebp + 0x2ac]
add esi, 0xfffffffe
add ecx, edx
cmp ebx, esi
jbe 0x5c2cda
mov ecx, dword [0x7c3d28]
mov edx, dword [0x7c3d2c]
mov esi, edx
mov edx, ecx
xor ecx, ecx
jmp 0x5c2d16
mov edx, dword [ebp + 0x28c]
cmp edx, ebx
jb 0x5c317f
mov esi, dword [ebp + 0x290]
sub edx, ecx
sub esi, ecx
lea ecx, [edx - 4]
lea edx, [esi - 4]
neg edx
sar edx, 0x1f
and edx, ebx
cmp ecx, 1
jbe 0x5c3175
mov ecx, dword [ebp + 0x288]
movzx ecx, word [ecx + edx]
xor edx, edx
xor esi, esi
test edx, edx
jne 0x5c307d
mov dword [esp + 0x20], ebx
cmp cx, 0x10b
je 0x5c2e31
cmp cx, 0x20b
jne 0x5c2e10
lea edi, [esp + 0x2f0]
call fcn.00467514
lea ecx, [0x614fa0]
mov dword [esp], ecx
lea edx, [esp + 0x2f0]
mov dword [esp + 4], edx
call fcn.004cc720
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x3e8]
mov dword [esp], edx
lea ebx, [0x5e2220]
mov dword [esp + 4], ebx
lea ebx, [esp + 0x200]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x5c2df3
mov eax, dword [esp + 0x3e8]
mov byte [eax + 0x295], 1
lea ecx, [0x614fa0]
mov dword [esp], ecx
lea edx, [esp + 0x200]
mov dword [esp + 4], edx
call fcn.00409af0
mov eax, dword [esp + 8]
lea ecx, [0x614fa0]
mov edx, dword [esp + 0x3e8]
mov dword [edx + 0x78], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5c2deb
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx + 0x7c]
mov dword [edi + 4], ecx
mov dword [edx + 0x7c], eax
jmp 0x5c2ee9
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3d10]
mov ecx, dword [0x7c3d14]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
lea edi, [esp + 0x120]
lea esi, [esp + 0x40]
call fcn.00467830
lea eax, [0x615320]
mov dword [esp], eax
lea ecx, [esp + 0x120]
mov dword [esp + 4], ecx
call fcn.004cc720
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3e8]
mov dword [esp], ecx
lea edx, [0x5e21e0]
mov dword [esp + 4], edx
lea edx, [esp + 0x40]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5c3060
mov eax, dword [esp + 0x3e8]
mov byte [eax + 0x294], 1
lea ecx, [0x615320]
mov dword [esp], ecx
lea edx, [esp + 0x40]
mov dword [esp + 4], edx
call fcn.00409af0
mov eax, dword [esp + 8]
lea ecx, [0x615320]
mov edx, dword [esp + 0x3e8]
mov dword [edx + 0x78], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5c2ee6
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx + 0x7c]
mov dword [edi + 4], ecx
mov dword [edx + 0x7c], eax
movzx eax, byte [edx + 0x295]
test al, al
je 0x5c2f03
mov ecx, dword [esp + 0x218]
test ecx, 0xffff
jne 0x5c2f1a
movzx ecx, byte [edx + 0x294]
test cl, cl
je 0x5c2f53
mov ebx, dword [esp + 0x5c]
test ebx, 0xffff
je 0x5c2f3b
mov eax, dword [0x7c3d18]
mov ecx, dword [0x7c3d1c]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
test cl, cl
je 0x5c2f4f
add ebx, dword [esp + 0x78]
cmp ebx, 0x80000000
jae 0x5c2f8e
test al, al
jmp 0x5c2f55
test al, al
jmp 0x5c2f55
test al, al
je 0x5c303c
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov ebx, dword [esp + 0x238]
add eax, ebx
adc ecx, 0
cmp ecx, 0xffff0800
seta al
sete cl
and ecx, 1
or eax, ecx
test al, al
je 0x5c303c
mov eax, dword [edx + 0x278]
mov ecx, dword [edx + 0x274]
inc ecx
mov ebx, dword [edx + 0x270]
cmp eax, ecx
jae 0x5c3008
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
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 + 0x3e8]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5c2ffa
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx + 0x270]
mov dword [edi + 4], eax
mov dword [ebx + 0x270], ecx
mov eax, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov dword [edx + 0x274], ecx
lea eax, [ebx + ecx*8 - 4]
mov ebp, dword [0x7c3d24]
lea ecx, [ebx + ecx*8 - 8]
mov ebx, dword [0x7c3d20]
mov dword [eax], ebp
mov eax, dword [0x7f7690]
test eax, eax
je 0x5c303a
call fcn.004672b0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
mov byte [edx + 0x299], 1
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3f0], 0
add esp, 0x3e4
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f0], esi
add esp, 0x3e4
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3d08]
mov ecx, dword [0x7c3d0c]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3d00]
mov ecx, dword [0x7c3d04]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3cf8]
mov ecx, dword [0x7c3cfc]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3cf0]
mov ecx, dword [0x7c3cf4]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3ce8]
mov ecx, dword [0x7c3cec]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, dword [0x7c3ce0]
mov ecx, dword [0x7c3ce4]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f0], ecx
add esp, 0x3e4
ret
mov eax, 1
call fcn.00467310
mov eax, ebx
mov ecx, edx
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
nop
call fcn.00465ea0
jmp fcn.005c2b50