Function at 0x140039450
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 - 0x408]
sub rsp, 0x4e0
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 [0x140052040]
xor rax, rsp
mov qword [rbp + 0x330], rax
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x48], r14d
mov esi, r14d
mov eax, r14d
mov edi, 0x19
mov rcx, qword [0x14009c5c0]
nop dword [rax]
nop word [rax + rax]
lea rbx, [rax + 0x1000]
add rax, 0x250
add rcx, rax
call fcn.14003ffc0
mov rcx, qword [0x14009c5c0]
cmp eax, 0x6f41c00
mov rax, rbx
jne 0x14003951a
lea rsi, [rbx + rcx]
sub rdi, 1
jne 0x1400394f0
lea rcx, [rsi + 0x11ecd148]
call fcn.14003fdc0
mov qword [0x14009c750], rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x1d8]
call fcn.14003fdc0
mov qword [0x14009c740], rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x38]
call fcn.14003fdc0
mov rcx, rax
call fcn.14003fdc0
mov qword [0x14009c720], rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x30]
call fcn.14003fdc0
mov qword [0x14009c748], rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x330]
call fcn.14003fdc0
mov qword [0x14009c728], rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x198]
call fcn.14003fdc0
mov qword [0x14009c710], rax
test rax, rax
je 0x14003b539
mov rcx, qword [0x14009c728]
add rcx, 0x2b0
call fcn.14003fdc0
mov qword [0x14009c718], rax
test rax, rax
je 0x14003b539
mov rcx, qword [0x14009c728]
add rcx, 0xa68
call fcn.14003fdc0
mov qword [0x14009c738], rax
test rax, rax
je 0x14003b539
mov rcx, qword [0x14009c710]
add rcx, 0x120
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
xorps xmm6, xmm6
movsd qword [rbp + 0x260], xmm6
mov r8d, 0x18
lea rdx, [rbp + 0x250]
call fcn.140035f80
movups xmm0, xmmword [rbp + 0x250]
movups xmmword [0x14009bbd8], xmm0
movsd xmm1, qword [rbp + 0x260]
movsd qword [0x14009bbe8], xmm1
mov dword [0x14009c730], 0x7f7fffff
mov qword [0x14009c708], r14
mov rcx, qword [0x14009c750]
add rcx, 0x160
call fcn.14003fdc0
mov rbx, rax
test rax, rax
je 0x14003b539
lea rcx, [rax + 0x2a8]
call fcn.14003fdc0
mov rdi, rax
mov qword [rbp - 0x70], rax
lea rcx, [rbx + 0x2b0]
call fcn.14003ffc0
cdqe
mov qword [rbp + 0x40], rax
mov dword [rsp + 0x4c], r14d
test rax, rax
je 0x14003b539
mov rcx, r14
mov esi, 4
movss xmm15, dword [0x14004996c]
movss xmm13, dword [0x1400499a8]
lea rcx, [rdi + rcx*8]
call fcn.14003fdc0
mov qword [rbp + 0x18], rax
test rax, rax
je 0x14003b522
lea rcx, [rax + 0x308]
call fcn.14003fdc0
mov rbx, rax
test rax, rax
je 0x14003b522
cmp rax, qword [0x14009c728]
je 0x14003b522
lea rcx, [rax + 0x310]
call fcn.14003fdc0
mov r13, rax
test rax, rax
je 0x14003b522
lea rcx, [rbx + 0x198]
call fcn.14003fdc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
movsd qword [rbp + 0x260], xmm6
lea rcx, [rax + 0x120]
mov r8d, 0x18
lea rdx, [rbp + 0x250]
call fcn.140035f80
movsd xmm0, qword [rbp + 0x258]
subsd xmm0, qword [0x14009bbe0]
cvtpd2ps xmm0, xmm0
movss xmm7, dword [0x1400499d0]
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm0, qword [rbp + 0x250]
subsd xmm0, qword [0x14009bbd8]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm1, qword [rbp + 0x260]
subsd xmm1, qword [0x14009bbe8]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x1400397e2
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1400397ea
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x140049a28]
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x1bc], xmm0
lea rcx, [r13 + 0x600]
call fcn.14003ffc0
shl eax, 4
movsxd rcx, eax
add rcx, 0x5b8
add rcx, r13
call fcn.14003fdc0
lea rdx, [rax + 0x2940]
lea rcx, [rbp + 0x2b0]
call fcn.140040060
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x80]
call fcn.140040060
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x80]
call fcn.1400361d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x2b0]
call fcn.1400361d0
movaps xmmword [rbp + 0x210], xmm6
movaps xmmword [rbp + 0x220], xmm7
movaps xmmword [rbp + 0x230], xmm8
movaps xmmword [rbp + 0x240], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x280], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x2a0], xmm1
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x170]
call fcn.1400363f0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x280], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm12, xmm12
cvtss2sd xmm12, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
shufps xmm1, xmm1, 0xaa
xorps xmm11, xmm11
cvtss2sd xmm11, xmm1
movsd qword [rbp + 0x1c0], xmm12
movsd qword [rbp + 0x1c8], xmm10
movsd qword [rbp + 0x1d0], xmm11
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x68]
call fcn.140036800
lea rcx, [r13 + 0x600]
call fcn.14003ffc0
shl eax, 4
movsxd rcx, eax
add rcx, 0x5b8
add rcx, r13
call fcn.14003fdc0
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140040060
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x2b0]
call fcn.140040060
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x2b0]
call fcn.1400361d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x80]
call fcn.1400361d0
movaps xmmword [rbp + 0x270], xmm6
movaps xmmword [rbp + 0x280], xmm7
movaps xmmword [rbp + 0x290], xmm8
movaps xmmword [rbp + 0x2a0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x210], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x220], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x230], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x240], xmm1
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0xf0]
call fcn.1400363f0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x280], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm2, xmmword [rax + 0x30]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rbp + 0x1f0], xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rbp + 0x1f8], xmm0
shufps xmm2, xmm2, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rbp + 0x200], xmm0
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x58]
call fcn.140036800
addsd xmm11, qword [0x140049a00]
movaps xmm0, xmm12
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x48]
call fcn.140036800
movsd xmm14, qword [rbp + 0x50]
movaps xmm0, xmm14
movsd xmm1, qword [rbp + 0x60]
movsd qword [rbp - 0x68], xmm1
subsd xmm0, xmm1
andps xmm0, xmmword [0x140049eb0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
movaps xmm12, xmm0
mulss xmm12, xmm15
mov rcx, qword [0x14009c728]
add rcx, 0x310
call fcn.14003fdc0
mov rbx, rax
mov r8d, esi
mov rcx, qword gs:[0x58]
mov rdx, qword [rcx]
mov ecx, dword [r8 + rdx]
cmp dword [0x14009c700], ecx
jle 0x140039b9a
lea rcx, [0x14009c700]
call fcn.140041160
cmp dword [0x14009c700], 0xffffffff
jne 0x140039b9a
xorps xmm0, xmm0
movups xmmword [0x14009c788], xmm0
xorps xmm1, xmm1
movsd qword [0x14009c798], xmm1
lea rcx, [rbx + 0x140]
mov r8d, 0x18
lea rdx, [0x14009c788]
call fcn.140035f80
lea rcx, [0x140042950]
call fcn.140041400
lea rcx, [0x14009c700]
call fcn.1400410f4
cmp byte [0x14009c58d], 0
je 0x140039ca4
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140039d4f
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x5ac5242b
imul r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x169
sub r8d, ecx
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movsd xmm11, qword [0x1400499c8]
movaps xmm1, xmm11
unpcklpd xmm1, xmm0
movaps xmmword [rbp + 0x1f0], xmm1
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
mov dword [rbp + 0x231], r14d
mov word [rbp + 0x235], r14w
mov byte [rbp + 0x237], 0
mov dword [rbp + 0x210], 0x9754474
lea rax, [rbx + 0x140]
mov qword [rbp + 0x218], rax
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 0x18
mov eax, dword [0x14009c5b8]
mov dword [rbp + 0x214], eax
mov byte [rbp + 0x230], 1
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x28
lea r8, [rbp + 0x210]
mov edx, 0x224004
mov rcx, qword [0x14009c5b0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x140039d58
movups xmm0, xmmword [0x14009c788]
movaps xmmword [rbp + 0x1f0], xmm0
movsd xmm1, qword [0x14009c798]
movsd qword [rbp + 0x200], xmm1
mov dword [rbp + 0x231], r14d
mov word [rbp + 0x235], r14w
mov byte [rbp + 0x237], 0
mov dword [rbp + 0x210], 0x9754474
lea rax, [rbx + 0x140]
mov qword [rbp + 0x218], rax
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 0x18
mov eax, dword [0x14009c5b8]
mov dword [rbp + 0x214], eax
mov byte [rbp + 0x230], 1
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x28
lea r8, [rbp + 0x210]
mov edx, 0x224004
mov rcx, qword [0x14009c5b0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movsd xmm11, qword [0x1400499c8]
mov rcx, qword [0x14009c738]
cmp byte [0x14009c58c], 0
je 0x140039dac
test rcx, rcx
je 0x140039dac
add rcx, qword [0x14009c728]
call fcn.14003fdc0
mov rcx, qword [0x14009c738]
add rcx, 0xe44
xorps xmm1, xmm1
call fcn.140040710
mov rcx, qword [0x14009c738]
add rcx, 0xe48
xorps xmm1, xmm1
call fcn.140040710
mov rcx, qword [0x14009c738]
movss xmm6, dword [0x140049adc]
cmp byte [0x14009c589], 0
je 0x140039ddc
mov rax, qword [0x14009c748]
test rax, rax
je 0x140039ddc
lea rcx, [rax + 0x68]
movaps xmm1, xmm6
call fcn.140040710
mov rcx, qword [0x14009c738]
cmp byte [0x14009c6d6], 0
je 0x140039e55
test rcx, rcx
je 0x140039e55
cmp byte [0x14009c6d8], 0
je 0x140039e32
add rcx, 0x68
movaps xmm1, xmm6
call fcn.140040710
mov rcx, qword [0x14009c728]
add rcx, 0x64
xorps xmm1, xmm1
call fcn.140040710
mov rcx, qword [0x14009c738]
add rcx, 0xe50
xor edx, edx
call fcn.1400407b0
mov rcx, qword [0x14009c738]
mov dl, 1
jmp 0x140039e34
xor edx, edx
add rcx, 0xe51
call fcn.1400407b0
mov rcx, qword [0x14009c738]
xor edx, edx
add rcx, 0xe50
call fcn.1400407b0
mov rcx, qword [0x14009c748]
add rcx, 0x2758
cmp byte [0x14009c58e], 0
je 0x140039e83
movss xmm1, dword [0x14009b884]
call fcn.140040710
movss xmm1, dword [0x14009b884]
jmp 0x140039e96
movss xmm6, dword [0x140049a84]
movaps xmm1, xmm6
call fcn.140040710
movaps xmm1, xmm6
mov rcx, qword [0x14009c748]
add rcx, 0x275c
call fcn.140040710
cmp byte [0x14009c58b], 0
je 0x140039fa6
mov rcx, qword [0x14009c728]
test rcx, rcx
je 0x140039fa6
cmp qword [0x14009c738], 0
je 0x140039fa6
add rcx, 0x318
call fcn.14003fdc0
mov rbx, rax
mov rcx, qword [0x14009c738]
add rcx, 0x399
mov byte [rbp + 0x1b8], 0
mov dword [rbp + 0x231], r14d
mov word [rbp + 0x235], r14w
mov byte [rbp + 0x237], 0
mov dword [rbp + 0x210], 0x9754474
mov qword [rbp + 0x218], rcx
lea rax, [rbp + 0x1b8]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 1
mov ecx, dword [0x14009c5b8]
mov dword [rbp + 0x214], ecx
mov byte [rbp + 0x230], 0
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x28
lea r8, [rbp + 0x210]
mov edx, 0x224004
mov rcx, qword [0x14009c5b0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test rbx, rbx
je 0x140039fa6
lea rcx, [rbx + 0xa28]
cmp byte [rbp + 0x1b8], 0
je 0x140039f9d
movss xmm1, dword [0x140049ac8]
jmp 0x140039fa1
movaps xmm1, xmm13
call fcn.140040710
cmp byte [0x14009c6dc], 0
je 0x14003a14d
movss xmm0, dword [0x140049a88]
comiss xmm0, dword [rbp + 0x1bc]
jb 0x14003a14d
movsd xmm0, qword [rbp + 0x250]
subsd xmm0, qword [0x14009bbd8]
cvtpd2ps xmm8, xmm0
movsd xmm1, qword [rbp + 0x260]
subsd xmm1, qword [0x14009bbe8]
cvtpd2ps xmm7, xmm1
movsd xmm0, qword [0x14009bb70]
mulsd xmm0, qword [0x1400499e0]
divsd xmm0, qword [0x140049a30]
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm10, xmm0
mulss xmm10, xmm7
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm10, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
mulss xmm9, xmm7
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
subss xmm9, xmm0
mulss xmm10, dword [0x140049940]
mulss xmm9, dword [0x140049940]
addss xmm10, dword [0x140049a88]
movss dword [rbp + 0x1b0], xmm10
addss xmm9, dword [0x140049a88]
movss dword [rbp + 0x1b4], xmm9
mov dword [rsp + 0x40], 0x43440000
mov dword [rsp + 0x60], 0x40800000
lea rdx, [rsp + 0x60]
lea rax, [rbp + 0x1b0]
movss xmm0, dword [0x140049a40]
comiss xmm0, xmm10
cmovbe rdx, rax
mov dword [rbp - 0x80], 0x43440000
mov dword [rsp + 0x70], 0x40800000
lea rcx, [rsp + 0x70]
lea rax, [rbp + 0x1b4]
comiss xmm0, xmm9
cmovbe rcx, rax
lea rax, [rbp - 0x80]
comiss xmm9, dword [0x140049a90]
cmovbe rax, rcx
cvttss2si eax, dword [rax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm1, xmm0
lea rax, [rsp + 0x40]
comiss xmm10, dword [0x140049a90]
cmovbe rax, rdx
cvttss2si eax, dword [rax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x7c], xmm0
movss dword [rbp - 0x78], xmm1
mov rdx, qword [0x14009c6b8]
cmp rdx, qword [0x14009c6c0]
je 0x14003a144
unpcklps xmm0, xmm1
movsd qword [rbp - 0x7c], xmm0
movsd qword [rdx], xmm0
add qword [0x14009c6b8], 8
jmp 0x14003a14d
lea r8, [rbp - 0x7c]
call fcn.140040c30
cmp byte [0x14009c6dd], 0
je 0x14003a4b2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov esi, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r14d, eax
mov eax, 0x88888889
imul ecx
lea ebx, [rcx + rdx]
sar ebx, 5
mov ecx, ebx
shr ecx, 0x1f
add ebx, ecx
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan
cvtsd2ss xmm0, xmm0
mov r15d, dword [0x14009c6e4]
inc r15d
mov dword [0x14009c6e4], r15d
movd xmm9, ebx
cvtdq2ps xmm9, xmm9
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x140049a18]
cvtpd2ps xmm10, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm8, xmm9
divss xmm8, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x34], xmm1
xor edi, edi
movsd xmm11, qword [0x1400499b0]
nop word [rax + rax]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
mov qword [rbp + 0x1d0], rax
lea eax, [r15 + rdi]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm11
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm9
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [rbp + 0x1c0]
call fcn.140040a90
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm9
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
mov rdx, qword [rbp + 0x1c8]
cmp rdx, qword [rbp + 0x1d0]
je 0x14003a29e
mov dword [rdx], eax
mov rbx, qword [rbp + 0x1c8]
add rbx, 4
mov qword [rbp + 0x1c8], rbx
jmp 0x14003a2b6
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.140040a90
mov rbx, qword [rbp + 0x1c8]
movaps xmm0, xmm10
addss xmm0, xmm7
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm11
cvtpd2ps xmm6, xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
cmp rbx, qword [rbp + 0x1d0]
je 0x14003a302
mov dword [rbx], eax
mov rbx, qword [rbp + 0x1c8]
add rbx, 4
mov qword [rbp + 0x1c8], rbx
jmp 0x14003a31d
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rbp + 0x1c0]
call fcn.140040a90
mov rbx, qword [rbp + 0x1c8]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
cmp rbx, qword [rbp + 0x1d0]
je 0x14003a347
mov dword [rbx], eax
add qword [rbp + 0x1c8], 4
jmp 0x14003a35b
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rbp + 0x1c0]
call fcn.140040a90
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm13
movss xmm2, dword [0x140049998]
movss xmm1, dword [0x140049978]
lea rcx, [rbp + 0xe0]
call fcn.14001b150
mov rcx, rax
call fcn.140003100
mov ebx, eax
mov ecx, r14d
mov rdx, qword [rbp + 0x1c0]
sub ecx, dword [rdx + 4]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, dword [rdx]
add ecx, esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
mov ecx, r14d
sub ecx, dword [rdx + 0xc]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, dword [rdx + 8]
add ecx, esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
mov rax, qword [0x14009c590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400067f0
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.140024f80
mov rax, qword [0x14009c590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400067f0
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp - 0x30]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140024f80
add edi, 0x5a
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x14003a4a3
mov rax, qword [rbp + 0x1d0]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a49e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b5a1
call fcn.14004107c
cmp edi, 0x168
jl 0x14003a210
xor r14d, r14d
movss xmm0, dword [0x140049aa4]
comiss xmm0, dword [rbp + 0x1bc]
jb 0x14003b473
movsd xmm11, qword [rbp + 0x48]
cmp byte [0x14009c6e2], 0
je 0x14003a630
mov ecx, dword [0x14009c6d0]
test ecx, ecx
je 0x14003a5ad
cmp ecx, 1
jne 0x14003a630
lea rcx, [r13 + 0x2e0]
call fcn.14003ff10
movaps xmm6, xmm0
lea rcx, [r13 + 0x2e8]
call fcn.14003ff10
movss xmm10, dword [0x14004993c]
addss xmm0, xmm10
xorps xmm1, xmm1
lea rax, [rbp + 0x1c0]
movaps xmm2, xmm12
cvtsd2ss xmm1, xmm14
mov qword [rsp + 0x20], rax
comiss xmm0, xmm6
jb 0x14003a572
movups xmm0, xmmword [0x14009bb88]
movdqa xmmword [rbp + 0x1c0], xmm0
movaps xmm4, xmm12
mulss xmm4, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
movaps xmm5, xmm11
subsd xmm5, xmm0
cvtpd2ps xmm0, xmm5
movss xmm3, dword [rsp + 0x44]
call fcn.140038850
jmp 0x14003a639
movups xmm0, xmmword [0x14009bc98]
movdqa xmmword [rbp + 0x1c0], xmm0
mulss xmm2, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movaps xmm3, xmm11
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
movss xmm3, dword [rsp + 0x44]
movaps xmm2, xmm12
call fcn.140038850
jmp 0x14003a639
lea rcx, [r13 + 0x2e0]
call fcn.14003ff10
movaps xmm6, xmm0
lea rcx, [r13 + 0x2e8]
call fcn.14003ff10
movss xmm10, dword [0x14004993c]
addss xmm0, xmm10
cvttss2si r9d, dword [rsp + 0x44]
cvttss2si r8d, xmm12
cvttsd2si edx, xmm14
movaps xmm1, xmm11
lea rax, [rbp + 0x1c0]
mulss xmm12, xmm15
mov qword [rsp + 0x20], rax
comiss xmm0, xmm6
jb 0x14003a627
movups xmm0, xmmword [0x14009bb88]
movdqa xmmword [rbp + 0x1c0], xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
call fcn.140038420
jmp 0x14003a639
movups xmm0, xmmword [0x14009bc98]
jmp 0x14003a608
movss xmm10, dword [0x14004993c]
cmp byte [0x14009c6d4], 0
je 0x14003ab1c
mov esi, r14d
lea r14, [0x14009bc04]
movss xmm12, dword [0x1400499d0]
movdqa xmm15, xmmword [0x140049d90]
mov ebx, dword [r14 - 4]
mov edi, dword [r14]
lea rcx, [r13 + 0x600]
call fcn.14003ffc0
shl eax, 4
movsxd rcx, eax
add rcx, 0x5b8
add rcx, r13
call fcn.14003fdc0
lea ecx, [rbx + rbx*2]
shl ecx, 5
movsxd rdx, ecx
add rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140040060
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x2b0]
call fcn.140040060
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x2b0]
call fcn.1400361d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x80]
call fcn.1400361d0
movaps xmmword [rbp + 0x270], xmm6
movaps xmmword [rbp + 0x280], xmm7
movaps xmmword [rbp + 0x290], xmm8
movaps xmmword [rbp + 0x2a0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x210], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x220], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x230], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x240], xmm1
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0xf0]
call fcn.1400363f0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x280], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm10, xmmword [rax + 0x30]
lea rcx, [r13 + 0x600]
call fcn.14003ffc0
shl eax, 4
movsxd rcx, eax
add rcx, 0x5b8
add rcx, r13
call fcn.14003fdc0
lea ecx, [rdi + rdi*2]
shl ecx, 5
movsxd rdx, ecx
add rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140040060
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x2b0]
call fcn.140040060
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x2b0]
call fcn.1400361d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x80]
call fcn.1400361d0
movaps xmmword [rbp + 0x270], xmm6
movaps xmmword [rbp + 0x280], xmm7
movaps xmmword [rbp + 0x290], xmm8
movaps xmmword [rbp + 0x2a0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x210], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x220], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x230], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x240], xmm1
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0xf0]
call fcn.1400363f0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x280], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm6, xmmword [rax + 0x30]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
movsd qword [rbp + 0x1f0], xmm0
movaps xmm1, xmm10
shufps xmm1, xmm10, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rbp + 0x1f8], xmm0
shufps xmm10, xmm10, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
movsd qword [rbp + 0x200], xmm0
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x30]
call fcn.140036800
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
movsd qword [rbp + 0x1c0], xmm0
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rbp + 0x1c8], xmm0
shufps xmm6, xmm6, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
movsd qword [rbp + 0x1d0], xmm0
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x20]
call fcn.140036800
lea rcx, [r13 + 0x2e0]
call fcn.14003ff10
movaps xmm6, xmm0
lea rcx, [r13 + 0x2e8]
call fcn.14003ff10
movss xmm10, dword [0x14004993c]
addss xmm0, xmm10
mov rax, qword [0x14009c590]
lea r8, str.Foreground
mov edx, 1
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003aa2a
call fcn.1400067f0
mov r10, rax
movups xmmword [rbp + 0x1c0], xmm15
lea rcx, [rbp + 0x1c0]
call fcn.140003100
movsd xmm9, qword [rbp + 0x28]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x20]
cvtpd2ps xmm7, xmm7
movss dword [rbp - 0x28], xmm7
movss dword [rbp - 0x24], xmm9
movsd xmm8, qword [rbp + 0x38]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x30]
cvtpd2ps xmm6, xmm6
movss dword [rbp - 0x20], xmm6
movss dword [rbp - 0x1c], xmm8
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x20]
mov rcx, r10
call fcn.140024f80
mov rax, qword [0x14009c590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400067f0
mov r10, rax
lea rcx, [0x14009bb00]
call fcn.140003100
movss dword [rbp - 0x18], xmm7
movss dword [rbp - 0x14], xmm9
movss dword [rbp - 0x48], xmm6
movss dword [rbp - 0x44], xmm8
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x48]
jmp 0x14003aaed
call fcn.1400067f0
mov r10, rax
movups xmmword [rbp + 0x1c0], xmm15
lea rcx, [rbp + 0x1c0]
call fcn.140003100
movsd xmm9, qword [rbp + 0x28]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x20]
cvtpd2ps xmm7, xmm7
movss dword [rbp - 0x50], xmm7
movss dword [rbp - 0x4c], xmm9
movsd xmm8, qword [rbp + 0x38]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x30]
cvtpd2ps xmm6, xmm6
movss dword [rbp - 0x40], xmm6
movss dword [rbp - 0x3c], xmm8
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
mov rcx, r10
call fcn.140024f80
mov rax, qword [0x14009c590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400067f0
mov r10, rax
lea rcx, [0x14009bc88]
call fcn.140003100
movss dword [rbp - 0x58], xmm7
movss dword [rbp - 0x54], xmm9
movss dword [rbp - 0x10], xmm6
movss dword [rbp - 0xc], xmm8
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x10]
movss dword [rsp + 0x20], xmm13
mov r9d, eax
mov rcx, r10
call fcn.140024f80
inc esi
add r14, 8
cmp esi, 0x11
jb 0x14003a662
movss xmm15, dword [0x14004996c]
mov r12d, dword [rsp + 0x48]
movsd xmm7, qword [rbp + 0x58]
cmp byte [0x14009c6d7], 0
je 0x14003ac3e
lea rcx, [r13 + 0x2e0]
call fcn.14003ff10
movaps xmm6, xmm0
lea rcx, [r13 + 0x2e8]
call fcn.14003ff10
addss xmm0, xmm10
mov rax, qword [0x14009c590]
lea r8, str.Foreground
mov edx, 1
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003abd7
call fcn.1400067f0
mov r10, rax
lea rcx, [0x14009bba8]
call fcn.140003100
movsd xmm6, qword [rbp - 0x68]
cvtpd2ps xmm1, xmm6
cvtpd2ps xmm0, xmm7
movss dword [rbp - 8], xmm0
movss dword [rbp - 4], xmm1
movd xmm2, dword [0x14009c7a0]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x14009c778]
cvtdq2ps xmm0, xmm0
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm2
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp - 8]
lea rdx, [rbp]
mov rcx, r10
call fcn.140024f80
jmp 0x14003ac43
call fcn.1400067f0
mov r10, rax
lea rcx, [0x14009bb10]
call fcn.140003100
movsd xmm6, qword [rbp - 0x68]
cvtpd2ps xmm1, xmm6
cvtpd2ps xmm0, xmm7
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm1
movd xmm2, dword [0x14009c7a0]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x14009c778]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm2
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp + 8]
lea rdx, [rbp + 0x10]
mov rcx, r10
call fcn.140024f80
jmp 0x14003ac43
movsd xmm6, qword [rbp - 0x68]
cmp byte [0x14009c6e0], 0
je 0x14003adcf
lea rcx, [rbp + 0x1f0]
call fcn.140036c30
nop
lea rax, [rbp + 0x1f0]
mov rcx, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
cmova rax, rcx
mov rbx, qword [0x14009c590]
mov r10, qword [rbx + 0x3c08]
movss xmm0, dword [rbx + 0x3c10]
movss xmm8, dword [0x140049adc]
movss xmm12, dword [0x140049ad0]
test rax, rax
jne 0x14003acac
xorps xmm2, xmm2
jmp 0x14003ad0b
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm12
movaps xmm2, xmm0
lea rdx, [rbp - 0x60]
mov rcx, r10
call fcn.140028cb0
movss xmm0, dword [rbp - 0x60]
addss xmm0, dword [0x1400499a0]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [rbp - 0x60], xmm2
movss xmm0, dword [rbp - 0x5c]
mov r10, qword [rbx + 0x3c08]
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x1f0]
lea rax, [rbp + 0x1f0]
cmp rdx, 0xf
cmova rax, rcx
movaps xmm1, xmm14
subsd xmm1, qword [0x1400499f0]
mulss xmm0, xmm15
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm1
mulss xmm2, xmm15
cvtps2pd xmm0, xmm2
movaps xmm1, xmm11
subsd xmm1, xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
movdqa xmm10, xmmword [0x140049e90]
movdqa xmmword [rbp + 0x1c0], xmm10
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1c0]
unpcklps xmm2, xmm3
movq r8, xmm2
movss xmm9, dword [0x140049a64]
movaps xmm1, xmm9
mov rcx, r10
call fcn.140037fa0
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
jbe 0x14003adf3
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003adc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b5a8
call fcn.14004107c
jmp 0x14003adf3
movss xmm8, dword [0x140049adc]
movss xmm9, dword [0x140049a64]
movdqa xmm10, xmmword [0x140049e90]
movss xmm12, dword [0x140049ad0]
mov rdi, qword [rbp + 0x18]
cmp byte [0x14009c6de], 0
je 0x14003b0da
lea rcx, [rdi + 0x438]
call fcn.14003fdc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2b0], xmm0
movups xmmword [rbp + 0x2c0], xmm0
movups xmmword [rbp + 0x2d0], xmm0
movups xmmword [rbp + 0x2e0], xmm0
movups xmmword [rbp + 0x2f0], xmm0
movups xmmword [rbp + 0x300], xmm0
movups xmmword [rbp + 0x310], xmm0
movups xmmword [rbp + 0x320], xmm0
xor esi, esi
mov dword [rbp + 0x1e1], esi
mov word [rbp + 0x1e5], si
mov byte [rbp + 0x1e7], sil
mov dword [rbp + 0x1c0], 0x9754474
mov qword [rbp + 0x1c8], rax
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1d8], 0x80
mov eax, dword [0x14009c5b8]
mov dword [rbp + 0x1c4], eax
mov byte [rbp + 0x1e0], sil
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, 0x28
lea r8, [rbp + 0x1c0]
mov edx, 0x224004
mov rcx, qword [0x14009c5b0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x210]
call fcn.14003f850
nop
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 7
cmova rdx, qword [rbp + 0x210]
mov rax, qword [rbp + 0x220]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x210]
cmova rdx, qword [rbp + 0x210]
lea rcx, [rbp + 0x1f0]
call fcn.140040160
nop
lea rax, [rbp + 0x1f0]
mov rcx, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
cmova rax, rcx
mov rbx, qword [0x14009c590]
movss xmm0, dword [rbx + 0x3c10]
test rax, rax
jne 0x14003af58
xorps xmm1, xmm1
jmp 0x14003afb4
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm12
movaps xmm2, xmm0
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x3c08]
call fcn.140028cb0
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [0x1400499a0]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x58], xmm1
movss xmm0, dword [rsp + 0x5c]
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x1f0]
lea rax, [rbp + 0x1f0]
mulss xmm0, xmm15
xorps xmm2, xmm2
mulss xmm1, xmm15
movdqa xmmword [rbp + 0x1c0], xmm10
lea r9, [rbp + 0x1c0]
cvtps2pd xmm0, xmm0
cmp byte [0x14009c6e0], 0
je 0x14003afef
subsd xmm14, qword [0x140049a08]
jmp 0x14003aff8
subsd xmm14, qword [0x1400499f0]
subsd xmm14, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
subsd xmm11, xmm0
cvtsd2ss xmm2, xmm14
cvtsd2ss xmm1, xmm11
cmp rdx, 0xf
unpcklps xmm1, xmm2
cmova rax, rcx
movq r8, xmm1
mov qword [rsp + 0x20], rax
movaps xmm1, xmm9
mov rcx, qword [rbx + 0x3c08]
call fcn.140037fa0
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
jbe 0x14003b079
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b074
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b5af
call fcn.14004107c
mov qword [rbp + 0x200], rsi
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
mov rdx, qword [rbp + 0x228]
cmp rdx, 7
jbe 0x14003b0dc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b0d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b5b6
call fcn.14004107c
jmp 0x14003b0dc
xor esi, esi
cmp byte [0x14009c6e1], 0
je 0x14003b1e6
movss xmm2, dword [rbp + 0x1bc]
cvtps2pd xmm2, xmm2
movq r8, xmm2
lea rdx, str._.fm
lea rcx, [rbp + 0x270]
call fcn.140040850
mov rbx, qword [0x14009c590]
mov qword [rsp + 0x30], rsi
lea rax, [rbp + 0x270]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movss xmm11, dword [0x140049ad0]
movaps xmm3, xmm11
movss xmm2, dword [rbx + 0x3c10]
lea rdx, [rsp + 0x68]
mov rcx, qword [rbx + 0x3c08]
call fcn.140028cb0
movss xmm0, dword [rsp + 0x68]
movss xmm12, dword [0x1400499a0]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [rsp + 0x68], xmm4
movaps xmm2, xmm6
movsd xmm14, qword [0x1400499f0]
addsd xmm2, xmm14
movss xmm0, dword [rsp + 0x6c]
mulss xmm0, xmm15
cvtps2pd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm3, xmm2
mulss xmm4, xmm15
cvtps2pd xmm0, xmm4
movaps xmm1, xmm7
subsd xmm1, xmm0
cvtpd2ps xmm2, xmm1
movdqa xmmword [rbp + 0x1c0], xmm10
lea rax, [rbp + 0x270]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1c0]
unpcklps xmm2, xmm3
movq r8, xmm2
movaps xmm1, xmm9
mov rcx, qword [rbx + 0x3c08]
call fcn.140037fa0
jmp 0x14003b201
movss xmm11, dword [0x140049ad0]
movss xmm12, dword [0x1400499a0]
movsd xmm14, qword [0x1400499f0]
cmp byte [0x14009c6db], 0
je 0x14003b473
lea rcx, [rdi + 0x9f0]
call fcn.14003fdc0
mov dword [rbp + 0x1bc], esi
mov dword [rbp + 0x231], esi
mov word [rbp + 0x235], si
mov byte [rbp + 0x237], 0
mov dword [rbp + 0x210], 0x9754474
add rax, 0xc8
mov qword [rbp + 0x218], rax
lea rax, [rbp + 0x1bc]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 4
mov eax, dword [0x14009c5b8]
mov dword [rbp + 0x214], eax
mov byte [rbp + 0x230], 0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, 0x28
lea r8, [rbp + 0x210]
mov edx, 0x224004
mov rcx, qword [0x14009c5b0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movsxd rbx, dword [rbp + 0x1bc]
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14009c7a4], eax
jle 0x14003b2f9
lea rcx, [0x14009c7a4]
call fcn.140041160
cmp dword [0x14009c7a4], 0xffffffff
jne 0x14003b2f9
lea rcx, [0x140042930]
call fcn.140041400
lea rcx, [0x14009c7a4]
call fcn.1400410f4
lea rcx, [rbp + 0x1f0]
cmp ebx, 0x11
ja 0x14003b318
mov rdx, rbx
shl rdx, 5
lea rax, str.Bronze_1
add rdx, rax
jmp 0x14003b31f
lea rdx, str.Unranked
call fcn.14003f9f0
nop
or r12d, 1
mov dword [rsp + 0x48], r12d
lea rax, [rbp + 0x1f0]
mov rcx, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
cmova rax, rcx
mov rbx, qword [0x14009c590]
movss xmm0, dword [rbx + 0x3c10]
test rax, rax
jne 0x14003b364
xorps xmm1, xmm1
jmp 0x14003b3bd
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm11
movaps xmm2, xmm0
lea rdx, [rsp + 0x78]
mov rcx, qword [rbx + 0x3c08]
call fcn.140028cb0
movss xmm0, dword [rsp + 0x78]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x78], xmm1
movss xmm0, dword [rsp + 0x7c]
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x1f0]
lea rax, [rbp + 0x1f0]
mulss xmm0, xmm15
mulss xmm1, xmm15
movdqa xmmword [rbp + 0x1c0], xmm10
lea r9, [rbp + 0x1c0]
cvtps2pd xmm0, xmm0
cmp byte [0x14009c6e1], 0
je 0x14003b3f4
addsd xmm6, qword [0x140049a08]
jmp 0x14003b3f9
addsd xmm6, xmm14
subsd xmm6, xmm0
cvtps2pd xmm0, xmm1
subsd xmm7, xmm0
cvtpd2ps xmm2, xmm6
cvtpd2ps xmm1, xmm7
cmp rdx, 0xf
unpcklps xmm1, xmm2
cmova rax, rcx
movq r8, xmm1
mov qword [rsp + 0x20], rax
movaps xmm1, xmm9
mov rcx, qword [rbx + 0x3c08]
call fcn.140037fa0
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
jbe 0x14003b473
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b46e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b5bd
call fcn.14004107c
mov eax, dword [0x14009c77c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [rbp + 0x68]
movsd xmm1, qword [0x1400499d8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
mov eax, dword [0x14009c7a0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [rbp + 0x70]
movsd xmm1, qword [0x1400499d8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x14003b4d6
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x14003b4de
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm1, dword [0x14009b888]
cvtps2pd xmm1, xmm1
xorps xmm6, xmm6
mov rdi, qword [rbp - 0x70]
xor r14d, r14d
mov esi, 4
comisd xmm1, xmm0
jb 0x14003b522
movss xmm1, dword [0x14009c730]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
jbe 0x14003b522
cvtsd2ss xmm0, xmm0
movss dword [0x14009c730], xmm0
mov qword [0x14009c708], r13
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
movsxd rcx, eax
cmp rcx, qword [rbp + 0x40]
jb 0x1400396e0
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.140040e10
lea r11, [rsp + 0x4e0]
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 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
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]
int3