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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x5a3e1b
sub esp, 0xc4
mov eax, 0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
call fcn.0040a6c0
mov eax, dword [esp]
mov dword [esp + 0xb0], eax
call fcn.0040a6c0
mov eax, dword [esp]
mov dword [esp + 0xac], eax
lea ecx, [0x7dd020]
mov dword [esp], ecx
call fcn.00409c40
mov edi, dword [esp + 4]
mov eax, dword [0xb92b90]
test eax, eax
jne 0x5a3de5
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov eax, dword [esp + 0xac]
mov dword [edi + 4], eax
mov dword [esp + 0x80], edi
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp], 8
lea eax, [0x859350]
mov dword [esp + 4], eax
call fcn.004268a0
test eax, eax
jne 0x5a3dd8
mov eax, dword [esp + 0xcc]
mov ecx, eax
add eax, 0xa00000
mov edx, dword [esp + 0xd0]
mov ebx, edx
adc edx, 0
jmp 0x5a340b
mov ebp, ebx
mov ebx, eax
mov eax, edx
mov edx, ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], ecx
mov ebp, dword [esp + 0xc8]
mov dword [esp], ebp
call fcn.005a51c0
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [0xb80668]
cmp edx, ebx
je 0x5a3d66
test edx, edx
jne 0x5a3d40
mov dword [esp], eax
call fcn.005a40d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5a3488
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x5a3403
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call fcn.005a4190
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x84], ecx
lea edx, [0x7f17a0]
mov dword [esp], edx
call fcn.00409c40
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x5a374d
mov eax, dword [esp + 0x54]
add eax, 1
lea edx, [0x8b2690]
mov dword [esp], edx
lea ebx, [0x8b2e70]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
adc eax, 0
mov dword [esp + 0x14], eax
call fcn.00460160
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x5a3568
mov dword [esp + 0x90], edx
mov dword [esp + 0x68], ebx
mov ebp, dword [0xb80668]
cmp ebp, ebx
jne 0x5a371c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [0xb8066c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a371c
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
sbb ecx, edx
test ecx, ecx
sete dl
test eax, eax
setb bl
and ebx, edx
test ecx, ecx
setl dl
or ebx, edx
test bl, bl
jne 0x5a36ea
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x5a36da
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [edx + 0xc]
mov edx, dword [edx + 8]
cmp esi, ebx
ja 0x5a3e14
mov dword [esp], 0
sub edx, esi
mov eax, edx
neg edx
sar edx, 0x1f
and edx, esi
lea ecx, [ebp + edx]
mov dword [esp + 4], ecx
sub ebx, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0043beb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
mov dword [esp + 4], ebx
lea ebx, [0x7b9e40]
mov dword [esp], ebx
mov ebp, dword [esp + 0x7c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
call fcn.0040ec90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x5a3681
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
lea ecx, [ebx + edx*8 + 4]
mov ebp, dword [esp + 0x2c]
mov dword [ecx], ebp
lea edi, [ebx + edx*8]
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x5a3676
mov eax, dword [esp + 0x74]
mov dword [edi], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x5a3403
mov eax, dword [esp + 0x74]
call fcn.0044c990
jmp 0x5a365b
mov dword [esp + 0xa4], eax
lea eax, [0x7b48a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xa4]
mov dword [edi + 8], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x5a36d3
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x5a3638
call fcn.0044c990
jmp 0x5a36c8
mov eax, 5
lea ecx, [0x833c54]
jmp 0x5a35f2
mov eax, dword [0xb806c4]
mov ecx, dword [0xb806c0]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
nop
call fcn.00427060
add esp, 0xc4
ret
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xdc], eax
nop
call fcn.00427060
add esp, 0xc4
ret
mov eax, dword [esp + 0xcc]
add eax, 1
mov dword [esp + 0x70], eax
lea edx, [0x7fbea0]
mov dword [esp], edx
call fcn.00409c40
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [0xb92b90]
mov ecx, dword [esp + 0xcc]
mov edx, ecx
add ecx, 1
mov ecx, dword [esp + 0xd0]
mov ebx, ecx
adc ecx, 0
test eax, eax
jne 0x5a3d2f
mov ebp, dword [esp + 0x84]
mov dword [edi], ebp
mov dword [esp + 0x88], edi
mov ebp, dword [0xb92b90]
mov esi, dword [esp + 0xa8]
mov eax, dword [esi]
test ebp, ebp
jne 0x5a3d20
mov dword [edi + 8], eax
lea eax, [0x8b2690]
mov dword [esp], eax
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
lea ebx, [0x8b2e70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.00460160
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
test edx, edx
je 0x5a384f
mov dword [esp + 0x94], ecx
mov dword [esp + 0x64], edx
mov ebp, dword [0xb80668]
cmp ebp, edx
jne 0x5a3cef
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xb8066c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a3cef
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xd0]
cmp ecx, edx
sete bl
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0xcc]
cmp ebp, esi
mov eax, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, ebx
cmp ecx, edx
setg bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5a3a38
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 8]
mov edi, ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ecx, edx
ja 0x5a3e0d
sub esi, eax
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x54]
sub esi, eax
mov dword [esp + 0x6c], esi
sub edx, ecx
mov dword [esp + 0x28], edx
mov esi, dword [esp + 0x88]
mov dword [esi + 0x18], edx
sub ebp, ecx
mov dword [esi + 0x1c], ebp
mov edx, dword [0xb92b90]
mov esi, dword [esp + 0xcc]
sub esi, eax
mov esi, dword [esp + 0xd0]
sbb esi, edi
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x54]
sub esi, eax
mov esi, dword [esp + 0x58]
sbb esi, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
lea eax, [ebx + ecx]
test edx, edx
jne 0x5a3a24
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0xc], eax
sar eax, 0x1f
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], esi
mov ecx, dword [esp + 0x80]
mov ebp, dword [ecx + 4]
mov dword [esp + 4], ebp
lea ebp, [0x7b9d00]
mov dword [esp], ebp
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], edi
call fcn.0040ec90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x5a39cb
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov ecx, dword [0xb92b90]
lea edi, [ebx + edx*4]
test ecx, ecx
jne 0x5a39bd
mov eax, dword [esp + 0x88]
mov dword [ebx + edx*4], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x5a3403
mov eax, dword [esp + 0x88]
call fcn.0044c990
jmp 0x5a39a2
mov dword [esp + 0xa0], eax
lea eax, [0x7c6ea0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xa0]
mov dword [edi + 8], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x5a3a1d
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x5a3985
call fcn.0044c990
jmp 0x5a3a12
mov ecx, dword [esp + 0x88]
lea edi, [ecx + 0x14]
call fcn.0044c990
jmp 0x5a3914
mov dword [esp], 0
mov dword [esp + 4], 0
lea eax, [0x837ef0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa
call fcn.004d4000
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test ecx, ecx
jne 0x5a3cc9
mov dword [esp + 0x8c], edx
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x8b2670]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xb8], ecx
lea ecx, [0x8b2e70]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc0], edx
lea edx, [0x7cbae0]
mov dword [esp], edx
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.00438a20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], edx
lea ebx, [0x7cbae0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea ebp, [esp + 0xb4]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.0040f890
lea eax, [0x7d1520]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0xb92b90]
test eax, eax
jne 0x5a3cbb
mov eax, dword [esp + 0x78]
mov dword [edi], eax
lea eax, [0x8b31d0]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
lea edx, [0x8b2e30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
call fcn.00460290
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp], ebp
call fcn.00490390
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x5a3cb2
mov eax, dword [esp + 0x98]
test edx, edx
jne 0x5a3c53
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
test byte [ecx], al
mov eax, dword [edx + 0x140]
mov ecx, dword [edx + 0x144]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x24], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x5a3c49
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x30]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
jmp 0x5a3930
lea edi, [edx + 0x20]
call fcn.0044c990
jmp 0x5a3c20
mov dword [esp + 0x98], eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
test byte [eax], al
mov eax, dword [ecx + 0x140]
mov ecx, dword [ecx + 0x144]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004907e0
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xdc], eax
nop
call fcn.00427060
add esp, 0xc4
ret
mov edx, eax
mov eax, ecx
jmp 0x5a3bee
mov eax, dword [esp + 0x78]
call fcn.0044c990
jmp 0x5a3b7a
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
nop
call fcn.00427060
add esp, 0xc4
ret
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xdc], eax
nop
call fcn.00427060
add esp, 0xc4
ret
lea ebp, [edi + 8]
mov edi, ebp
call fcn.0044c990
jmp 0x5a37c4
mov eax, dword [esp + 0x84]
call fcn.0044c990
jmp 0x5a37a3
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
nop
call fcn.00427060
add esp, 0xc4
ret
mov dword [esp + 0x94], ecx
mov dword [esp + 0x64], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xb8066c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5a3da7
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x64]
jmp 0x5a3451
mov eax, dword [esp + 0x80]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
nop
call fcn.00427060
add esp, 0xc4
ret
nop
call fcn.00427060
add esp, 0xc4
ret
mov eax, dword [esp + 0xb0]
call fcn.0044c990
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044c990
mov edi, edx
jmp 0x5a33b3
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.0044b230
jmp fcn.005a3300