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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x5a3f3d
sub esp, 0x10c
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x5a33d2
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x11c]
cmp ebx, edx
jb 0x5a331a
mov ebp, dword [esp + 0x114]
jmp 0x5a335d
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x67e920]
mov dword [esp + 0x10], ecx
call fcn.00447800
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 + 0x124]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x108], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fe60
mov eax, dword [esp + 0x108]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
add esp, 0x10c
ret
mov dword [esp], eax
call fcn.005a25e0
mov eax, dword [esp + 4]
test eax, eax
jg 0x5a3402
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov ebx, dword [esp + 0x11c]
xor eax, eax
xor ebp, ebp
xor edx, edx
jmp 0x5a358f
mov dword [esp + 0x94], eax
nop
mov ecx, dword [esp + 0x118]
lea edx, [ecx + eax]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x11c]
cmp ebx, edx
jl 0x5a342c
mov ebp, dword [esp + 0x114]
jmp 0x5a3457
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.004475f0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x5c]
mov ebp, eax
mov dword [esp + 0xec], ebp
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lea esi, [0x68de60]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00408ca0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x118]
mov ebx, ecx
sub ecx, edx
mov dword [esp + 0x9c], ecx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [esp + 0xec]
add edx, ecx
mov dword [esp + 0xf0], edx
test eax, eax
jne 0x5a3523
mov eax, dword [esp + 0x94]
cmp eax, 0x10
jge 0x5a352a
cmp eax, 8
jle 0x5a34da
mov esi, 8
jmp 0x5a34dc
mov esi, eax
mov edi, dword [esp + 0x110]
add edi, 0x24
cmp edi, edx
je 0x5a358b
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0045fe60
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x9c]
jmp 0x5a358b
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
call fcn.00493760
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x5a3dca
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xf0], edx
mov edi, dword [esp + 0x110]
mov edx, dword [edi + 0x14]
mov ebp, dword [edi + 0x18]
test edx, edx
je 0x5a3f24
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xa4], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0x80], esi
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x84], ebx
lea eax, [0x685a80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00408ca0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5a3824
mov dword [esp + 0x104], ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [eax + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0xd
lea ecx, [eax + 0x24]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], 8
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 5
mov edx, dword [esp + 0x84]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x2c], ebx
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0x128]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.005a11d0
mov eax, dword [esp + 0x44]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x124]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x80]
add ebp, esi
mov dword [esp + 0x58], ebp
mov edi, dword [esp + 0x84]
cmp edi, ebp
jl 0x5a3702
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xe8], eax
jmp 0x5a3740
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], eax
call fcn.004475f0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x124]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x58]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
sub edi, esi
mov dword [esp + 0xa0], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
mov edi, dword [esp + 0xe8]
add esi, edi
mov dword [esp + 0xf4], esi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x120]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x128]
mov dword [esp + 0x18], edi
call ecx
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x124]
sub ecx, edx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [esp + 0xf4]
add ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
call eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
jmp 0x5a3e9a
lea eax, [0x697c60]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], ecx
call fcn.00408ca0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5a3b41
mov edx, dword [esp + 0x98]
test edx, edx
jne 0x5a3879
mov ebx, dword [esp + 0x110]
lea edx, [ebx + 0x24]
mov ebp, 8
mov esi, 8
jmp 0x5a3890
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x9c]
mov esi, edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], esi
cmp word [ebx + 0x10], 0x304
jne 0x5a3aa0
mov dword [esp + 0x100], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x124]
lea ebp, [ebx + edi]
mov esi, dword [esp + 0x84]
cmp esi, ebp
jb 0x5a38ec
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x108], eax
jmp 0x5a3934
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x67e920]
mov dword [esp + 0x10], eax
call fcn.00447800
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x108], ecx
mov esi, ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebp
mov eax, dword [esp + 0x108]
lea ecx, [eax + edi]
mov dword [esp], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0xb4]
inc eax
mov ecx, dword [esp + 0x108]
movzx edx, byte [ecx]
mov ebx, dword [esp + 0xb8]
cmp ebx, eax
jae 0x5a39bf
mov byte [esp + 0x53], dl
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x67e920]
mov dword [esp + 0x10], eax
call fcn.00447800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0x53]
mov ebx, esi
mov ebp, ecx
mov ecx, eax
mov eax, ebp
mov dword [esp + 0x108], ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], ebx
mov byte [eax + ecx - 1], dl
mov byte [ecx], 0x17
mov edx, dword [esp + 0xac]
mov ebp, dword [edx + 0x18]
mov esi, dword [esp + 0x100]
mov dword [esp], esi
call ebp
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x124]
lea eax, [eax + ecx + 1]
mov ecx, eax
sar eax, 8
mov edx, dword [esp + 0x108]
mov byte [edx + 3], al
mov byte [edx + 4], cl
mov eax, dword [esp + 0xac]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 5
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x18], ebx
lea ebx, [ecx - 5]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 5
add ebx, edx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0xb8]
add ebx, 0xfffffffb
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 5
mov dword [esp + 0x30], ecx
call eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
jmp 0x5a3e9a
mov edi, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x28]
mov dword [ebx + 0x2c], edi
mov dword [ebx + 0x30], ebp
mov ebp, dword [esp + 0xe0]
mov edi, dword [ebp]
movzx esi, byte [ebp + 4]
mov dword [ebx + 0x34], edi
xchg esi, eax
mov byte [ebx + 0x38], al
xchg esi, eax
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x24], ecx
lea ecx, [ebx + 0x2c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], 0xd
mov dword [esp + 0x30], 0xd
call eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
jmp 0x5a3e9a
lea eax, [0x68de60]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00408ca0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5a3f24
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [eax + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0xd
lea ecx, [eax + 0x24]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], 8
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 5
mov edx, dword [esp + 0x84]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x2c], ebx
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0x128]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.005a11d0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xd8], ebx
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x124]
lea ebx, [edx + ecx]
test eax, eax
je 0x5a3f1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov eax, ebx
mov esi, edx
cmp ebp, 0xffffffff
je 0x5a3c78
cdq
idiv ebp
jmp 0x5a3c7a
xor edx, edx
sub ebp, edx
mov dword [esp + 0x64], ebp
lea edx, [ebx + ebp]
mov dword [esp + 0x70], edx
mov edi, dword [esp + 0x80]
mov eax, ebp
lea ebp, [edx + edi]
mov dword [esp + 0x54], ebp
mov ebx, dword [esp + 0x84]
cmp ebx, ebp
jl 0x5a3cc0
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xbc]
jmp 0x5a3d0c
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], eax
call fcn.004475f0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x80]
mov ebx, ebp
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x88], ebx
sub ebx, edi
mov dword [esp + 0xa0], ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
mov edi, dword [esp + 0xe4]
add ebx, edi
cmp esi, edx
jl 0x5a3d32
mov esi, edx
mov dword [esp + 0xf4], ebx
mov ebp, dword [esp + 0x120]
cmp ebp, ebx
je 0x5a3d6e
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045fe60
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x124]
sub ebp, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
add ebp, ebx
sub edx, esi
cmp ecx, edx
jl 0x5a3d93
mov ecx, edx
mov edx, dword [esp + 0xd8]
cmp edx, ebp
je 0x5a3dc0
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
jmp 0x5a3e09
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edx
add esp, 0x10c
ret
lea ebp, [eax - 1]
xchg ebp, eax
mov byte [ebx + edx], al
xchg ebp, eax
inc edx
cmp edx, ecx
jl 0x5a3e00
mov eax, dword [esp + 0x98]
test eax, eax
je 0x5a3e53
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 0x18]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
call edx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0xf4]
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
lea ebx, [ecx - 5]
mov ebp, ebx
sar ebx, 8
mov byte [eax + 3], bl
xchg ebp, ebx
mov byte [eax + 4], bl
xchg ebp, ebx
nop
mov ebx, dword [esp + 0x110]
mov ebp, 7
jmp 0x5a3ebc
dec ebp
test ebp, ebp
jl 0x5a3f07
movzx esi, byte [ebx + ebp + 0x24]
lea edi, [esi + 1]
xchg edi, eax
mov byte [ebx + ebp + 0x24], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
je 0x5a3ebb
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
add esp, 0x10c
ret
lea eax, [0x67e720]
mov dword [esp], eax
lea eax, [0x895010]
mov dword [esp + 4], eax
call fcn.00433690
call fcn.00432570
lea eax, [0x67e720]
mov dword [esp], eax
lea eax, [0x895018]
mov dword [esp + 4], eax
call fcn.00433690
nop
call fcn.0045e260
jmp fcn.005a32c0