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

Disassembly:
mov eax, 0x4c
call fcn.004ff310
mov eax, dword [0x62acc0]
xor eax, esp
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
xor edx, edx
movsd xmm3, qword [esp + 0x60]
mov ecx, 6
mov dword [esp + 0x14], eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
push esi
mov dword [esp + 0x20], eax
xor esi, esi
mov eax, dword [esp + 0x70]
test eax, eax
push edi
mov edi, dword [esp + 0x58]
cmovs eax, ecx
comisd xmm0, xmm3
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], edi
jbe 0x54034d
xorps xmm3, xmmword [0x617340]
mov dword [esp + 0xc], 0x2d
jmp 0x54036b
test cl, 2
je 0x54035c
mov dword [esp + 0xc], 0x2b
jmp 0x54036b
test cl, 4
mov ecx, 0x20
cmovne edx, ecx
mov dword [esp + 0xc], edx
movsd xmm2, qword [0x616f60]
mov edx, 9
movsd xmm4, qword [0x617028]
cmp eax, edx
cvttsd2si ecx, xmm3
cmovg eax, edx
mov dword [esp + 0x74], eax
movaps xmm1, xmm2
mov dword [esp + 0x10], ecx
cmp eax, esi
je 0x5403a9
nop dword [eax + eax]
mulsd xmm1, xmm4
sub eax, 1
jne 0x5403a0
movsd xmm5, qword [0x616ef8]
cvttsd2si edx, xmm1
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm5
jb 0x5403c8
inc edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x5403d9
mulsd xmm2, xmm4
sub eax, 1
jne 0x5403d0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm0
mulsd xmm3, xmm2
cvttsd2si eax, xmm3
mov dword [esp + 0x18], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm0
comisd xmm3, xmm5
jb 0x540408
inc eax
mov dword [esp + 0x18], eax
cmp eax, edx
jl 0x540417
inc ecx
sub eax, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
xor edi, edi
nop dword [eax]
mov eax, 0x66666667
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
add eax, eax
sub esi, eax
mov al, byte [esi + 0x5f92c4]
mov esi, ecx
mov byte [esp + edi + 0x3c], al
inc edi
test esi, esi
je 0x54044e
cmp edi, 0x14
jl 0x540420
mov dword [esp + 0x14], edi
mov esi, 0
cmp edi, 0x14
jne 0x540467
mov eax, 0x13
mov dword [esp + 0x14], eax
jmp 0x540474
mov eax, dword [esp + 0x14]
cmp eax, 0x14
jae 0x54069d
mov edi, dword [esp + 0x18]
mov byte [esp + eax + 0x3c], 0
nop dword [eax]
mov eax, 0x66666667
imul edi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x74]
lea eax, [ecx + ecx*4]
add eax, eax
sub edi, eax
mov al, byte [edi + 0x5f92c4]
mov edi, ecx
mov byte [esp + esi + 0x28], al
inc esi
cmp esi, edx
jl 0x540480
mov edi, dword [esp + 8]
mov dword [esp + 0x18], esi
cmp esi, 0x14
jne 0x5404c5
mov esi, 0x13
mov dword [esp + 0x18], esi
jmp 0x5404cb
jae 0x54069d
mov ecx, dword [esp + 0xc]
xor eax, eax
mov byte [esp + esi + 0x28], 0
test ecx, ecx
mov esi, dword [esp + 0x70]
setne al
sub esi, eax
mov eax, edx
sub esi, dword [esp + 0x14]
sub esi, edx
sub eax, dword [esp + 0x18]
mov edx, 0
cmovs eax, edx
mov dword [esp + 0x10], eax
xor eax, eax
sub esi, 1
cmovs esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], esi
test al, 1
je 0x540513
neg esi
mov dword [esp + 0x70], esi
test al, 0x10
je 0x540562
test esi, esi
jle 0x540586
test ecx, ecx
je 0x540540
push ecx
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
dec esi
add esp, 0x14
xor eax, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x540586
push 0x30
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
dec esi
add esp, 0x14
test esi, esi
jg 0x540544
jmp 0x540582
test esi, esi
jle 0x540586
push 0x20
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
dec esi
add esp, 0x14
test esi, esi
jg 0x540566
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5405a4
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
add esp, 0x14
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x5405d9
mov esi, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x14], eax
movsx eax, byte [esp + eax + 0x3c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
push edi
call fcn.00540230
mov eax, dword [esp + 0x28]
add esp, 0x14
test eax, eax
jg 0x5405b0
mov esi, dword [esp + 0x70]
cmp dword [esp + 0x74], 0
jg 0x5405e7
test byte [esp + 0x78], 8
je 0x540639
push 0x2e
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
jle 0x540639
mov esi, dword [esp + 0x1c]
nop word [eax + eax]
dec eax
mov dword [esp + 0x18], eax
movsx eax, byte [esp + eax + 0x28]
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
push edi
call fcn.00540230
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
jg 0x540610
mov esi, dword [esp + 0x70]
cmp dword [esp + 0x10], 0
jle 0x540669
mov esi, dword [esp + 0x1c]
push 0x30
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
push edi
call fcn.00540230
mov eax, dword [esp + 0x24]
add esp, 0x14
dec eax
mov dword [esp + 0x10], eax
test eax, eax
jg 0x540644
mov esi, dword [esp + 0x70]
test esi, esi
jns 0x54068c
neg esi
nop
push 0x20
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540230
add esp, 0x14
sub esi, 1
jne 0x540670
mov ecx, dword [esp + 0x50]
pop edi
pop esi
xor ecx, esp
call fcn.004fe8dc
add esp, 0x4c
ret
call fcn.004fed6e
int3