Function at 0x180010db0
Capabilities:
Log keystrokes via polling

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 - 0x7b8]
sub rsp, 0x890
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 [0x1800db038]
xor rax, rsp
mov qword [rbp + 0x6e0], rax
xor r15d, r15d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x44], r15d
movzx eax, byte [0x1800db198]
test al, al
je 0x180013a4a
cmp byte [0x1800db196], r15b
je 0x180010e57
call fcn.180004bc0
movzx eax, byte [0x1800db198]
movss xmm12, dword [0x1800c8c00]
cmp byte [0x1800db197], r15b
je 0x180010f87
test al, al
je 0x180010f87
movss xmm7, dword [0x1800db288]
mulss xmm7, xmm12
movss xmm6, dword [0x1800db284]
mulss xmm6, xmm12
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x4b0], xmm0
movaps xmm1, xmm6
movss xmm8, dword [0x1800c8cd0]
addss xmm1, xmm8
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x6c], xmm7
movaps xmm0, xmm6
subss xmm0, xmm8
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm7
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x4b0]
call fcn.180034fa0
mov ebx, eax
movss xmm9, dword [0x1800c8c48]
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.180068d80
movaps xmm0, xmm7
addss xmm0, xmm8
movss dword [rsp + 0x68], xmm6
movss dword [rsp + 0x6c], xmm0
subss xmm7, xmm8
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
movss dword [rsp + 0x20], xmm9
mov r9d, ebx
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180068d80
jmp 0x180010f90
movss xmm9, dword [0x1800c8c48]
cmp byte [0x1800db163], r15b
je 0x180011068
movss xmm2, dword [0x1800db288]
mulss xmm2, xmm12
movss xmm1, dword [0x1800db284]
mulss xmm1, xmm12
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x4b0], xmm0
movss xmm6, dword [0x1800db170]
unpcklps xmm1, xmm2
movsd qword [rbp + 0x460], xmm1
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov rbx, rax
lea rcx, [rbp + 0x4b0]
call fcn.180034fa0
mov edi, eax
test eax, 0xff000000
je 0x180011068
comiss xmm12, xmm6
ja 0x180011068
subss xmm6, xmm12
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x460]
mov rcx, rbx
call fcn.180067f00
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
movss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 1
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.180066a70
mov dword [rbx + 0x78], r15d
call fcn.180092b50
test rax, rax
je 0x180013a4a
mov rbx, qword [rax + 0x788]
test rbx, rbx
je 0x180013a4a
mov rbx, qword [rbx + 0x78]
test rbx, rbx
je 0x180013a4a
mov rdx, qword [rbx + 0x188]
test rdx, rdx
je 0x180013a4a
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x180013a4a
movups xmm1, xmmword [rax + 0x98]
movq rax, xmm1
test rax, rax
je 0x180013a4a
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
test ecx, ecx
jle 0x180013a4a
mov rax, rcx
shr rax, 0x20
cmp eax, ecx
jl 0x180013a4a
movaps xmmword [0x1800de580], xmm1
movups xmm1, xmmword [rdx + 0x38]
movq rdx, xmm1
test rdx, rdx
je 0x180013a4a
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
test ecx, ecx
jle 0x180013a4a
mov rax, rcx
shr rax, 0x20
cmp eax, ecx
jl 0x180013a4a
movaps xmmword [0x1800de570], xmm1
cmp qword [0x1800de518], r15
je 0x180013a4a
test ecx, ecx
je 0x180013a4a
test rdx, rdx
je 0x180011151
test ecx, ecx
jle 0x180011151
mov al, 1
jmp 0x180011153
xor al, al
test al, al
je 0x180013ad2
mov rdi, qword [rdx]
mov qword [rbp - 8], rdi
test rdi, rdi
je 0x180013a4a
test ecx, ecx
setg al
test al, al
je 0x180013af2
mov r13, qword [rdi + 0x30]
test r13, r13
je 0x180013a4a
mov rcx, r13
call fcn.180093d60
mov rcx, qword [0x1800de518]
test rcx, rcx
je 0x180013a4a
mov eax, dword [0x1800de578]
test eax, eax
jne 0x1800111ab
xor eax, eax
jmp 0x1800111d5
mov rdx, qword [0x1800de570]
test rdx, rdx
je 0x1800111bf
test eax, eax
jle 0x1800111bf
mov al, 1
jmp 0x1800111c1
xor al, al
test al, al
je 0x180013b12
mov rax, qword [rdx]
test rax, rax
je 0x1800111d5
mov rax, qword [rax + 0x30]
mov r8, qword [rax + 0x2a0]
mov qword [rbp + 0x1d0], r8
test r8, r8
je 0x180013a4a
mov rax, qword [rdi + 0x30]
cmp qword [rax + 0x2b8], r15
je 0x180013a4a
test rcx, rcx
je 0x180013a4a
mov rax, qword [rcx + 0x188]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x180011220
cmp dword [rax + 0x40], r15d
jle 0x180011220
mov al, 1
jmp 0x180011222
xor al, al
test al, al
je 0x180013b32
mov rax, qword [rcx]
mov rcx, qword [rax + 0x30]
mov rsi, qword [rcx + 0x2a0]
mov qword [rbp + 0xc8], rsi
test rsi, rsi
je 0x180013a4a
movups xmm0, xmmword [rbx + 0x148]
movups xmmword [rbp + 0x4b0], xmm0
movq rdi, xmm0
mov qword [rbp + 0x208], rdi
test rdi, rdi
je 0x180013a4a
mov rbx, qword [rbp + 0x4b8]
test ebx, ebx
jle 0x180013a4a
mov rax, rbx
shr rax, 0x20
cmp eax, ebx
jl 0x180013a4a
lea rdx, [rbp + 0x280]
mov rcx, r8
call fcn.1800924d0
xor eax, eax
mov dword [rbp - 0x80], eax
test ebx, ebx
jle 0x180013a4a
xor r8d, r8d
mov qword [rbp + 0x460], r8
movsd xmm15, qword [0x1800c8c88]
movss xmm13, dword [rbp + 0x3d0]
movss xmm14, dword [rbp + 0x3d0]
nop word [rax + rax]
test rdi, rdi
je 0x1800112e2
test r8, r8
js 0x1800112e2
cmp eax, ebx
jge 0x1800112e2
mov al, 1
jmp 0x1800112e4
xor al, al
test al, al
je 0x180013ab2
mov rax, qword [rdi + r8*8]
test rax, rax
je 0x180013a4a
movups xmm0, xmmword [rax + 0x98]
movups xmmword [rbp + 0x420], xmm0
movq r8, xmm0
mov qword [rbp + 0x210], r8
test r8, r8
je 0x1800139e0
mov rcx, qword [rbp + 0x428]
test ecx, ecx
jle 0x1800139e0
mov rax, rcx
shr rax, 0x20
cmp eax, ecx
jl 0x1800139e0
xor r14d, r14d
mov dword [rsp + 0x70], r14d
xor edx, edx
mov qword [rsp + 0x60], rdx
test ecx, ecx
jle 0x1800139e0
test r8, r8
je 0x180011364
test rdx, rdx
js 0x180011364
cmp r14d, ecx
jge 0x180011364
mov al, 1
jmp 0x180011366
xor al, al
test al, al
je 0x180013be4
mov r12, qword [r8 + rdx*8]
mov qword [rbp + 0x4a0], r12
test r12, r12
je 0x1800139a9
test r8, r8
je 0x1800139a9
test rdx, rdx
js 0x1800139a9
cmp r14d, ecx
jge 0x1800139a9
cmp qword [r12 + 0x130], 0
je 0x1800137e8
mov rax, qword [r12 + 0x10]
cmp qword [0x1800de520], 0
je 0x1800137e8
test rax, rax
je 0x1800137e8
nop dword [rax + rax]
cmp rax, qword [0x1800de520]
je 0x1800113e7
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1800113d0
jmp 0x1800137e8
test r8, r8
je 0x1800113f5
cmp r14d, ecx
jge 0x1800113f5
mov al, 1
jmp 0x1800113f7
xor al, al
test al, al
je 0x180013bc4
mov rcx, r12
call fcn.180090a50
test al, al
je 0x18001399d
movzx eax, byte [r12 + 0x8c8]
cmp byte [rsi + 0x8c8], al
je 0x18001399d
cmp qword [0x1800de518], 0
je 0x180013a4a
mov rbx, qword [r12 + 0x280]
test rbx, rbx
je 0x180013a4a
mov rdi, qword [r12 + 0x240]
mov qword [rbp + 0x3d0], rdi
test rdi, rdi
je 0x18001399d
mov qword [rbp + 0x158], 0
mov dword [rbp + 0x160], 0
lea r8, [rbp + 0x158]
mov rdx, r12
mov rcx, r13
call fcn.180093370
movzx r14d, al
mov byte [rsp + 0x40], al
lea rdx, [rbp - 0x68]
mov rcx, rsi
call fcn.1800924d0
lea rdx, [rbp + 0x3a0]
mov rcx, rsi
call fcn.180092810
lea rdx, [rbp + 0x2d0]
mov rcx, r12
call fcn.1800924d0
lea rdx, [rbp + 0x2c0]
mov rcx, r12
call fcn.180092810
lea rdx, [rbp + 0x218]
mov rcx, r12
call fcn.1800924d0
xor r8d, r8d
lea rdx, [rbp + 0x320]
mov rcx, rbx
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.180090e20
mov r8d, 0x30
lea rdx, [rbp + 0x2e8]
mov rcx, rbx
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.180090e20
mov r8d, 0x2f
lea rdx, [rbp + 0x2f0]
mov rcx, rbx
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp + 0x148]
mov rcx, rbx
call fcn.180090e20
mov r8d, 4
lea rdx, [rbp + 0x2f8]
mov rcx, rbx
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp + 0xe0]
mov rcx, rbx
call fcn.180090e20
mov r8d, 1
lea rdx, [rbp + 0x300]
mov rcx, rbx
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call fcn.180090e20
lea r8, [rbp]
lea rdx, [rbp - 0x78]
mov rcx, r13
call fcn.1800940c0
lea r8, [rbp - 0x48]
lea rdx, [rbp + 0xd0]
mov rcx, r13
call fcn.1800940c0
lea r8, [rbp + 0x308]
lea rdx, [rbp + 0x148]
mov rcx, r13
call fcn.1800940c0
lea r8, [rbp + 0x310]
lea rdx, [rbp + 0xe0]
mov rcx, r13
call fcn.1800940c0
lea r8, [rbp + 0x318]
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800940c0
cmp byte [0x1800db160], 0
je 0x180011873
mov ebx, dword [rbp + 0x428]
mov edi, dword [rbp + 0xd8]
movsd xmm8, qword [rbp + 0xd0]
mov esi, dword [rbp + 0x150]
movsd xmm9, qword [rbp + 0x148]
mov r14d, dword [rbp + 0xe8]
movsd xmm10, qword [rbp + 0xe0]
mov r15d, dword [rbp + 0xf8]
movsd xmm11, qword [rbp + 0xf0]
cmp byte [0x1800db162], 0
je 0x180011659
cmp byte [rsp + 0x40], 0
je 0x180011857
lea rdx, [rbp + 0x328]
mov rcx, r12
call fcn.180092190
mov eax, dword [0x1800db164]
test eax, eax
je 0x1800116b6
cmp eax, 1
jne 0x180011688
movsd qword [rbp + 0x408], xmm9
mov dword [rbp + 0x410], esi
jmp 0x1800116c5
cmp eax, 2
jne 0x18001169f
movsd qword [rbp + 0x408], xmm10
mov dword [rbp + 0x410], r14d
jmp 0x1800116c5
cmp eax, 3
jne 0x1800116b6
movsd qword [rbp + 0x408], xmm11
mov dword [rbp + 0x410], r15d
jmp 0x1800116c5
movsd qword [rbp + 0x408], xmm8
mov dword [rbp + 0x410], edi
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x408]
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x30]
call fcn.1800940c0
test al, al
je 0x180011857
movss xmm7, dword [0x1800db288]
mulss xmm7, xmm12
movss xmm0, dword [0x1800db284]
mulss xmm0, xmm12
movss xmm1, dword [rbp - 0x10]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rbp - 0xc]
subss xmm1, xmm7
cvtps2pd xmm0, xmm1
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x18001173f
sqrtsd xmm0, xmm0
jmp 0x180011744
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x1800db170]
comiss xmm0, xmm1
jb 0x180011857
lea rdx, [rbp + 0x408]
lea rcx, [rbp + 0x280]
call fcn.180095520
movss xmm1, dword [0x1800db174]
mulss xmm1, dword [0x1800c8d00]
comiss xmm1, xmm0
jbe 0x180011857
cmp qword [r13 + 0x2b8], 0
je 0x180011857
mov ecx, dword [0x1800db168]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x180011857
lea rdx, [rbp + 0x290]
mov rcx, qword [r13 + 0x2b8]
call fcn.180094770
lea rdx, [rbp + 0x338]
mov rcx, qword [r13 + 0x2b8]
call fcn.180094430
mov rdx, rax
lea r8, [rbp + 0x408]
lea rcx, [rbp + 0x348]
call fcn.180094de0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4d0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4d8], eax
movss xmm0, dword [0x1800db16c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1800c8bc8]
lea r8, [rbp + 0x4d0]
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x358]
call fcn.180095160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1d8], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1e0], eax
lea rdx, [rbp + 0x1d8]
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x30]
call fcn.180092d00
sub rbx, 1
jne 0x180011645
movzx r14d, byte [rsp + 0x40]
mov rdi, qword [rbp + 0x3d0]
mov r15d, dword [rsp + 0x48]
movss xmm6, dword [rbp + 4]
movaps xmm0, xmm6
movss xmm10, dword [rbp - 0x44]
subss xmm0, xmm10
andps xmm0, xmmword [0x1800c9180]
mulss xmm0, dword [0x1800c8c08]
mulss xmm0, xmm12
movss xmm8, dword [rbp - 0x48]
movaps xmm7, xmm8
subss xmm7, xmm0
movss dword [rbp - 0x50], xmm7
movss dword [rbp - 0x4c], xmm10
addss xmm0, xmm8
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm6
lea rsi, [0x1800db058]
cmp byte [0x1800db178], 0
je 0x18001193c
mov rbx, rsi
test r14b, r14b
lea rax, [0x1800db048]
cmovne rbx, rax
mov rax, qword [0x1800de510]
mov rdx, qword [rax + 0x4140]
mov rcx, qword [rdx + 0x40]
lea r8, str.Background
xor edx, edx
call fcn.180039f50
mov r10, rax
mov rcx, rbx
call fcn.180034fa0
mov r9d, eax
movss xmm9, dword [0x1800c8c48]
movss dword [rsp + 0x30], xmm9
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x50]
mov rcx, r10
call fcn.180068ee0
jmp 0x180011945
movss xmm9, dword [0x1800c8c48]
cmp byte [0x1800db179], 0
je 0x18001196c
mov r9, rsi
test r14b, r14b
lea rax, [0x1800db048]
cmovne r9, rax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x50]
call fcn.180031c40
cmp byte [0x1800db17a], 0
je 0x180011a8f
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x78], 0
mov eax, dword [0x1800db184]
test eax, eax
jne 0x1800119b8
movss xmm1, dword [0x1800db284]
mulss xmm1, xmm12
movss xmm0, dword [0x1800db288]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x5c], xmm0
jmp 0x180011a07
cmp eax, 1
jne 0x1800119d5
movss xmm0, dword [0x1800db284]
movss xmm1, dword [0x1800db288]
movss dword [rsp + 0x5c], xmm1
jmp 0x180011a01
cmp eax, 2
jne 0x1800119ef
movss xmm1, dword [0x1800db288]
mulss xmm1, xmm12
movss dword [rsp + 0x5c], xmm1
jmp 0x1800119f4
cmp eax, 3
jne 0x180011a07
movss xmm0, dword [0x1800db284]
mulss xmm0, xmm12
movss dword [rsp + 0x58], xmm0
mov eax, dword [0x1800db188]
test eax, eax
jne 0x180011a24
movss xmm0, dword [rbp]
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm6
jmp 0x180011a37
cmp eax, 1
jne 0x180011a37
movss dword [rsp + 0x78], xmm8
movss dword [rsp + 0x7c], xmm10
mov rbx, rsi
test r14b, r14b
lea rax, [0x1800db048]
cmovne rbx, rax
mov rax, qword [0x1800de510]
mov rdx, qword [rax + 0x4140]
mov rcx, qword [rdx + 0x40]
lea r8, str.Background
xor edx, edx
call fcn.180039f50
mov r10, rax
mov rcx, rbx
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x58]
mov rcx, r10
call fcn.180068d80
movss xmm11, dword [rbp - 0x60]
movss xmm12, dword [rbp - 0x70]
movss xmm15, dword [rbp - 0x74]
cmp byte [0x1800db17b], 0
je 0x1800124fc
lea rsi, [rdi + 0x300]
cmp qword [rsi], 0
je 0x180013a4a
mov eax, dword [rsi + 8]
test eax, eax
jle 0x180013a4a
cmp dword [rsi + 0xc], eax
jl 0x180013a4a
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.1800108a0
cmp qword [rax + 0x18], 0x10
jb 0x180011aec
mov rax, qword [rax]
mov rcx, qword [0x1800de510]
movss xmm6, dword [rcx + 0x3e78]
xor edi, edi
test rax, rax
jne 0x180011b08
xorps xmm9, xmm9
jmp 0x180011b65
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1800c8d80]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1800c8d5c]
movaps xmm2, xmm6
lea rdx, [rbp - 0x38]
mov rcx, qword [rcx + 0x3e70]
call fcn.18006da70
movss xmm0, dword [rbp - 0x38]
addss xmm0, dword [0x1800c8c40]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss dword [rbp - 0x38], xmm9
movss xmm6, dword [rbp - 0x34]
mov rdx, qword [rbp + 0x400]
cmp rdx, 0x10
jb 0x180011ba6
inc rdx
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011ba1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a0b
call fcn.1800993c4
movaps xmm8, xmm10
subss xmm8, xmm6
subss xmm8, dword [0x1800c8cd0]
movaps xmm0, xmm9
mulss xmm0, dword [0x1800c8c00]
subss xmm7, xmm0
movss dword [rbp - 0x28], xmm7
movss dword [rbp - 0x24], xmm8
addss xmm6, dword [0x1800c8cbc]
addss xmm9, dword [0x1800c8cd0]
movss xmm1, dword [rbp - 0x68]
subss xmm1, dword [rbp - 0x78]
movss xmm2, dword [rbp - 0x64]
subss xmm2, xmm15
movaps xmm0, xmm11
subss xmm0, xmm12
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180011c26
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180011c2e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x1800c8c50]
cvtsd2ss xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
cvttss2si ebx, xmm0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x4e0]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1800c32c8]
mov qword [rbp + 0x4e0], rax
lea rax, [0x1800c3218]
mov qword [rbp + 0x4f0], rax
lea rcx, [rbp + 0x578]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r15d, 0x20
mov dword [rsp + 0x44], r15d
xor r8d, r8d
lea rdx, [rbp + 0x4f8]
lea rcx, [rbp + 0x4e0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp + 0x4e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x4e0], rax
mov rax, qword [rbp + 0x4e0]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0x98]
mov dword [rbp + rcx + 0x4dc], r8d
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x560], rdi
mov dword [rbp + 0x568], edi
mov edx, ebx
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x468], xmm0
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x480], 0xf
mov byte [rbp + 0x468], 0
or r15d, 0x10
mov dword [rsp + 0x44], r15d
xor eax, eax
movups xmmword [rbp + 0x488], xmm0
mov qword [rbp + 0x498], rax
mov ecx, dword [rbp + 0x568]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x180011db5
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x180011daf
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov rdi, rax
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov rbx, rax
cmp rax, qword [rbp + 0x560]
cmovb rbx, qword [rbp + 0x560]
sub rbx, rdi
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
jmp 0x180011dff
mov ecx, dword [rbp + 0x568]
test cl, 4
jne 0x180011df1
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
test rax, rax
je 0x180011df1
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
mov rdi, rax
lea rcx, [rbp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::egptr_void_const___ptr64]
mov rbx, rax
sub rbx, rdi
jmp 0x180011dff
mov rbx, qword [rbp + 0x490]
mov rdi, qword [rbp + 0x488]
test rdi, rdi
je 0x180011e16
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x468]
call fcn.180014730
and r15d, 0xffffffef
or r15d, 8
mov dword [rsp + 0x48], r15d
mov r8d, 1
lea rdx, [0x1800c32e8]
lea rcx, [rbp + 0x468]
call fcn.180002bb0
lea rax, [rbp + 0x468]
cmp qword [rbp + 0x480], 0x10
cmovae rax, qword [rbp + 0x468]
mov rbx, qword [0x1800de510]
movss xmm12, dword [rbx + 0x3e78]
xor edi, edi
test rax, rax
jne 0x180011e70
xorps xmm10, xmm10
jmp 0x180011ecf
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1800c8d80]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1800c8d5c]
movaps xmm2, xmm12
lea rdx, [rbp - 0x30]
mov rcx, qword [rbx + 0x3e70]
call fcn.18006da70
movss xmm0, dword [rbp - 0x30]
addss xmm0, dword [0x1800c8c40]
cvttss2si eax, xmm0
movd xmm10, eax
cvtdq2ps xmm10, xmm10
movss dword [rbp - 0x30], xmm10
movss xmm12, dword [rbp - 0x2c]
movaps xmm15, xmm7
subss xmm15, xmm10
subss xmm15, dword [0x1800c8cd0]
movss dword [rbp - 0x20], xmm15
movss dword [rbp - 0x1c], xmm8
addss xmm12, dword [0x1800c8cbc]
addss xmm10, dword [0x1800c8cd0]
movaps xmm0, xmmword [0x1800c8f40]
movups xmmword [rbp + 0x3d0], xmm0
movaps xmm0, xmm8
addss xmm0, xmm6
movss dword [rsp + 0x44], xmm0
movaps xmm6, xmm9
addss xmm6, xmm7
movss dword [rbp + 8], xmm6
movss dword [rbp + 0xc], xmm0
mov rax, qword [rbx + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3d0]
call fcn.180034fa0
mov r9d, eax
mov dword [rsp + 0x28], edi
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 8]
lea rdx, [rbp - 0x28]
mov rcx, r10
call fcn.180068ff0
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3d0], xmm0
movss dword [rbp + 0x10], xmm6
movss xmm1, dword [rsp + 0x44]
movss dword [rbp + 0x14], xmm1
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3d0]
call fcn.180034fa0
mov r9d, eax
movss xmm0, dword [0x1800c8c48]
movss dword [rsp + 0x30], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x28]
mov rcx, r10
call fcn.180068ee0
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.1800108a0
mov rbx, rax
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
movaps xmm0, xmm8
addss xmm0, dword [0x1800c8c98]
movss dword [rbp + 0x3d0], xmm0
addss xmm7, dword [0x1800c8cbc]
movss dword [rbp + 0x18], xmm7
movss dword [rbp + 0x1c], xmm0
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
cmp qword [rbx + 0x18], 0x10
jb 0x18001205f
mov rbx, qword [rbx]
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9, rbx
mov r8d, eax
lea rdx, [rbp + 0x18]
mov rcx, r10
call fcn.1800695b0
nop
mov rdx, qword [rbp + 0x400]
cmp rdx, 0x10
jb 0x1800120bf
inc rdx
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800120ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a12
call fcn.1800993c4
mov qword [rbp + 0x3f8], rdi
mov qword [rbp + 0x400], 0xf
mov byte [rbp + 0x3e8], 0
movaps xmm0, xmmword [0x1800c8f40]
movups xmmword [rbp + 0x3b8], xmm0
addss xmm12, xmm8
movaps xmm6, xmm10
addss xmm6, xmm15
movss dword [rbp + 0x20], xmm6
movss dword [rbp + 0x24], xmm12
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
mov dword [rsp + 0x28], edi
xorps xmm7, xmm7
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x20]
mov rcx, r10
call fcn.180068ff0
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
movss dword [rbp + 0x28], xmm6
movss dword [rbp + 0x2c], xmm12
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss xmm0, dword [0x1800c8c48]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x20]
mov rcx, r10
call fcn.180068ee0
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
movaps xmm1, xmm15
movss xmm7, dword [0x1800c8cbc]
addss xmm1, xmm7
movss dword [rbp + 0x30], xmm1
movss xmm0, dword [rbp + 0x3d0]
movss dword [rbp + 0x34], xmm0
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea r9, [rbp + 0x468]
cmp qword [rbp + 0x480], 0x10
cmovae r9, qword [rbp + 0x468]
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r8d, eax
lea rdx, [rbp + 0x30]
mov rcx, r10
call fcn.1800695b0
movss xmm8, dword [rsp + 0x44]
addss xmm8, xmm7
movss dword [rbp - 0x58], xmm15
movss dword [rbp - 0x54], xmm8
addss xmm9, xmm10
movss xmm6, dword [r12 + 0x668]
divss xmm6, dword [r12 + 0x698]
mov ebx, 0xff00ff00
movss xmm0, dword [0x1800c8be0]
comiss xmm0, xmm6
mov eax, 0xff0000ff
cmova ebx, eax
movaps xmm0, xmmword [0x1800c8f40]
movups xmmword [rbp + 0x3b8], xmm0
addss xmm8, xmm7
movaps xmm7, xmm9
addss xmm7, xmm15
movss dword [rbp + 0x38], xmm7
movss dword [rbp + 0x3c], xmm8
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
mov dword [rsp + 0x28], edi
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.180068ff0
movzx eax, bl
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x1800c8ba8]
mulss xmm0, xmm1
movss dword [rbp + 0x168], xmm0
mov eax, ebx
shr eax, 8
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [rbp + 0x16c], xmm0
mov dword [rbp + 0x170], 0
shr ebx, 0x18
mov eax, ebx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [rbp + 0x174], xmm0
mulss xmm9, xmm6
addss xmm9, xmm15
movss dword [rbp + 0x40], xmm9
movss dword [rbp + 0x44], xmm8
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x168]
call fcn.180034fa0
mov r9d, eax
mov dword [rsp + 0x28], edi
xorps xmm6, xmm6
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.180068ff0
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
movss dword [rbp + 0x48], xmm7
movss dword [rbp + 0x4c], xmm8
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss xmm9, dword [0x1800c8c48]
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.180068ee0
nop
mov rdx, qword [rbp + 0x480]
cmp rdx, 0x10
jb 0x180012477
inc rdx
mov rcx, qword [rbp + 0x468]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012472
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a19
call fcn.1800993c4
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x480], 0xf
mov byte [rbp + 0x468], 0
mov rax, qword [rbp + 0x4e0]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x4e0], rsi
mov rax, qword [rbp + 0x4e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x4dc], edx
lea rcx, [rbp + 0x4f8]
call fcn.180014420
lea rcx, [rbp + 0x500]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x578]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movss xmm10, dword [rbp - 0x44]
movss xmm12, dword [rbp - 0x70]
movss xmm15, dword [rbp - 0x74]
jmp 0x180012508
xorps xmm6, xmm6
xor edi, edi
lea rsi, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
cmp byte [0x1800db17c], 0
je 0x180012841
movss xmm0, dword [rbp - 0x68]
subss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x64]
subss xmm1, xmm15
subss xmm11, xmm12
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
mulss xmm11, xmm11
addss xmm1, xmm11
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180012555
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18001255d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x1800c8c50]
cvtsd2ss xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
cvttss2si ebx, xmm0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x5e0]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1800c32c8]
mov qword [rbp + 0x5e0], rax
lea rax, [0x1800c3218]
mov qword [rbp + 0x5f0], rax
lea rcx, [rbp + 0x678]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r15d, 4
mov dword [rsp + 0x44], r15d
xor r8d, r8d
lea rdx, [rbp + 0x5f8]
lea rcx, [rbp + 0x5e0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp + 0x5e0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x5e0], rsi
mov rax, qword [rbp + 0x5e0]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0x98]
mov dword [rbp + rcx + 0x5dc], r8d
lea rcx, [rbp + 0x5f8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x5f8], rax
mov qword [rbp + 0x660], rdi
mov dword [rbp + 0x668], edi
mov edx, ebx
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e8], xmm0
mov qword [rbp + 0x3f8], rdi
mov qword [rbp + 0x400], 0xf
mov byte [rbp + 0x3e8], 0
or r15d, 2
mov dword [rsp + 0x44], r15d
xor eax, eax
movups xmmword [rbp + 0x488], xmm0
mov qword [rbp + 0x498], rax
mov ecx, dword [rbp + 0x668]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1800126b1
mov rax, qword [rbp + 0x638]
mov r8, qword [rax]
test r8, r8
je 0x1800126b1
mov rax, qword [rbp + 0x618]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x660]
cmovb r8, qword [rbp + 0x660]
sub r8, rdx
jmp 0x1800126ef
test cl, 4
jne 0x1800126e1
mov rax, qword [rbp + 0x630]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800126e1
mov rax, qword [rbp + 0x610]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x648]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
jmp 0x1800126ef
mov r8, qword [rbp + 0x490]
mov rdx, qword [rbp + 0x488]
test rdx, rdx
je 0x180012700
lea rcx, [rbp + 0x3e8]
call fcn.180014730
and r15d, 0xfffffffd
or r15d, 1
mov dword [rsp + 0x48], r15d
mov r8d, 1
lea rdx, [0x1800c32e8]
lea rcx, [rbp + 0x3e8]
call fcn.180002bb0
lea rbx, [0x1800db058]
test r14b, r14b
lea rsi, [0x1800db048]
cmovne rbx, rsi
mov rax, qword [0x1800de510]
mov rdx, qword [rax + 0x4140]
mov rcx, qword [rdx + 0x40]
lea r8, str.Background
xor edx, edx
call fcn.180039f50
mov r10, rax
lea r9, [rbp + 0x3e8]
cmp qword [rbp + 0x400], 0x10
cmovae r9, qword [rbp + 0x3e8]
mov rcx, rbx
call fcn.180034fa0
mov r8d, eax
lea rdx, [rbp - 0x50]
mov rcx, r10
call fcn.1800695b0
nop
mov rdx, qword [rbp + 0x400]
cmp rdx, 0x10
jb 0x1800127ce
inc rdx
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800127c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a20
call fcn.1800993c4
mov qword [rbp + 0x3f8], rdi
mov qword [rbp + 0x400], 0xf
mov byte [rbp + 0x3e8], 0
mov rax, qword [rbp + 0x5e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x5e0], rax
mov rax, qword [rbp + 0x5e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x5dc], edx
lea rcx, [rbp + 0x5f8]
call fcn.180014420
lea rcx, [rbp + 0x600]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x678]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x180012848
lea rsi, [0x1800db048]
cmp byte [0x1800db17d], 0
je 0x180012a2d
movss xmm9, dword [r12 + 0x668]
divss xmm9, dword [r12 + 0x698]
lea rdx, [rbp + 0x368]
mov rcx, r12
call fcn.1800924d0
mov rbx, rax
mov rcx, qword [r12 + 0x290]
call fcn.180094ab0
movss xmm1, dword [rbx]
subss xmm1, xmm0
movss dword [rbp + 0x100], xmm1
movss xmm2, dword [rbx + 4]
subss xmm2, xmm6
movss dword [rbp + 0x104], xmm2
movss xmm0, dword [rbx + 8]
subss xmm0, xmm6
movss dword [rbp + 0x108], xmm0
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x100]
mov rcx, r13
call fcn.1800940c0
lea rdx, [rbp + 0x378]
mov rcx, r12
call fcn.1800924d0
mov rbx, rax
mov rcx, qword [r12 + 0x290]
call fcn.180094ab0
addss xmm0, dword [rbx]
movss dword [rbp + 0x110], xmm0
movss xmm1, dword [rbx + 4]
addss xmm1, xmm6
movss dword [rbp + 0x114], xmm1
movss xmm0, dword [rbx + 8]
addss xmm0, xmm6
movss dword [rbp + 0x118], xmm0
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x110]
mov rcx, r13
call fcn.1800940c0
movss xmm8, dword [rbp + 0x200]
movss xmm7, dword [rbp + 0x50]
subss xmm8, xmm7
movaps xmm0, xmmword [0x1800c90f0]
movups xmmword [rbp + 0x3b8], xmm0
movaps xmm1, xmmword [0x1800c9040]
movups xmmword [rbp + 0x3d0], xmm1
movss xmm6, dword [rbp + 0x54]
addss xmm6, dword [0x1800c8ce0]
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm6
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov rbx, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
addss xmm6, dword [0x1800c8ce0]
movaps xmm0, xmm7
addss xmm0, xmm8
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm6
mov dword [rsp + 0x28], edi
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.180068ff0
mulss xmm8, xmm9
lea rcx, [rbp + 0x3d0]
call fcn.180034fa0
addss xmm8, xmm7
movss dword [rbp + 0x60], xmm8
movss dword [rbp + 0x64], xmm6
mov dword [rsp + 0x28], edi
xorps xmm6, xmm6
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.180068ff0
movss xmm9, dword [0x1800c8c48]
movss xmm8, dword [0x1800c8cd0]
cmp byte [0x1800db17e], 0
je 0x180012a64
lea r9, [0x1800db058]
test r14b, r14b
cmovne r9, rsi
movaps xmm2, xmm8
movss xmm0, dword [rbp - 0x48]
unpcklps xmm0, xmm10
movq rdx, xmm0
call fcn.1800320b0
cmp byte [0x1800db17f], 0
je 0x18001300a
cmp qword [0x1800de518], 0
je 0x180013a4a
mov rsi, qword [r12 + 0x280]
test rsi, rsi
je 0x180013a4a
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x1800c8e60]
movdqu xmmword [rbp + 0x3b8], xmm1
mov dword [rbp + 0x3c8], 0x1c
movdqu xmmword [rbp + 0x430], xmm0
mov qword [rbp + 0x440], rdi
mov edx, 5
call fcn.180014950
mov qword [rbp + 0x430], rax
mov qword [rbp + 0x438], rax
lea rbx, [rax + 0x14]
mov qword [rbp + 0x440], rbx
mov r8d, 0x14
lea rdx, [rbp + 0x3b8]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x438], rbx
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x1800c8e70]
movdqu xmmword [rbp + 0x268], xmm1
mov dword [rbp + 0x278], 0x32
mov dword [rbp + 0x27c], 0x34
movdqu xmmword [rbp + 0x448], xmm0
mov qword [rbp + 0x458], rdi
mov edx, 6
call fcn.180014950
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x450], rax
lea rbx, [rax + 0x18]
mov qword [rbp + 0x458], rbx
mov r8d, 0x18
lea rdx, [rbp + 0x268]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x450], rbx
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x1800c8e80]
movdqu xmmword [rbp + 0x3b8], xmm1
movdqu xmmword [rbp + 0x3d0], xmm0
mov qword [rbp + 0x3e0], rdi
mov edx, 4
call fcn.180014950
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x3d8], rax
lea rbx, [rax + 0x10]
mov qword [rbp + 0x3e0], rbx
mov r8d, 0x10
lea rdx, [rbp + 0x3b8]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x3d8], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x488], xmm0
mov qword [rbp + 0x498], rax
movdqa xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], rdi
mov rbx, qword [rbp + 0x438]
sub rbx, qword [rbp + 0x430]
sar rbx, 2
movabs r14, 0x3fffffffffffffff
test rbx, rbx
je 0x180012c6e
cmp rbx, r14
ja 0x180013b52
mov rdx, rbx
call fcn.180014950
mov rdi, rax
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], rax
lea rcx, [rax + rbx*4]
mov qword [rbp + 0x190], rcx
mov rbx, qword [rbp + 0x438]
mov rdx, qword [rbp + 0x430]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp + 0x188], rax
xor edi, edi
mov qword [rbp + 0x198], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1a0], xmm0
mov rbx, qword [rbp + 0x450]
sub rbx, qword [rbp + 0x448]
sar rbx, 2
test rbx, rbx
je 0x180012cf1
cmp rbx, r14
ja 0x180013b58
mov rdx, rbx
call fcn.180014950
mov rdi, rax
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], rax
lea rcx, [rax + rbx*4]
mov qword [rbp + 0x1a8], rcx
mov rbx, qword [rbp + 0x450]
mov rdx, qword [rbp + 0x448]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp + 0x1a0], rax
xor edi, edi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], rdi
mov rbx, qword [rbp + 0x3d8]
sub rbx, qword [rbp + 0x3d0]
sar rbx, 2
test rbx, rbx
je 0x180012d72
cmp rbx, r14
ja 0x180013b5e
mov rdx, rbx
call fcn.180014950
mov rdi, rax
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], rax
lea rcx, [rax + rbx*4]
mov qword [rbp + 0x1c0], rcx
mov rbx, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x3d0]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp + 0x1b8], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x230], rax
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0x238], rax
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x488]
call fcn.180013c80
nop
lea r9, [0x180013dd0]
mov edx, 0x18
lea r8d, [rdx - 0x15]
lea rcx, [rbp + 0x180]
call fcn.18009960c
mov r12, qword [rbp + 0x490]
mov r15, qword [rbp + 0x488]
cmp r15, r12
je 0x180012ed2
nop word [rax + rax]
mov dil, 1
mov r14, qword [r15 + 8]
mov rbx, qword [r15]
cmp rbx, r14
je 0x180012ec2
mov r8d, dword [rbx]
lea rdx, [rbp + 0x2e0]
mov rcx, rsi
call fcn.180093a10
mov r8, qword [rax]
lea rdx, [rbp + 0x2a0]
mov rcx, rsi
call fcn.180090e20
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x2a0]
mov rcx, r13
call fcn.1800940c0
movss xmm6, dword [rbp + 0x6c]
movss xmm7, dword [rbp + 0x68]
test dil, dil
jne 0x180012eaa
test al, al
je 0x180012eaa
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
movss dword [rbp + 0x70], xmm7
movss dword [rbp + 0x74], xmm6
movss dword [rbp + 0x78], xmm14
movss dword [rbp + 0x7c], xmm13
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x78]
mov rcx, r10
call fcn.180068d80
movaps xmm14, xmm7
movaps xmm13, xmm6
xor dil, dil
add rbx, 4
cmp rbx, r14
jne 0x180012df3
add r15, 0x18
cmp r15, r12
jne 0x180012de0
xorps xmm6, xmm6
lea rcx, [rbp + 0x488]
call fcn.180014630
nop
mov rcx, qword [rbp + 0x3d0]
test rcx, rcx
je 0x180012f42
mov rax, qword [rbp + 0x3e0]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012f26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a27
call fcn.1800993c4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d0], xmm0
xor r14d, r14d
mov qword [rbp + 0x3e0], r14
jmp 0x180012f45
xor r14d, r14d
mov rcx, qword [rbp + 0x448]
test rcx, rcx
je 0x180012fa3
mov rax, qword [rbp + 0x458]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012f8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a2e
call fcn.1800993c4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x448], xmm0
mov qword [rbp + 0x458], r14
mov rcx, qword [rbp + 0x430]
test rcx, rcx
je 0x180013001
mov rax, qword [rbp + 0x440]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012fea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a35
call fcn.1800993c4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x430], xmm0
mov qword [rbp + 0x440], r14
mov r12, qword [rbp + 0x4a0]
jmp 0x18001300d
xor r14d, r14d
cmp byte [0x1800db180], 0
je 0x1800135d3
cmp qword [0x1800de518], 0
je 0x180013066
mov eax, dword [0x1800de578]
test eax, eax
je 0x180013066
mov rcx, qword [0x1800de570]
test rcx, rcx
je 0x180013042
test eax, eax
jle 0x180013042
mov al, 1
jmp 0x180013044
xor al, al
test al, al
je 0x180013b64
mov rax, qword [rcx]
test rax, rax
je 0x180013066
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x180013066
mov rdi, qword [rdi + 0x2b8]
jmp 0x180013069
mov rdi, r14
mov dword [rbp + 0x3b0], 0x41200000
mov dword [rbp + 0x3b4], 0x41200000
movaps xmm0, xmmword [0x1800db110]
movups xmmword [rbp + 0x3b8], xmm0
mov dword [rbp + 0x88], 0x43520000
mov dword [rbp + 0x8c], 0x43520000
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x3b0]
mov rcx, r10
call fcn.180068ee0
movss xmm0, dword [0x1800db110]
movss dword [rbp + 0x4c0], xmm0
movss xmm1, dword [0x1800db114]
movss dword [rbp + 0x4c4], xmm1
movss xmm0, dword [0x1800db118]
movss dword [rbp + 0x4c8], xmm0
mov dword [rbp + 0x4cc], 0x3e99999a
mov dword [rbp + 0x90], 0x43520000
mov dword [rbp + 0x94], 0x43520000
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x4c0]
call fcn.180034fa0
mov r9d, eax
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x3b0]
mov rcx, r10
call fcn.180068ff0
mov dword [rsp + 0x68], 0x42dc0000
mov dword [rsp + 0x6c], 0x42dc0000
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
mov dword [rbp + 0x98], 0x43520000
mov dword [rbp + 0x9c], 0x42dc0000
mov dword [rbp + 0xa0], 0x41200000
mov dword [rbp + 0xa4], 0x42dc0000
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, r10
call fcn.180068d80
movaps xmm0, xmmword [0x1800db100]
movups xmmword [rbp + 0x3b8], xmm0
mov dword [rbp + 0xa8], 0x42dc0000
mov dword [rbp + 0xac], 0x43520000
mov dword [rbp + 0xb0], 0x42dc0000
mov dword [rbp + 0xb4], 0x41200000
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
mov rcx, r10
call fcn.180068d80
movss xmm0, dword [rbp + 0x218]
subss xmm0, dword [rbp - 0x68]
movss xmm1, dword [rbp + 0x21c]
subss xmm1, dword [rbp - 0x64]
mulss xmm1, dword [0x1800c8bb0]
movss xmm11, dword [0x1800c8d04]
addss xmm1, xmm11
mulss xmm0, dword [0x1800c8bb0]
addss xmm0, xmm11
movss dword [rbp + 0x418], xmm0
movss dword [rbp + 0x41c], xmm1
mov dword [rbp + 0x3d0], 0x43520000
comiss xmm8, xmm0
seta al
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0x418]
test al, al
cmove rdx, rcx
comiss xmm0, dword [0x1800c8d1c]
seta al
lea rcx, [rbp + 0x3d0]
test al, al
cmove rcx, rdx
movss xmm2, dword [rcx]
movss dword [rbp + 0x418], xmm2
mov dword [rbp + 0x3d0], 0x43520000
comiss xmm8, xmm1
seta al
lea rdx, [rbp + 0x3b4]
lea rcx, [rbp + 0x41c]
test al, al
cmove rdx, rcx
comiss xmm1, dword [0x1800c8d1c]
seta al
lea rcx, [rbp + 0x3d0]
test al, al
cmove rcx, rdx
movss xmm1, dword [rcx]
movaps xmm0, xmmword [0x1800db070]
movups xmmword [rbp + 0x3b8], xmm0
unpcklps xmm2, xmm1
movsd qword [rbp + 0x418], xmm2
movsd qword [rbp + 0x4a0], xmm2
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov rbx, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov esi, eax
test eax, 0xff000000
je 0x18001342f
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x1800c8cb8]
lea rdx, [rbp + 0x4a0]
mov rcx, rbx
call fcn.180067f00
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
movss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 1
mov r9d, esi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.180066a70
mov dword [rbx + 0x78], r14d
movss xmm0, dword [rdi + 0x238]
movss xmm10, dword [0x1800c8c00]
mulss xmm0, xmm10
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1800c8c60]
cvtpd2ps xmm8, xmm0
lea rdx, [rbp + 0x2b0]
mov rcx, r13
call fcn.180093030
movss xmm0, dword [rbp + 0x2b4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1800c8c60]
cvtpd2ps xmm9, xmm0
movaps xmm6, xmm9
subss xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movss xmm12, dword [0x1800c8d14]
mulss xmm7, xmm12
mulss xmm7, xmm10
addss xmm7, xmm11
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm12
mulss xmm0, xmm10
addss xmm0, xmm11
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm7
addss xmm9, xmm8
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
mulss xmm6, xmm12
mulss xmm6, xmm10
addss xmm6, xmm11
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm12
mulss xmm0, xmm10
addss xmm0, xmm11
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm6
movaps xmm0, xmmword [0x1800db090]
movups xmmword [rbp + 0x3b8], xmm0
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss xmm6, dword [0x1800c8c48]
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0xb8]
lea rdx, [rsp + 0x68]
mov rcx, r10
call fcn.180068d80
movaps xmm0, xmmword [0x1800db090]
movups xmmword [rbp + 0x3b8], xmm0
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0xc0]
lea rdx, [rsp + 0x68]
mov rcx, r10
call fcn.180068d80
cmp byte [0x1800db181], 0
je 0x180013677
cmp qword [0x1800de518], 0
je 0x180013a4a
mov r14, qword [0x1800de538]
test r14, r14
je 0x180013a4a
xorps xmm0, xmm0
movups xmmword [rbp + 0x4a0], xmm0
lea rdx, [rbp + 0x4a0]
mov rcx, qword [r12 + 0x280]
call fcn.1800936d0
xor ebx, ebx
mov edi, dword [rbp + 0x4a8]
test edi, edi
jle 0x180013677
mov r15, qword [rbp + 0x4a0]
mov rsi, r15
test r15, r15
je 0x18001366d
test ebx, ebx
js 0x18001366d
cmp ebx, edi
jge 0x18001366d
test r15, r15
je 0x18001364c
cmp ebx, edi
jge 0x18001364c
mov al, 1
jmp 0x18001364e
xor al, al
test al, al
je 0x180013b84
cmp qword [rsi], r14
je 0x18001366d
mov r8, r14
mov edx, ebx
mov rcx, qword [r12 + 0x280]
call fcn.180091180
inc ebx
add rsi, 8
cmp ebx, edi
jl 0x180013632
cmp byte [0x1800db190], 0
je 0x180013711
cmp byte [0x1800db198], 0
je 0x180013711
mov rax, qword [0x1800de518]
test rax, rax
je 0x180013705
mov rax, qword [rax + 0x188]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1800136b7
cmp dword [rax + 0x40], 0
jle 0x1800136b7
mov al, 1
jmp 0x1800136b9
xor al, al
test al, al
je 0x180013ba4
mov rax, qword [rcx]
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x2a0]
test rcx, rcx
je 0x180013705
mov rcx, qword [rcx + 0xce0]
test rcx, rcx
je 0x180013705
or byte [rcx + 0x77c], 4
mov qword [rcx + 0x9b0], 0
mov dword [rcx + 0x9d4], 0
mov dl, 1
call fcn.180091e70
jmp 0x180013711
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180006730
cmp byte [0x1800db191], 0
je 0x180013734
lea r8, [rbp + 0x2c0]
lea rdx, [rbp + 0x2d0]
mov rcx, qword [rbp + 0x1d0]
call fcn.1800917f0
mov rsi, qword [rbp + 0xc8]
cmp byte [0x1800db192], 0
je 0x180013768
mov qword [rbp + 0x120], 0
mov dword [rbp + 0x128], 0
lea rdx, [rbp + 0x120]
mov rcx, rsi
call fcn.1800914b0
mov rcx, rsi
cmp byte [0x1800db193], 0
je 0x18001378b
xor edx, edx
call fcn.180091e70
mov rax, qword [rsi + 0x288]
mov byte [rax + 0x168], 5
jmp 0x1800137a0
mov dl, 1
call fcn.180091e70
mov rax, qword [rsi + 0x288]
mov byte [rax + 0x168], 1
cmp byte [0x1800db194], 0
je 0x1800137b1
mov rcx, rsi
call fcn.180091b50
cmp byte [0x1800db195], 0
je 0x1800137c9
mov rcx, rsi
call fcn.180090750
mov byte [0x1800db195], 0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0x428]
mov r14d, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
movsd xmm15, qword [0x1800c8c88]
cmp byte [0x1800db182], 0
je 0x1800139a9
lea rdx, [rbp + 0x258]
mov rcx, r12
call fcn.1800924d0
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x258]
mov rcx, r13
call fcn.1800940c0
test al, al
je 0x18001399d
movss xmm0, dword [rbp + 0x80]
movss dword [rbp - 0x18], xmm0
movss xmm1, dword [rbp + 0x84]
movss dword [rbp - 0x14], xmm1
lea rdx, [rbp + 0x468]
mov rcx, r12
call fcn.180090610
nop
cmp qword [rax + 0x18], 0x10
jb 0x180013856
mov rax, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e8], xmm0
mov qword [rbp + 0x3f8], 0
mov qword [rbp + 0x400], 0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180013880
mov rdx, rax
lea rcx, [rbp + 0x3e8]
call fcn.180002c50
nop
movaps xmm0, xmmword [0x1800db070]
movups xmmword [rbp + 0x3b8], xmm0
mov rax, qword [0x1800de510]
mov rcx, qword [rax + 0x4140]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.180039f50
mov r10, rax
lea r9, [rbp + 0x3e8]
cmp qword [rbp + 0x400], 0x10
cmovae r9, qword [rbp + 0x3e8]
lea rcx, [rbp + 0x3b8]
call fcn.180034fa0
mov r8d, eax
lea rdx, [rbp - 0x18]
mov rcx, r10
call fcn.1800695b0
nop
mov rdx, qword [rbp + 0x400]
cmp rdx, 0x10
jb 0x18001393f
inc rdx
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001393a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a3c
call fcn.1800993c4
mov qword [rbp + 0x3f8], 0
mov qword [rbp + 0x400], 0xf
mov byte [rbp + 0x3e8], 0
mov rdx, qword [rbp + 0x480]
cmp rdx, 0x10
jb 0x18001399d
inc rdx
mov rcx, qword [rbp + 0x468]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013998
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013a43
call fcn.1800993c4
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0x428]
inc r14d
mov dword [rsp + 0x70], r14d
inc rdx
mov qword [rsp + 0x60], rdx
cmp r14d, ecx
movss xmm12, dword [0x1800c8c00]
mov r8, qword [rbp + 0x210]
jl 0x180011351
mov rbx, qword [rbp + 0x4b8]
mov rdi, qword [rbp + 0x208]
mov eax, dword [rbp - 0x80]
inc eax
mov dword [rbp - 0x80], eax
mov r8, qword [rbp + 0x460]
inc r8
mov qword [rbp + 0x460], r8
cmp eax, ebx
jge 0x180013a4a
movss xmm12, dword [0x1800c8c00]
jmp 0x1800112d0
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]
nop
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]
nop
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]
nop
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]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rbp + 0x6e0]
xor rcx, rsp
call fcn.180099360
lea r11, [rsp + 0x890]
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
lea rcx, [rbp + 0x240]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x240]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x1e8]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x1e8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x1e8]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x1e8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x1e8]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x1e8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x130]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.180014930
nop
call fcn.180014930
nop
call fcn.180014930
nop
lea rcx, [rbp + 0x130]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x130]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x130]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x388]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x388]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp + 0x240]
call fcn.1800107b0
lea rdx, [0x1800d8a28]
lea rcx, [rbp + 0x240]
call sub.VCRUNTIME140.dll__CxxThrowException
int3