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

Disassembly:
mov eax, 0x4c
call fcn.004ffc70
mov eax, dword [0x62bcc0]
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 0x540dfd
xorps xmm3, xmmword [0x618410]
mov dword [esp + 0xc], 0x2d
jmp 0x540e1b
test cl, 2
je 0x540e0c
mov dword [esp + 0xc], 0x2b
jmp 0x540e1b
test cl, 4
mov ecx, 0x20
cmovne edx, ecx
mov dword [esp + 0xc], edx
movsd xmm2, qword [0x618030]
mov edx, 9
movsd xmm4, qword [0x6180f8]
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 0x540e59
nop dword [eax + eax]
mulsd xmm1, xmm4
sub eax, 1
jne 0x540e50
movsd xmm5, qword [0x617fc8]
cvttsd2si edx, xmm1
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmm5
jb 0x540e78
inc edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x540e89
mulsd xmm2, xmm4
sub eax, 1
jne 0x540e80
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 0x540eb8
inc eax
mov dword [esp + 0x18], eax
cmp eax, edx
jl 0x540ec7
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 + str.0123456789]
mov esi, ecx
mov byte [esp + edi + 0x3c], al
inc edi
test esi, esi
je 0x540efe
cmp edi, 0x14
jl 0x540ed0
mov dword [esp + 0x14], edi
mov esi, 0
cmp edi, 0x14
jne 0x540f17
mov eax, 0x13
mov dword [esp + 0x14], eax
jmp 0x540f24
mov eax, dword [esp + 0x14]
cmp eax, 0x14
jae 0x54114d
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 + str.0123456789]
mov edi, ecx
mov byte [esp + esi + 0x28], al
inc esi
cmp esi, edx
jl 0x540f30
mov edi, dword [esp + 8]
mov dword [esp + 0x18], esi
cmp esi, 0x14
jne 0x540f75
mov esi, 0x13
mov dword [esp + 0x18], esi
jmp 0x540f7b
jae 0x54114d
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 0x540fc3
neg esi
mov dword [esp + 0x70], esi
test al, 0x10
je 0x541012
test esi, esi
jle 0x541036
test ecx, ecx
je 0x540ff0
push ecx
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
dec esi
add esp, 0x14
xor eax, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x541036
push 0x30
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
dec esi
add esp, 0x14
test esi, esi
jg 0x540ff4
jmp 0x541032
test esi, esi
jle 0x541036
push 0x20
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
dec esi
add esp, 0x14
test esi, esi
jg 0x541016
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0xc]
test eax, eax
je 0x541054
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
add esp, 0x14
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x541089
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.00540ce0
mov eax, dword [esp + 0x28]
add esp, 0x14
test eax, eax
jg 0x541060
mov esi, dword [esp + 0x70]
cmp dword [esp + 0x74], 0
jg 0x541097
test byte [esp + 0x78], 8
je 0x5410e9
push 0x2e
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
jle 0x5410e9
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.00540ce0
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
jg 0x5410c0
mov esi, dword [esp + 0x70]
cmp dword [esp + 0x10], 0
jle 0x541119
mov esi, dword [esp + 0x1c]
push 0x30
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
push edi
call fcn.00540ce0
mov eax, dword [esp + 0x24]
add esp, 0x14
dec eax
mov dword [esp + 0x10], eax
test eax, eax
jg 0x5410f4
mov esi, dword [esp + 0x70]
test esi, esi
jns 0x54113c
neg esi
nop
push 0x20
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call fcn.00540ce0
add esp, 0x14
sub esi, 1
jne 0x541120
mov ecx, dword [esp + 0x50]
pop edi
pop esi
xor ecx, esp
call fcn.004ff23c
add esp, 0x4c
ret
call fcn.004ff6cf
int3