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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x558]
sub rsp, 0x630
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140055040]
xor rax, rsp
mov qword [rbp + 0x480], rax
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x400], xmm1
xor r13d, r13d
mov qword [rbp + 0x410], r13
mov rdx, qword [0x140055d20]
sub rdx, qword [0x140055d18]
sar rdx, 5
xor r15d, r15d
test rdx, rdx
je 0x14003f824
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x140040ef1
lea rcx, [rbp + 0x400]
call fcn.140044540
mov rbx, qword [0x140055d20]
mov rdx, qword [0x140055d18]
sub rbx, rdx
mov r8, rbx
mov r12, qword [rbp + 0x400]
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
and rbx, 0xffffffffffffffe0
lea rax, [rbx + r12]
mov qword [rbp + 0x408], rax
mov r15, r12
mov r13, qword [rbp + 0x410]
jmp 0x14003f82b
mov r12, qword [rbp + 0x400]
mov dword [rsp + 0x30], 0
sub rax, r15
sar rax, 5
test rax, rax
je 0x140040e3b
movsd xmm10, qword [0x14004c758]
movss xmm7, dword [0x14004c6b4]
movups xmm6, xmmword [r15]
movups xmm8, xmmword [r15 + 0x10]
call fcn.1400436c0
movq r14, xmm6
cmp r14, qword [rax + 0x58]
je 0x140040e14
psrldq xmm6, 8
movq rsi, xmm6
test rsi, rsi
je 0x140040e14
movq rax, xmm8
mov qword [rbp + 0x3c8], rax
test rax, rax
je 0x140040e14
test r14, r14
je 0x140040e14
call fcn.140043550
mov ebx, dword [rax + 0x50]
call fcn.1400436c0
mov rcx, qword [rax + 0x70]
add rcx, rbx
mov qword [rbp + 0x3f0], 0
mov dword [rbp + 0x3f8], 0
mov r8d, 0xc
lea rdx, [rbp + 0x3f0]
call fcn.140001010
mov r8d, 0x2e
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.14003d6f0
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.14003d6f0
movsd xmm0, qword [rsp + 0x38]
movsd qword [rbp + 0xa0], xmm0
mov ebx, dword [rsp + 0x40]
mov dword [rbp + 0xa8], ebx
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x398]
call fcn.14003d8f0
movss xmm2, dword [rbp + 0x28]
addss xmm2, dword [0x14004c7e8]
movss xmm0, dword [rbp + 0x20]
movss dword [rbp + 0x30], xmm0
movss xmm1, dword [rbp + 0x24]
movss dword [rbp + 0x34], xmm1
movss dword [rbp + 0x38], xmm2
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x288]
call fcn.14003d8f0
movss xmm2, dword [rbp + 0x3f0]
subss xmm2, dword [rsp + 0x38]
movss xmm3, dword [rbp + 0x3f4]
subss xmm3, dword [rsp + 0x3c]
movss xmm1, dword [rbp + 0x3f8]
movd xmm0, ebx
subss xmm1, xmm0
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm3, xmm2
mulss xmm1, xmm1
addss xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14003f9b3
xorps xmm15, xmm15
sqrtss xmm15, xmm3
jmp 0x14003f9bf
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm15, xmm0
mulss xmm15, dword [0x14004c6c0]
movss xmm12, dword [rbp + 0x28c]
movaps xmm14, xmm12
movss xmm13, dword [rbp + 0x39c]
subss xmm14, xmm13
andps xmm14, xmmword [0x14004c990]
cvtps2pd xmm11, xmm14
mulsd xmm11, qword [0x14004c760]
call fcn.140043550
mov ecx, dword [rax + 0x54]
add rcx, rsi
call fcn.140043e00
movaps xmm6, xmm0
call fcn.140043550
mov ecx, dword [rax + 0x58]
add rcx, rsi
call fcn.140043e00
addss xmm0, dword [0x14004c6cc]
comiss xmm0, xmm6
setae al
test al, al
je 0x14003fa38
call fcn.140043400
movups xmm0, xmmword [rax + 0x34]
jmp 0x14003fa41
call fcn.140043400
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rbp + 0x3e0], xmm0
lea rcx, [rbp + 0x3e0]
call fcn.140002dd0
mov edi, eax
call fcn.140043400
cmp byte [rax + 0x30], 0
je 0x14003fb2d
call fcn.140043400
cmp byte [rax + 0x31], 0
je 0x14003fb2d
call fcn.140043400
movups xmm7, xmmword [rax + 0x6c]
call fcn.140043400
movss xmm9, dword [rax + 0x9c]
call fcn.1400436c0
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm8, eax
cvtdq2ps xmm8, xmm8
call fcn.1400436c0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movdqa xmmword [rbp + 0x3e0], xmm7
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
mov r8, rax
lea rcx, [rbp + 0x3e0]
call fcn.140002dd0
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm8
movss xmm0, dword [0x14004c738]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov r9d, eax
movaps xmm2, xmm9
lea rdx, [rsp + 0x48]
mov rcx, r8
call fcn.140021df0
movss xmm7, dword [0x14004c6b4]
call fcn.140043400
cmp byte [rax + 0x29], 0
je 0x140040e14
call fcn.140043400
movss xmm0, dword [rax + 0xa0]
comiss xmm0, xmm15
jbe 0x140040e14
call fcn.140043400
cmp byte [rax + 0x2a], 0
je 0x14003fdcc
call fcn.140043400
cmp dword [rax + 0x88], 0
jne 0x140040087
movzx eax, dil
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm7
mov eax, edi
shr eax, 8
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
mov eax, edi
shr eax, 0x10
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm7
mov eax, edi
shr eax, 0x18
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm7
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rbp + 0x3e0], xmm3
movdqa xmmword [rbp + 0x3e0], xmm3
cvtpd2ps xmm6, xmm11
movss xmm1, dword [rbp + 0x288]
cvtps2pd xmm1, xmm1
movaps xmm0, xmm11
mulsd xmm0, xmm10
subsd xmm1, xmm0
cvtpd2ps xmm10, xmm1
lea rcx, [rbp + 0x3e0]
call fcn.140002dd0
mov ebx, eax
movaps xmm9, xmm10
addss xmm9, xmm6
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x54], xmm12
movaps xmm0, xmm9
unpcklps xmm0, xmm12
movsd qword [rbp + 0x3e0], xmm0
mov rcx, qword [0x140055c18]
mov rcx, qword [rcx + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.140005220
movss xmm0, dword [0x14004c748]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140021550
movaps xmm8, xmm12
addss xmm8, xmm14
movaps xmm7, xmm8
addss xmm7, dword [0x14004c750]
movss dword [rsp + 0x58], xmm10
movaps xmm6, xmm12
movss xmm14, dword [0x14004c748]
subss xmm6, xmm14
movss dword [rsp + 0x5c], xmm6
movaps xmm0, xmm10
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3e0], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm14
mov r9d, ebx
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140021550
movss dword [rsp + 0x60], xmm9
movss dword [rsp + 0x64], xmm6
movaps xmm0, xmm9
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3e0], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm14
mov r9d, ebx
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.140021550
movss dword [rsp + 0x68], xmm10
movss dword [rsp + 0x6c], xmm8
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rbp + 0x3e0], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm14
mov r9d, ebx
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.140021550
movsd xmm10, qword [0x14004c758]
movss xmm8, dword [rbp + 0x288]
movss xmm9, dword [0x14004c754]
call fcn.140043400
movss xmm7, dword [rbp + 0x398]
cmp byte [rax + 0x2c], 0
je 0x14003ff90
call fcn.140043400
cmp dword [rax + 0x8c], 0
jne 0x14003fe7f
call fcn.1400436c0
movd xmm6, dword [rax + 0x24]
cvtdq2ps xmm6, xmm6
call fcn.1400436c0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm6
movaps xmm1, xmm7
unpcklps xmm1, xmm13
movsd qword [rbp + 0x3e0], xmm1
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm9
mov r9d, edi
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140021550
call fcn.140043400
cmp dword [rax + 0x8c], 1
jne 0x14003fefe
call fcn.1400436c0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x78], xmm0
mov dword [rsp + 0x7c], 0
movaps xmm1, xmm7
unpcklps xmm1, xmm13
movsd qword [rbp + 0x3e0], xmm1
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm9
mov r9d, edi
lea r8, [rbp + 0x3e0]
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.140021550
call fcn.140043400
cmp dword [rax + 0x8c], 2
jne 0x14003ff90
call fcn.1400436c0
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1400436c0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm6
movaps xmm1, xmm7
unpcklps xmm1, xmm13
movsd qword [rbp + 0x3e0], xmm1
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm9
mov r9d, edi
lea r8, [rbp + 0x3e0]
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140021550
call fcn.140043400
cmp byte [rax + 0x2d], 0
je 0x1400400f0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm15
movq r8, xmm2
lea rdx, str.Distance_:_.fm
lea rcx, [rbp + 0x440]
call fcn.140043f70
movaps xmm0, xmmword [0x14004c960]
movups xmmword [rbp + 0x3e0], xmm0
lea rcx, [rbp + 0x3e0]
call fcn.140002dd0
mov ebx, eax
movss dword [rbp - 0x78], xmm7
movss dword [rbp - 0x74], xmm13
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xor eax, eax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x440]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140040005
lea rdx, [rbp + 0x440]
lea rcx, [rbp + 0x40]
call fcn.140044130
nop
mov dword [rsp + 0x20], ebx
movss xmm14, dword [0x14004c7e4]
movaps xmm3, xmm14
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x140055cb0]
call fcn.14003df30
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x1400400f9
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040080
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e70
call fcn.140044c40
jmp 0x1400400f9
call fcn.140043400
cmp dword [rax + 0x88], 1
jne 0x14003fdcc
mov dword [rbp + 0x3e0], edi
cvtpd2ps xmm2, xmm11
movss xmm8, dword [rbp + 0x288]
cvtps2pd xmm1, xmm8
movaps xmm0, xmm11
mulsd xmm0, xmm10
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm9, dword [0x14004c754]
movss dword [rsp + 0x28], xmm9
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm14
movaps xmm1, xmm12
call fcn.14003e5f0
jmp 0x14003fdde
movss xmm14, dword [0x14004c7e4]
call fcn.140043400
cmp byte [rax + 0x2f], 0
je 0x1400401ce
call fcn.140043550
mov ecx, dword [rax + 0x34]
add rcx, qword [rbp + 0x3c8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x418], xmm0
mov r8d, 0x10
lea rdx, [rbp + 0x418]
call fcn.140001010
movaps xmm0, xmmword [0x14004c960]
movups xmmword [rbp + 0x3c8], xmm0
lea rcx, [rbp + 0x3c8]
call fcn.140002dd0
mov ebx, eax
movaps xmm0, xmm12
subss xmm0, dword [0x14004c7f0]
movss dword [rbp - 0x70], xmm8
movss dword [rbp - 0x6c], xmm0
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x418]
call fcn.14003cf20
nop
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm14
lea r8, [rbp - 0x70]
mov rdx, rax
mov rcx, qword [0x140055cb0]
call fcn.14003df30
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x1400401ce
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400401c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e77
call fcn.140044c40
call fcn.140043400
cmp byte [rax + 0x2e], 0
je 0x14004026f
call fcn.140043550
mov ecx, dword [rax + 0x5c]
add rcx, r14
call fcn.140043e00
movaps xmm6, xmm0
call fcn.140043550
mov ecx, dword [rax + 0x60]
add rcx, r14
call fcn.140043e00
mulss xmm6, dword [0x14004c800]
divss xmm6, xmm0
movaps xmm1, xmm11
divsd xmm1, qword [0x14004c788]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss xmm4, dword [0x14004c768]
maxss xmm4, xmm0
movss xmm2, dword [0x14004c79c]
minss xmm2, xmm4
cvttss2si eax, xmm6
subss xmm13, xmm12
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
mulsd xmm11, xmm10
subsd xmm0, xmm11
subsd xmm0, qword [0x14004c780]
cvtpd2ps xmm0, xmm0
mov dword [rsp + 0x20], eax
movaps xmm3, xmm13
movaps xmm1, xmm12
call fcn.14003dcc0
call fcn.140043400
cmp byte [rax + 0x2b], 0
je 0x140040e14
mov r8d, 0x2e
mov rdx, rsi
lea rcx, [rbp + 0x20c]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xc0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xc8], eax
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x3b8]
call fcn.14003d8f0
mov r8d, 0x2d
mov rdx, rsi
lea rcx, [rbp + 0x1ac]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xd0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xd8], eax
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x3a8]
call fcn.14003d8f0
mov r8d, 3
mov rdx, rsi
lea rcx, [rbp + 0x1b8]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xe8], eax
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x2a8]
call fcn.14003d8f0
mov r8d, 4
mov rdx, rsi
lea rcx, [rbp + 0x1c4]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xf0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xf8], eax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x2b8]
call fcn.14003d8f0
mov r8d, 5
mov rdx, rsi
lea rcx, [rbp + 0x1d0]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x100], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x108], eax
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x2c8]
call fcn.14003d8f0
mov r8d, 2
mov rdx, rsi
lea rcx, [rbp + 0x1dc]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x110], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x118], eax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x2e8]
call fcn.14003d8f0
mov r8d, 0x34
mov rdx, rsi
lea rcx, [rbp + 0x1e8]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x120], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x128], eax
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x2f8]
call fcn.14003d8f0
mov r8d, 0x30
mov rdx, rsi
lea rcx, [rbp + 0x1f4]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x130], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x138], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x308]
call fcn.14003d8f0
mov r8d, 0x35
mov rdx, rsi
lea rcx, [rbp + 0x200]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x140], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x148], eax
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x318]
call fcn.14003d8f0
mov r8d, 0x31
mov rdx, rsi
lea rcx, [rbp + 0x278]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x150], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x158], eax
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x328]
call fcn.14003d8f0
mov r8d, 0x36
mov rdx, rsi
lea rcx, [rbp + 0x218]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x160], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x348]
call fcn.14003d8f0
mov r8d, 0x32
mov rdx, rsi
lea rcx, [rbp + 0x1a0]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xb0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xb8], eax
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x358]
call fcn.14003d8f0
mov r8d, 0x1a
mov rdx, rsi
lea rcx, [rbp + 0x224]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x80], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x88], eax
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x2d8]
call fcn.14003d8f0
mov r8d, 0x1a
mov rdx, rsi
lea rcx, [rbp + 0x230]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x70], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x78], eax
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x298]
call fcn.14003d8f0
mov r8d, 0x1b
mov rdx, rsi
lea rcx, [rbp + 0x23c]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x60], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x68], eax
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x368]
call fcn.14003d8f0
mov r8d, 0x1b
mov rdx, rsi
lea rcx, [rbp + 0x248]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x170], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x178], eax
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x378]
call fcn.14003d8f0
mov r8d, 0x1c
mov rdx, rsi
lea rcx, [rbp + 0x254]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x180], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x188], eax
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x338]
call fcn.14003d8f0
mov r8d, 9
mov rdx, rsi
lea rcx, [rbp + 0x260]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x190], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x198], eax
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x388]
call fcn.14003d8f0
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x26c]
call fcn.14003d6f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x90], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x98], eax
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x428]
call fcn.14003d8f0
movss xmm7, dword [rbp + 0x3a8]
movss xmm6, dword [rbp + 0x3ac]
movss xmm0, dword [rbp + 0x3b8]
movss dword [rbp - 0x68], xmm0
movss xmm1, dword [rbp + 0x3bc]
movss dword [rbp - 0x64], xmm1
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss xmm12, dword [0x14004c754]
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.140021550
movss xmm10, dword [rbp + 0x2a8]
movss xmm9, dword [rbp + 0x2ac]
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm6
movaps xmm0, xmm10
unpcklps xmm0, xmm9
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.140021550
movss xmm7, dword [rbp + 0x2b8]
movss xmm6, dword [rbp + 0x2bc]
movss dword [rbp - 0x58], xmm10
movss dword [rbp - 0x54], xmm9
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.140021550
movss xmm1, dword [rbp + 0x2cc]
movss dword [rbp - 0x50], xmm7
movss dword [rbp - 0x4c], xmm6
movss xmm0, dword [rbp + 0x2c8]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140021550
movss xmm15, dword [rbp + 0x2d8]
movss xmm13, dword [rbp + 0x2dc]
movss dword [rbp - 0x48], xmm10
movss dword [rbp - 0x44], xmm9
movaps xmm0, xmm15
unpcklps xmm0, xmm13
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.140021550
movss xmm14, dword [rbp + 0x29c]
movss dword [rbp - 0x40], xmm10
movss dword [rbp - 0x3c], xmm9
movss xmm0, dword [rbp + 0x298]
unpcklps xmm0, xmm14
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.140021550
movss xmm8, dword [rbp + 0x2e8]
movss xmm6, dword [rbp + 0x2ec]
movss dword [rbp - 0x38], xmm10
movss dword [rbp - 0x34], xmm9
movaps xmm0, xmm8
unpcklps xmm0, xmm6
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.140021550
movss xmm11, dword [rbp + 0x2f8]
movss xmm7, dword [rbp + 0x2fc]
movss dword [rbp - 0x30], xmm8
movss dword [rbp - 0x2c], xmm6
movaps xmm0, xmm11
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140021550
movss xmm12, dword [rbp + 0x308]
movss xmm10, dword [rbp + 0x30c]
movss dword [rbp - 0x28], xmm8
movss dword [rbp - 0x24], xmm6
movaps xmm0, xmm12
unpcklps xmm0, xmm10
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss xmm0, dword [0x14004c754]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x28]
mov rcx, rax
call fcn.140021550
movss xmm9, dword [rbp + 0x318]
movss xmm8, dword [rbp + 0x31c]
movss dword [rbp - 0x20], xmm11
movss dword [rbp - 0x1c], xmm7
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss xmm11, dword [0x14004c754]
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140021550
movss xmm7, dword [rbp + 0x328]
movss xmm6, dword [rbp + 0x32c]
movss dword [rbp - 0x18], xmm12
movss dword [rbp - 0x14], xmm10
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x18]
mov rcx, rax
call fcn.140021550
movss xmm1, dword [rbp + 0x34c]
movss dword [rbp - 0x10], xmm9
movss dword [rbp - 0xc], xmm8
movss xmm0, dword [rbp + 0x348]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.140021550
movss xmm1, dword [rbp + 0x35c]
movss dword [rbp - 8], xmm7
movss dword [rbp - 4], xmm6
movss xmm0, dword [rbp + 0x358]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp - 8]
mov rcx, rax
call fcn.140021550
movss xmm9, dword [rbp + 0x368]
movss xmm8, dword [rbp + 0x36c]
movss dword [rbp], xmm15
movss dword [rbp + 4], xmm13
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp]
mov rcx, rax
call fcn.140021550
movss xmm7, dword [rbp + 0x378]
movss xmm6, dword [rbp + 0x37c]
movss xmm0, dword [rbp + 0x298]
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm14
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.140021550
movss xmm1, dword [rbp + 0x38c]
movss dword [rbp + 0x10], xmm7
movss dword [rbp + 0x14], xmm6
movss xmm0, dword [rbp + 0x388]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140021550
movss xmm1, dword [rbp + 0x33c]
movss dword [rbp + 0x18], xmm9
movss dword [rbp + 0x1c], xmm8
movss xmm0, dword [rbp + 0x338]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c8], xmm0
mov rax, qword [0x140055c18]
mov rax, qword [rax + 0x1dc0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005220
movss dword [rsp + 0x20], xmm11
mov r9d, edi
lea r8, [rbp + 0x3c8]
lea rdx, [rbp + 0x18]
mov rcx, rax
call fcn.140021550
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
add r15, 0x20
mov rcx, qword [rbp + 0x408]
sub rcx, r12
sar rcx, 5
cdqe
cmp rax, rcx
jb 0x14003f843
test r12, r12
je 0x140040e89
sub r13, r12
and r13, 0xffffffffffffffe0
mov rax, r12
cmp r13, 0x1000
jb 0x140040e7e
add r13, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040e7e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, r13
mov rcx, r12
call fcn.140044c40
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.140044b50
lea r11, [rsp + 0x630]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140044520
int3