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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x57e9ff
sub esp, 0x8c
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.00465fe2
lea edi, [esp + 0x54]
call fcn.00465fe2
mov ecx, dword [esp + 0x94]
cmp ecx, 6
jl 0x57e368
mov eax, dword [esp + 0x90]
movzx edx, byte [eax + 1]
movzx ebx, byte [eax]
shl ebx, 8
or edx, ebx
mov word [esp + 0x54], dx
movzx edx, byte [eax + 2]
mov byte [esp + 0x56], dl
movzx ebx, byte [eax + 3]
mov byte [esp + 0x57], bl
movzx ebx, byte [eax + 4]
mov byte [esp + 0x58], bl
movzx ebx, byte [eax + 5]
mov byte [esp + 0x59], bl
movzx edx, dl
mov ebx, edx
shl edx, 1
lea ebp, [edx + 6]
cmp ecx, ebp
jl 0x57e29f
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebp
lea eax, [0x69b640]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
xor ebp, ebp
jmp 0x57e41c
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], ebp
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x702e43]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
lea eax, [0x702855]
mov dword [esp], eax
mov dword [esp + 4], 0x32
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
mov ebp, dword [esp + 0x34]
mov word [ebp + esi*2], bx
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x98]
mov edx, ebx
mov ebx, dword [esp + 0x94]
cmp ebp, eax
jge 0x57e477
mov esi, ebp
shl ebp, 1
mov edi, ebp
add ebp, 6
cmp ebx, ebp
jb 0x57e9f5
sub edx, edi
lea ebx, [edx - 6]
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x94]
sub ebx, edi
add ebx, 0xfffffffa
cmp ebx, 1
jbe 0x57e9e9
mov ebx, dword [esp + 0x60]
mov edi, ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x34], ebx
movzx ebx, byte [ecx + ebp + 1]
movzx ebp, byte [ecx + ebp]
shl ebp, 8
or ebx, ebp
cmp esi, edi
jb 0x57e400
jmp 0x57e9e0
movzx ebp, word [esp + 0x54]
mov esi, ebx
lea ebx, [ebp + eax*2 + 6]
mov edi, ebp
lea ebp, [ebp + eax*2]
cmp esi, ebx
jl 0x57e740
cmp edx, ebx
jb 0x57e9d9
mov eax, dword [esp + 0x24]
cmp ebx, eax
jb 0x57e9d2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebp
mov ebx, dword [esp + 0x28]
sub edx, ebx
lea ebx, [edx - 6]
mov edx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [ecx + eax]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edx
mov eax, ebx
movzx ebx, word [esp + 0x54]
mov edx, ebx
lea ebx, [ebx + ebp + 6]
add ebp, edx
cmp esi, ebx
jl 0x57e677
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x98]
cmp ebp, ebx
jb 0x57e9c9
mov ebp, dword [esp + 0x20]
cmp ebp, ebx
ja 0x57e9c0
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x2c]
sub ebx, ebp
add ebx, 0xfffffffa
mov dword [esp + 0x2c], ebx
neg ebx
sar ebx, 0x1f
mov ebp, dword [esp + 0x20]
and ebp, ebx
lea ebx, [ebp + ecx]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x7c], ebp
nop
movzx ebp, byte [esp + 0x57]
movzx ebx, byte [esp + 0x58]
imul ebp, ebx
mov dword [esp + 0x1c], ebp
mov ebx, dword [esp + 0x28]
lea ebp, [ebp + ebx + 6]
cmp esi, ebp
jl 0x57e5ae
mov esi, ebx
mov ebx, dword [esp + 0x98]
cmp ebx, ebp
jb 0x57e9b7
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x24]
cmp ebp, edx
jb 0x57e9ae
sub ebx, esi
add ebx, 0xfffffffa
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebp
xor ecx, ecx
jmp 0x57e80a
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], ebp
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x702e43]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x702e43]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x702e43]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
inc ecx
cmp ecx, ebx
jge 0x57e846
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp byte [esp + 0x56], al
xchg ebp, eax
ja 0x57e809
lea eax, [0x6a9700]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2a
lea ecx, [0x6fff7b]
mov dword [eax], ecx
lea ecx, [0x785138]
jmp 0x57e8d3
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x57e853
inc ebx
cmp ebx, edi
jge 0x57e8cf
jae 0x57e9a5
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp byte [esp + 0x57], al
xchg ebp, eax
jbe 0x57e8a6
cmp ebx, ecx
jae 0x57e99e
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp byte [esp + 0x58], al
xchg ebp, eax
ja 0x57e852
lea eax, [0x6a9700]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x701d11]
mov dword [eax], ecx
lea ecx, [0x785138]
jmp 0x57e8d3
lea eax, [0x6a9700]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2f
lea ecx, [0x701930]
mov dword [eax], ecx
lea ecx, [0x785138]
jmp 0x57e8d3
xor ecx, ecx
xor eax, eax
test ecx, ecx
je 0x57e966
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
je 0x57e8f0
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
lea eax, [0x6f6cf9]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
add esp, 0x8c
ret
lea edi, [esp + 0x9c]
lea esi, [esp + 0x54]
call fcn.00466474
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
add esp, 0x8c
ret
mov eax, ebx
call fcn.00465e00
mov eax, ebx
mov ecx, edi
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e60
mov ecx, ebp
mov edx, ebx
call fcn.00465e40
mov eax, ebp
mov ecx, ebx
call fcn.00465e60
mov ecx, ebx
mov edx, ebp
call fcn.00465e40
mov ecx, ebx
call fcn.00465e60
mov ecx, ebx
call fcn.00465e40
mov eax, esi
mov ecx, edi
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, ebp
mov ecx, ebx
call fcn.00465e60
nop
call fcn.004649b0
jmp fcn.0057e1c0