Function at 0x1400405c0
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 - 0x5c8]
sub rsp, 0x6a0
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 [0x14005b0c0]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
xor r13d, r13d
mov rdx, qword [0x14005a5f8]
mov ecx, r13d
mov qword [rbp + 0x310], rcx
movabs rbx, 0x7fffffffffbffffe
movabs r15, 0xcccccccccccccccc
add rdx, qword [0x14005b5e0]
je 0x14003ab09
cmp rdx, r15
je 0x14003ab09
cmp rdx, 0xffffffffffffffff
je 0x14003ab09
lea rax, [rdx - 0x400001]
cmp rax, rbx
ja 0x14003ab09
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], cl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rdx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], cl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x310]
mov qword [0x14005b5b8], rcx
mov qword [0x14005b5e8], rcx
add rcx, qword [0x14005a618]
mov rdx, r13
mov qword [rbp + 0x310], rdx
je 0x14003abdc
cmp rcx, r15
je 0x14003abdc
cmp rcx, 0xffffffffffffffff
je 0x14003abdc
lea rax, [rcx - 0x400001]
cmp rax, rbx
ja 0x14003abdc
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], dl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rcx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], dl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [rbp + 0x310]
mov rcx, qword [0x14005a620]
add rcx, rdx
call fcn.1400397b0
mov rdx, r13
mov qword [rbp + 0x310], rdx
test rax, rax
je 0x14003acac
cmp rax, r15
je 0x14003acac
cmp rax, 0xffffffffffffffff
je 0x14003acac
lea rcx, [rax - 0x400001]
cmp rcx, rbx
ja 0x14003acac
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], dl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rax
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], dl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [rbp + 0x310]
mov qword [0x14005b5a0], rdx
mov rcx, qword [0x14005a628]
add rcx, rdx
mov rdx, r13
mov qword [rbp + 0x310], rdx
je 0x14003ad7b
cmp rcx, r15
je 0x14003ad7b
cmp rcx, 0xffffffffffffffff
je 0x14003ad7b
lea rax, [rcx - 0x400001]
cmp rax, rbx
ja 0x14003ad7b
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], dl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rcx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], dl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [rbp + 0x310]
mov qword [0x14005b578], rdx
mov qword [0x14005b550], rdx
mov rcx, qword [0x14005a718]
add rcx, rdx
call fcn.1400397b0
mov qword [0x14005b5d0], rax
mov rcx, qword [0x14005b578]
add rcx, qword [0x14005a630]
call fcn.1400397b0
mov rdx, rax
mov qword [0x14005b590], rax
mov rcx, qword [0x14005a638]
mov r8, r13
mov qword [rbp + 0x310], r13
add rcx, rax
je 0x14003ae8d
cmp rcx, r15
je 0x14003ae8d
cmp rcx, 0xffffffffffffffff
je 0x14003ae8d
lea rax, [rcx - 0x400001]
cmp rax, rbx
ja 0x14003ae8d
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], r8b
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rcx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], r8b
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [0x14005b590]
mov r8, qword [rbp + 0x310]
mov qword [0x14005b588], r8
mov rcx, rdx
call fcn.140040810
mov qword [0x14005b598], rax
mov rdx, qword [0x14005a608]
mov rcx, r13
mov qword [rbp + 0x310], rcx
add rdx, qword [0x14005b5b8]
je 0x14003af6f
cmp rdx, r15
je 0x14003af6f
cmp rdx, 0xffffffffffffffff
je 0x14003af6f
lea rax, [rdx - 0x400001]
cmp rax, rbx
ja 0x14003af6f
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], cl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rdx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], cl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x310]
mov qword [0x14005b5c0], rcx
test rcx, rcx
je 0x14003d42c
mov rdx, qword [0x14005b590]
mov rcx, qword [0x14005a6e0]
mov r8, r13
mov qword [rbp + 0x310], r13
add rcx, rdx
je 0x14003b057
cmp rcx, r15
je 0x14003b057
cmp rcx, 0xffffffffffffffff
je 0x14003b057
lea rax, [rcx - 0x400001]
cmp rax, rbx
ja 0x14003b057
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], r8b
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rcx
lea rax, [rbp + 0x310]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], r8b
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [0x14005b590]
mov r8, qword [rbp + 0x310]
mov qword [0x14005b5c8], r8
mov rcx, rdx
call fcn.14003ff10
mov qword [0x14005b5a8], rax
mov rdx, qword [0x14005a610]
mov r12, r13
mov qword [rbp + 0x310], r13
mov qword [rbp - 0x80], r13
mov esi, r13d
mov qword [rbp - 0x78], r13
add rdx, qword [0x14005b5c0]
je 0x14003b14a
cmp rdx, r15
je 0x14003b14a
cmp rdx, 0xffffffffffffffff
je 0x14003b14a
lea rax, [rdx - 0x400001]
cmp rax, rbx
ja 0x14003b14a
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], sil
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rdx
lea rax, [rbp - 0x80]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 0x10
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], sil
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov esi, dword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
mov qword [rbp + 0x310], r12
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp + 0x150], xmm0
mov rcx, qword [0x14005b588]
add rcx, qword [0x14005a670]
call fcn.140039490
mov dword [rbp - 0x20], eax
call fcn.14000a8c0
movss xmm0, dword [rax + 0xc]
mulss xmm0, dword [0x14004c034]
movss dword [rbp - 0x68], xmm0
call fcn.14000a8c0
movss xmm0, dword [rax + 8]
mulss xmm0, dword [0x14004c034]
movss dword [rbp - 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3d0], xmm1
mov qword [rbp + 0x3e0], r13
lea eax, [rsi + rsi]
mov ecx, eax
mov qword [rbp + 0x3b8], rcx
test eax, eax
je 0x14003b1cf
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp + 0x3d0]
call fcn.140038880
mov ebx, r13d
test esi, esi
je 0x14003b37c
mov r14, r12
movabs r12, 0x7fffffffffbffffe
cmp ebx, esi
jae 0x14003b367
mov rcx, r14
call fcn.1400397b0
mov rdi, rax
test rax, rax
je 0x14003b367
mov rdx, qword [0x14005a680]
mov rcx, r13
mov qword [rbp + 0x328], rcx
add rdx, rax
je 0x14003b2cb
cmp rdx, r15
je 0x14003b2cb
cmp rdx, 0xffffffffffffffff
je 0x14003b2cb
lea rax, [rdx - 0x400001]
cmp rax, r12
ja 0x14003b2cb
mov dword [rbp + 0x379], r13d
mov word [rbp + 0x37d], r13w
mov byte [rbp + 0x37f], cl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rdx
lea rax, [rbp + 0x328]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], cl
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x328]
test rcx, rcx
je 0x14003b367
cmp rcx, qword [0x14005b590]
je 0x14003b367
add rcx, 0x6d0
mov qword [rbp + 0x3b8], rcx
mov rdx, qword [rbp + 0x3d8]
cmp rdx, qword [rbp + 0x3e0]
je 0x14003b316
mov qword [rdx], rcx
mov rdx, qword [rbp + 0x3d8]
add rdx, 8
mov qword [rbp + 0x3d8], rdx
jmp 0x14003b330
lea r8, [rbp + 0x3b8]
lea rcx, [rbp + 0x3d0]
call fcn.140038710
mov rdx, qword [rbp + 0x3d8]
add rdi, 0x29a
mov qword [rbp + 0x3b8], rdi
cmp rdx, qword [rbp + 0x3e0]
je 0x14003b354
mov qword [rdx], rdi
add qword [rbp + 0x3d8], 8
jmp 0x14003b367
lea r8, [rbp + 0x3b8]
lea rcx, [rbp + 0x3d0]
call fcn.140038710
inc ebx
add r14, 8
cmp ebx, esi
jb 0x14003b1ef
mov r12, qword [rbp + 0x310]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x410], xmm0
mov qword [rbp + 0x420], rax
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x410]
call fcn.140039110
nop
mov r15, r13
mov qword [rbp + 0x3b8], r13
mov eax, r13d
mov dword [rbp - 0x6c], eax
test esi, esi
je 0x14003d390
movzx ebx, byte [rbp + 0x348]
movzx edi, byte [rbp + 0x350]
movss xmm7, dword [0x14004c034]
movsd xmm14, qword [0x1400506a0]
movss xmm12, dword [0x14004c064]
movsd xmm8, qword [0x140051990]
movdqa xmm6, xmmword [0x140050710]
lea rcx, [r12 + rax*8]
call fcn.1400397b0
mov r14, rax
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14003d332
mov rdx, qword [0x14005a680]
mov qword [rbp + 0x328], r13
mov qword [rbp + 0x338], r13
add rdx, rax
movabs r8, 0xcccccccccccccccc
je 0x14003b505
cmp rdx, r8
je 0x14003b505
movabs r9, 0x7fffffffffbffffe
xor r12d, r12d
cmp rdx, 0xffffffffffffffff
je 0x14003b512
lea rax, [rdx - 0x400001]
cmp rax, r9
ja 0x14003b512
mov dword [rbp + 0x3a1], r12d
mov word [rbp + 0x3a5], r12w
mov byte [rbp + 0x3a7], r12b
mov dword [rbp + 0x380], 0x9af2b37
mov qword [rbp + 0x388], rdx
lea rax, [rbp + 0x338]
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x398], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x384], eax
mov byte [rbp + 0x3a0], r12b
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, 0x28
lea r8, [rbp + 0x380]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r13, qword [rbp + 0x338]
mov qword [rbp + 0x328], r13
movabs r8, 0xcccccccccccccccc
jmp 0x14003b508
xor r12d, r12d
movabs r9, 0x7fffffffffbffffe
test r13, r13
je 0x14003d332
cmp r13, qword [0x14005b590]
je 0x14003d332
mov rcx, qword [0x14005a668]
mov rsi, r12
mov qword [rbp - 0x10], r12
mov qword [rbp + 0x330], r12
add rcx, r13
je 0x14003b5fa
cmp rcx, r8
je 0x14003b5fa
cmp rcx, 0xffffffffffffffff
je 0x14003b5fa
lea rax, [rcx - 0x400001]
cmp rax, r9
ja 0x14003b5fa
mov dword [rbp + 0x3a1], r12d
mov word [rbp + 0x3a5], r12w
mov byte [rbp + 0x3a7], 0
mov dword [rbp + 0x380], 0x9af2b37
mov qword [rbp + 0x388], rcx
lea rax, [rbp + 0x330]
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x398], 8
mov eax, dword [0x14005b478]
mov dword [rbp + 0x384], eax
mov byte [rbp + 0x3a0], 0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, 0x28
lea r8, [rbp + 0x380]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rsi, qword [rbp + 0x330]
mov qword [rbp - 0x10], rsi
test rsi, rsi
je 0x14003d332
mov rcx, qword [0x14005a670]
add rcx, r14
call fcn.140039490
mov ecx, dword [rbp - 0x20]
test ecx, ecx
je 0x14003b621
cmp eax, ecx
je 0x14003d332
mov rcx, qword [rbp + 0x410]
movzx eax, byte [rcx + r15]
movzx r14d, byte [rcx + r15 + 1]
mov byte [rsp + 0x50], r14b
add r15, 2
mov qword [rbp + 0x3b8], r15
test al, 0xf0
jne 0x14003d339
mov r8d, 0x6e
lea rdx, [rbp + 0x358]
mov rcx, qword [0x14005b5a8]
call fcn.14003f050
mov r8d, 0x6e
lea rdx, [rbp + 0x100]
mov rcx, rsi
call fcn.14003f050
movups xmm10, xmmword [rbp + 0x100]
movaps xmmword [rsp + 0x60], xmm10
movsd xmm11, qword [rbp + 0x110]
movsd qword [rsp + 0x70], xmm11
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x120]
mov rcx, qword [0x14005b578]
call fcn.140040140
mov r8d, 0x43
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.14003f050
movups xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x10], xmm0
movsd xmm1, qword [rbp - 0x30]
movsd qword [rbp + 0x20], xmm1
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x2e0]
mov rcx, qword [0x14005b578]
call fcn.140040140
mov r8d, 2
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call fcn.14003f050
movups xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp + 0xc0], xmm0
movsd xmm1, qword [rbp + 0xf0]
movsd qword [rbp + 0xd0], xmm1
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x2f0]
mov rcx, qword [0x14005b578]
call fcn.140040140
mov r8d, 7
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call fcn.14003f050
movups xmm0, xmmword [rbp + 0xa0]
movaps xmmword [rbp + 0x80], xmm0
movsd xmm1, qword [rbp + 0xb0]
movsd qword [rbp + 0x90], xmm1
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x300]
mov rcx, qword [0x14005b578]
call fcn.140040140
xor r8d, r8d
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.14003f050
movups xmm0, xmmword [rbp + 0x3e8]
movaps xmmword [rbp + 0x380], xmm0
movsd xmm1, qword [rbp + 0x3f8]
movsd qword [rbp + 0x390], xmm1
lea r8, [rbp + 0x380]
lea rdx, [rbp + 0x130]
mov rcx, qword [0x14005b578]
call fcn.140040140
movsd xmm13, qword [rbp + 0x128]
movaps xmm0, xmm13
movsd xmm15, qword [rbp + 0x138]
subsd xmm0, xmm15
andps xmm0, xmm6
mulsd xmm0, xmm8
cvtpd2ps xmm9, xmm0
movaps xmm8, xmm9
mulss xmm8, xmm7
movsd xmm1, qword [0x14005b608]
movaps xmm0, xmm10
unpckhpd xmm0, xmm10
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm0, qword [0x14005b600]
subsd xmm0, xmm10
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm1, qword [0x14005b610]
subsd xmm1, xmm11
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003b871
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003b879
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, xmm14
xorps xmm14, xmm14
cvtsd2ss xmm14, xmm0
comiss xmm14, dword [0x14005aeac]
ja 0x14003d332
mov eax, dword [0x14005b5f4]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2pd xmm6, xmm6
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm12, qword [rbp + 0x120]
subsd xmm0, xmm12
movsd xmm1, qword [0x1400519a0]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
subsd xmm6, xmm13
movsd xmm1, qword [0x1400519a0]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x14003b908
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x14003b910
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd qword [rbp + 0x68], xmm0
movsd qword [rbp + 0x3c0], xmm12
movaps xmm1, xmm15
addsd xmm1, xmm13
mulsd xmm1, qword [0x140050690]
movsd qword [rbp + 0x3c8], xmm1
mov rcx, qword [0x14005a700]
add rcx, rsi
call fcn.140039580
movaps xmm6, xmm0
mov rcx, qword [0x14005a708]
add rcx, rsi
call fcn.140039580
addss xmm0, dword [0x140050858]
comiss xmm0, xmm6
setae r12b
mov byte [rbp + 0x350], r12b
test r12b, r12b
je 0x14003ba2b
movups xmm0, xmmword [0x14005af98]
movups xmmword [rbp + 0x220], xmm0
movups xmm1, xmmword [0x14005af88]
movups xmmword [rbp + 0x230], xmm1
movups xmm0, xmmword [0x14005af58]
movups xmmword [rbp + 0x240], xmm0
movups xmm1, xmmword [0x14005af48]
movups xmmword [rbp + 0x250], xmm1
movups xmm0, xmmword [0x14005af38]
movups xmmword [rbp + 0x260], xmm0
movups xmm1, xmmword [0x14005af28]
movups xmmword [rbp + 0x270], xmm1
movups xmm0, xmmword [0x14005af18]
movups xmmword [rbp + 0x280], xmm0
movups xmm1, xmmword [0x14005af08]
movups xmmword [rbp + 0x290], xmm1
movups xmm0, xmmword [0x14005aef8]
movups xmmword [rbp + 0x2a0], xmm0
movups xmm1, xmmword [0x14005af68]
movups xmmword [rbp + 0x2b0], xmm1
movups xmm0, xmmword [0x14005aee8]
movups xmmword [rbp + 0x2c0], xmm0
movups xmm1, xmmword [0x14005af78]
movups xmmword [rbp + 0x2d0], xmm1
lea rax, [rbp + 0x220]
jmp 0x14003bada
movups xmm0, xmmword [0x14005b058]
movups xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [0x14005b048]
movups xmmword [rbp + 0x170], xmm1
movups xmm0, xmmword [0x14005b018]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [0x14005b008]
movups xmmword [rbp + 0x190], xmm1
movups xmm0, xmmword [0x14005aff8]
movups xmmword [rbp + 0x1a0], xmm0
movups xmm1, xmmword [0x14005afe8]
movups xmmword [rbp + 0x1b0], xmm1
movups xmm0, xmmword [0x14005afd8]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [0x14005afc8]
movups xmmword [rbp + 0x1d0], xmm1
movups xmm0, xmmword [0x14005afb8]
movups xmmword [rbp + 0x1e0], xmm0
movups xmm1, xmmword [0x14005b028]
movups xmmword [rbp + 0x1f0], xmm1
movups xmm0, xmmword [0x14005afa8]
movups xmmword [rbp + 0x200], xmm0
movups xmm1, xmmword [0x14005b038]
movups xmmword [rbp + 0x210], xmm1
lea rax, [rbp + 0x160]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x430], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x440], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x450], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x460], xmm1
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp + 0x470], xmm0
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp + 0x480], xmm1
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp + 0x490], xmm0
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rbp + 0x4a0], xmm1
movups xmm0, xmmword [rax + 0x80]
movaps xmmword [rbp + 0x4b0], xmm0
movups xmm1, xmmword [rax + 0x90]
movaps xmmword [rbp + 0x4c0], xmm1
movups xmm0, xmmword [rax + 0xa0]
movaps xmmword [rbp + 0x4d0], xmm0
movups xmm1, xmmword [rax + 0xb0]
movaps xmmword [rbp + 0x4e0], xmm1
call fcn.14000a560
mov qword [rbp + 0x320], rax
call fcn.14000a8c0
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx + 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x340], rcx
movaps xmm0, xmm15
addsd xmm0, qword [0x1400519a0]
cvtpd2ps xmm1, xmm0
movss dword [rbp - 0x70], xmm1
movaps xmm1, xmm14
mulss xmm1, dword [0x14005197c]
movss xmm6, dword [0x14004a760]
addss xmm1, xmm6
comiss xmm6, xmm1
jbe 0x14003bbc1
movaps xmm1, xmm6
movaps xmm0, xmm8
mulss xmm0, xmm1
cvtps2pd xmm2, xmm0
movsd xmm3, qword [rbp + 0x3c8]
movaps xmm1, xmm3
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x3b0], xmm0
lea rax, [rbp + 0x320]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x340]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x3c0]
mov qword [rbp - 0x48], rax
cmp byte [0x14005b6d8], 0
je 0x14003bc3e
cmp qword [0x14005b5c8], 0
je 0x14003bc3e
mov rdx, qword [0x14005b590]
lea rcx, [rbp + 0x358]
call fcn.14003f1d0
mov rcx, rax
call fcn.140046660
movsd xmm3, qword [rbp + 0x3c8]
cmp byte [0x14005b6e6], 0
je 0x14003bde9
mov rcx, qword [0x14005b590]
xor dl, dl
mov byte [rbp + 0x348], dl
add rcx, 0x1e34
je 0x14003bd28
movabs rax, 0xcccccccccccccccc
cmp rcx, rax
je 0x14003bd28
cmp rcx, 0xffffffffffffffff
je 0x14003bd28
lea rax, [rcx - 0x400001]
movabs r8, 0x7fffffffffbffffe
cmp rax, r8
ja 0x14003bd28
xor edx, edx
mov dword [rbp + 0x379], edx
mov word [rbp + 0x37d], dx
mov byte [rbp + 0x37f], dl
mov dword [rbp + 0x358], 0x9af2b37
mov qword [rbp + 0x360], rcx
lea rax, [rbp + 0x348]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 1
mov eax, dword [0x14005b478]
mov dword [rbp + 0x35c], eax
mov byte [rbp + 0x378], dl
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdx
mov r9d, 0x28
lea r8, [rbp + 0x358]
mov edx, 0x228d14
mov rcx, qword [0x14005b470]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx edx, byte [rbp + 0x348]
mov eax, dword [0x14005aeb0]
test dl, dl
cmovne eax, dword [0x14005aeb4]
mov dword [0x14005b6f4], eax
mov eax, dword [0x14005b5f4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x408], xmm0
movss dword [rbp + 0x40c], xmm1
lea rcx, [0x14005aec8]
call fcn.140008010
movd xmm2, dword [0x14005b6f4]
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x40
mov r9d, eax
lea rdx, [rbp + 0x408]
mov rcx, qword [rbp + 0x320]
call fcn.14001afe0
lea rcx, [0x14005aed8]
call fcn.140008010
movd xmm2, dword [0x14005b6f4]
cvtdq2ps xmm2, xmm2
mov dword [rsp + 0x20], 0x40
mov r9d, eax
lea rdx, [rbp + 0x408]
mov rcx, qword [rbp + 0x320]
call fcn.14001b0d0
movsd xmm3, qword [rbp + 0x3c8]
mov eax, dword [0x14005b6b8]
cmp eax, 1
jne 0x14003c024
movaps xmm0, xmmword [rbp + 0x4d0]
movdqa xmmword [rbp + 0x10], xmm0
cvttss2si r12d, xmm9
cvttss2si r13d, xmm8
cvtps2pd xmm11, xmm8
subsd xmm3, xmm11
cvttsd2si r14d, xmm3
mulss xmm8, dword [0x14004c034]
cvtps2pd xmm10, xmm8
movsd xmm0, qword [rbp + 0x3c0]
subsd xmm0, xmm10
cvttsd2si esi, xmm0
movdqa xmm0, xmmword [0x14004c220]
movups xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x40]
call fcn.140008010
mov r15d, eax
lea rcx, [rbp + 0x10]
call fcn.140008010
lea ecx, [rsi + r13]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm7, xmm0
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
cvtps2pd xmm9, xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm8, xmm0
movaps xmm0, xmm7
unpcklpd xmm0, xmm9
movdqa xmmword [rbp - 0x40], xmm0
movaps xmm1, xmm8
unpcklpd xmm1, xmm9
movdqa xmmword [rsp + 0x60], xmm1
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r15d
movaps xmm3, xmm6
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14003d4e0
lea rcx, [rbp + 0x10]
call fcn.140008010
lea ecx, [r12 + r14]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm6, xmm0
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmm7
unpcklpd xmm1, xmm9
movdqa xmmword [rbp - 0x40], xmm1
movss xmm3, dword [0x14004a760]
movss dword [rsp + 0x28], xmm3
mov dword [rsp + 0x20], r15d
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.14003d4e0
lea rcx, [rbp + 0x10]
call fcn.140008010
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmm8
unpcklpd xmm1, xmm6
movdqa xmmword [rbp - 0x40], xmm1
movss xmm0, dword [0x14004a760]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r15d
movaps xmm3, xmm0
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.14003d4e0
lea rcx, [rbp + 0x10]
call fcn.140008010
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmm8
unpcklpd xmm1, xmm9
movdqa xmmword [rbp - 0x40], xmm1
movss xmm8, dword [0x14004a760]
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], r15d
movaps xmm3, xmm8
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.14003d4e0
movaps xmm0, xmmword [rbp + 0x4b0]
movdqa xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x3c8]
subsd xmm1, xmm11
cvttsd2si edx, xmm1
movsd xmm0, qword [rbp + 0x3c0]
subsd xmm0, xmm10
cvttsd2si ecx, xmm0
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8d, r13d
call fcn.14003da30
movups xmm10, xmmword [rbp + 0x100]
movsd xmm11, qword [rbp + 0x110]
mov rsi, qword [rbp - 0x10]
movzx r14d, byte [rsp + 0x50]
movzx r12d, byte [rbp + 0x350]
mov r13, qword [rbp + 0x328]
jmp 0x14003c0f7
cmp eax, 2
jne 0x14003c0ee
movaps xmm0, xmmword [rbp + 0x4d0]
movdqa xmmword [rsp + 0x60], xmm0
cvttss2si esi, xmm9
cvttss2si r14d, xmm8
cvtps2pd xmm6, xmm8
movss xmm9, dword [0x14004c034]
mulss xmm8, xmm9
cvtps2pd xmm7, xmm8
subsd xmm3, xmm6
cvttsd2si edx, xmm3
movsd xmm0, qword [rbp + 0x3c0]
subsd xmm0, xmm7
cvttsd2si ecx, xmm0
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
call fcn.14003d680
movaps xmm0, xmmword [rbp + 0x4b0]
movdqa xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x3c8]
subsd xmm1, xmm6
cvttsd2si edx, xmm1
movsd xmm0, qword [rbp + 0x3c0]
subsd xmm0, xmm7
cvttsd2si ecx, xmm0
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
call fcn.14003da30
movss xmm8, dword [0x14004a760]
mov rsi, qword [rbp - 0x10]
movzx r14d, byte [rsp + 0x50]
jmp 0x14003c100
movss xmm8, dword [0x14004a760]
movss xmm9, dword [0x14004c034]
cmp byte [0x14005b6ef], 0
je 0x14003c127
movaps xmm0, xmmword [rbp + 0x4c0]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movaps xmm1, xmm14
mov rcx, rsi
call fcn.14003db00
cmp byte [0x14005b6f0], 0
je 0x14003c229
movsd xmm0, qword [0x14005b620]
mulsd xmm0, qword [0x140051980]
cvtpd2ps xmm6, xmm0
movss xmm1, dword [0x14005b630]
mulss xmm1, dword [0x140051978]
subss xmm6, xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
mulss xmm0, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x14003c18f
sqrtss xmm0, xmm0
jmp 0x14003c194
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm7, xmm0
divss xmm6, xmm0
movss xmm2, dword [0x1400519c8]
divss xmm2, xmm14
mulss xmm7, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addsd xmm0, xmm13
cvtpd2ps xmm1, xmm0
mulss xmm6, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
addsd xmm0, xmm12
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x428], xmm0
movss dword [rbp + 0x42c], xmm1
lea rcx, [rbp + 0x4c0]
call fcn.140008010
cvtpd2ps xmm1, xmm13
cvtpd2ps xmm0, xmm12
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
movss xmm0, dword [0x14004c1d8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x428]
lea rdx, [rbp + 0x30]
mov rcx, qword [rbp + 0x320]
call fcn.14001c270
lea rcx, [r13 + 0x982]
call fcn.1400393a0
test al, 0x10
jne 0x14003d32a
sar r14b, 3
and r14b, 1
mov byte [rsp + 0x50], r14b
cmp byte [0x14005b6f1], 0
je 0x14003c2d0
test r14b, r14b
jne 0x14003c2d0
movaps xmm0, xmmword [rbp + 0x430]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmmword [rbp + 0x380], xmm10
movsd qword [rbp + 0x390], xmm11
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
movss xmm0, dword [rbp - 0x18]
movss xmm1, dword [rbp - 0x68]
unpcklps xmm0, xmm1
movq r9, xmm0
movzx r8d, r12b
movss xmm1, dword [0x1400519cc]
lea rcx, [rbp + 0x380]
call fcn.140041290
mov eax, dword [0x14005b5f4]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
jmp 0x14003c2fd
mov eax, dword [0x14005b5f4]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
test r14b, r14b
jne 0x14003c426
mov eax, dword [0x14005b6b4]
cmp eax, 1
jne 0x14003c375
movaps xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140008010
mov r9d, eax
cvtpd2ps xmm1, xmm15
movsd xmm0, qword [rbp + 0x130]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm1
mov ecx, dword [0x14005b5f4]
add ecx, 0xfffffffb
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm1
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
jmp 0x14003c413
cmp eax, 2
jne 0x14003c3cf
movaps xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140008010
mov r9d, eax
cvtpd2ps xmm1, xmm13
cvtpd2ps xmm0, xmm12
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm1
mov eax, dword [0x14005b5f0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x50], xmm0
mov dword [rbp + 0x54], 0
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
jmp 0x14003c413
cmp eax, 3
jne 0x14003c426
movaps xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140008010
cvtpd2ps xmm1, xmm13
cvtpd2ps xmm0, xmm12
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm1
movss dword [rbp + 0x60], xmm7
movss dword [rbp + 0x64], xmm6
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
movss dword [rsp + 0x20], xmm8
mov rcx, qword [rbp + 0x320]
call fcn.14001c270
cmp byte [0x14005b6e8], 0
je 0x14003c641
movdqa xmm6, xmmword [rbp + 0x4a0]
cvttss2si edx, xmm14
lea rcx, [rbp + 0x100]
call fcn.140046500
nop
mov r8, rax
lea rdx, [0x140050624]
lea rcx, [rbp + 0xc0]
call fcn.140038220
mov r14, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x14003c4ad
lea rax, [rcx + 3]
mov qword [r14 + 0x10], rax
mov rax, r14
cmp rdx, 0xf
jbe 0x14003c48e
mov rax, qword [r14]
lea rsi, [rax + rcx]
mov r8d, 3
lea rdx, [0x14005189c]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + 3], 0
jmp 0x14003c4d1
mov qword [rsp + 0x20], 3
lea r9, [0x14005189c]
movzx r8d, bl
mov edx, 3
mov rcx, r14
call fcn.140031790
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x358], xmm0
xor r12d, r12d
mov qword [rbp + 0x368], r12
mov qword [rbp + 0x370], r12
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x358], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbp + 0x368], xmm1
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 0xf
mov byte [r14], r12b
movdqa xmmword [rsp + 0x60], xmm6
movss xmm7, dword [rbp - 0x70]
movaps xmm3, xmm7
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x358]
lea rcx, [rbp - 0x58]
call fcn.14003a770
nop
mov rdx, qword [rbp + 0x370]
cmp rdx, 0xf
jbe 0x14003c577
inc rdx
mov rcx, qword [rbp + 0x358]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c572
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d35f
call fcn.14004790c
mov qword [rbp + 0x368], r12
mov qword [rbp + 0x370], 0xf
mov byte [rbp + 0x358], 0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0xf
jbe 0x14003c5d1
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c5cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d366
call fcn.14004790c
mov qword [rbp + 0xd0], r12
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14003c62b
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c626
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d36d
call fcn.14004790c
movss xmm8, dword [0x14004c084]
addss xmm7, xmm8
movzx r14d, byte [rsp + 0x50]
jmp 0x14003c652
movss xmm7, dword [rbp - 0x70]
movss xmm8, dword [0x14004c084]
xor r12d, r12d
lea rcx, [r13 + 0x982]
call fcn.1400393a0
cmp byte [0x14005b6db], 0
je 0x14003c66b
test al, 0x10
jne 0x14003c6b9
movd xmm0, dword [0x14005aeb0]
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x68]
comisd xmm0, xmm1
jbe 0x14003c6b9
movss xmm0, dword [0x14005a5f4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x14003c6b9
cmp byte [0x14005b6dd], 0
je 0x14003c6a1
test r14b, r14b
jne 0x14003c6b9
cvtpd2ps xmm0, xmm1
movss dword [0x14005a5f4], xmm0
mov rax, r13
mov qword [0x14005b5d8], rax
jmp 0x14003c6c0
mov rax, qword [0x14005b5d8]
cmp byte [0x14005b6dc], 0
je 0x14003c6d2
cmp r13, rax
jne 0x14003d32a
mov r15, qword [rbp - 0x60]
cmp byte [0x14005b6ed], 0
je 0x14003c7c8
lea rcx, [r15 + 0x9a8]
call fcn.1400397b0
lea rcx, [rax + 0xc8]
call fcn.140039490
cmp eax, 0x11
ja case.0x14003c715.0
movsxd rcx, eax
lea r8, [0x140000000]
mov edx, dword [r8 + rcx*4 + 0x3d494]
add rdx, r8
jmp rdx
movdqa xmm6, xmmword [0x140051a50]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051aa0]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051a30]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051a70]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051a90]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051a80]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140050060]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x140051a60]
jmp 0x14003c76f
movdqa xmm6, xmmword [0x14004c140]
mov edx, eax
lea rcx, [rbp + 0x358]
call fcn.14003ed80
nop
movdqa xmmword [rsp + 0x60], xmm6
movss xmm6, dword [rbp + 0x3b0]
movaps xmm3, xmm6
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.14003a770
nop
mov r8, qword [rbp + 0x370]
cmp r8, 0xf
jbe 0x14003c7c1
mov rdx, qword [rbp + 0x358]
lea rcx, [rbp + 0x358]
call fcn.140040c20
addss xmm6, xmm8
jmp 0x14003c7d0
movss xmm6, dword [rbp + 0x3b0]
movzx eax, byte [0x14005b6ee]
test al, al
jne 0x14003c7e7
cmp byte [0x14005b6ec], al
je 0x14003ca3f
xorps xmm0, xmm0
movups xmmword [rbp + 0x358], xmm0
mov qword [rbp + 0x368], r12
mov qword [rbp + 0x370], 0xf
mov byte [rbp + 0x358], 0
test al, al
je 0x14003c877
lea rcx, [r15 + 0xa68]
call fcn.1400397b0
mov rsi, rax
lea rcx, [rax + 0x10]
call fcn.140039490
mov r14d, eax
lea rcx, [rsi + 8]
call fcn.1400397b0
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp + 0x380]
call fcn.140040460
lea rdx, [rbp + 0x380]
lea rcx, [rbp + 0x358]
call fcn.14003a6e0
mov r8, qword [rbp + 0x398]
cmp r8, 0xf
jbe 0x14003c877
mov rdx, qword [rbp + 0x380]
lea rcx, [rbp + 0x380]
call fcn.140040c20
cmp byte [0x14005b6ec], 0
je 0x14003c918
cmp qword [rbp + 0x368], 0
je 0x14003c8a7
mov r8d, 2
lea rdx, [0x1400518a0]
lea rcx, [rbp + 0x358]
call fcn.140041be0
mov rdx, r15
lea rcx, [rbp + 0x380]
call fcn.14003e910
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14003c8c5
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.140041be0
nop
mov r8, qword [rbp + 0x398]
cmp r8, 0xf
jbe 0x14003c8f5
mov rdx, qword [rbp + 0x380]
lea rcx, [rbp + 0x380]
call fcn.140040c20
cmp qword [rbp + 0x368], 0
je 0x14003c918
mov r8d, 1
lea rdx, [0x1400518a4]
lea rcx, [rbp + 0x358]
call fcn.140041be0
movaps xmm0, xmmword [rbp + 0x490]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [rbp - 0x58]
mov r15, qword [rax]
lea r14, [rbp + 0x358]
cmp qword [rbp + 0x370], 0xf
cmova r14, qword [rbp + 0x358]
lea rcx, [rsp + 0x60]
call fcn.140008010
mov esi, eax
lea rdx, [rbp + 0x358]
cmp qword [rbp + 0x370], 0xf
cmova rdx, qword [rbp + 0x358]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
xorps xmm10, xmm10
movss dword [rsp + 0x20], xmm10
movss xmm11, dword [0x14004c0b4]
movaps xmm3, xmm11
movaps xmm2, xmm8
lea rdx, [rbp + 0x140]
mov r12, qword [rbp - 0x50]
mov rcx, qword [r12]
call fcn.14001def0
movss xmm0, dword [rax]
mulss xmm0, xmm9
cvtps2pd xmm2, xmm0
mov rax, qword [rbp - 0x48]
movsd xmm1, qword [rax]
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm6
xor eax, eax
mov qword [rsp + 0x40], rax
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], esi
lea r9, [rbp + 0x70]
movaps xmm2, xmm8
mov rdx, qword [r12]
mov rcx, r15
call fcn.14001d710
nop
mov rdx, qword [rbp + 0x370]
cmp rdx, 0xf
jbe 0x14003ca50
inc rdx
mov rcx, qword [rbp + 0x358]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ca38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d374
call fcn.14004790c
jmp 0x14003ca50
xorps xmm10, xmm10
movss xmm11, dword [0x14004c0b4]
mov r12, qword [rbp - 0x50]
cmp byte [0x14005b6eb], 0
je 0x14003cca7
mov rcx, qword [0x14005a6e0]
add rcx, r13
call fcn.1400397b0
mov rcx, qword [0x14005a6c0]
add rcx, rax
call fcn.1400397b0
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.1400465d0
mov rsi, rax
mov rdx, r13
lea rcx, [rbp + 0x80]
call fcn.14003f1d0
nop
mov r8d, 2
lea rdx, [0x1400518a8]
mov rcx, rax
call fcn.140041be0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rax + 0x18], 0xf
xor r14d, r14d
mov qword [rax + 0x10], r14
mov byte [rax], r14b
mov r9, rsi
lea r8, [rbp + 0xe0]
movzx edx, dil
lea rcx, [rbp + 0x380]
call fcn.140039c20
nop
mov r8d, 1
lea rdx, [0x140050620]
lea rcx, [rbp + 0x380]
call fcn.140041be0
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e8], xmm0
mov qword [rbp + 0x3f8], r14
mov qword [rbp + 0x400], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x3e8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x3f8], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov r8, qword [rbp + 0x398]
cmp r8, 0xf
jbe 0x14003cb69
mov rdx, qword [rbp + 0x380]
lea rcx, [rbp + 0x380]
call fcn.140040c20
mov qword [rbp + 0x390], r14
mov qword [rbp + 0x398], 0xf
mov byte [rbp + 0x380], 0
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x14003cbc4
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cbbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d37b
call fcn.14004790c
nop
mov r8, qword [rbp + 0x98]
cmp r8, 0xf
jbe 0x14003cbe4
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x80]
call fcn.140040c20
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
mov r8, qword [rbp + 0xb8]
cmp r8, 0xf
jbe 0x14003cc1d
mov rdx, qword [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
call fcn.140040c20
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
movaps xmm0, xmmword [rbp + 0x450]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm3, xmm7
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp - 0x58]
call fcn.14003a770
addss xmm7, xmm8
mov rdx, qword [rbp + 0x400]
cmp rdx, 0xf
jbe 0x14003cca1
inc rdx
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cc9c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d382
call fcn.14004790c
mov r12, qword [rbp - 0x50]
jmp 0x14003ccaa
xor r14d, r14d
movzx eax, byte [0x14005b6e9]
test al, al
jne 0x14003ccc1
cmp byte [0x14005b6ea], al
je 0x14003cf7e
xorps xmm0, xmm0
movups xmmword [rbp + 0x358], xmm0
mov qword [rbp + 0x368], r14
mov qword [rbp + 0x370], 0xf
mov byte [rbp + 0x358], 0
mov rsi, qword [rbp - 0x60]
test al, al
je 0x14003cd8c
mov rcx, qword [0x14005a730]
add rcx, rsi
call fcn.140039490
mov edx, eax
lea rcx, [rbp + 0x3e8]
call fcn.140046500
nop
mov r8, rax
lea rdx, str.Kills:
lea rcx, [rbp + 0x380]
call fcn.140038220
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.14003a6e0
mov r8, qword [rbp + 0x398]
cmp r8, 0xf
jbe 0x14003cd53
mov rdx, qword [rbp + 0x380]
lea rcx, [rbp + 0x380]
call fcn.140040c20
mov qword [rbp + 0x390], r14
mov qword [rbp + 0x398], 0xf
mov byte [rbp + 0x380], 0
mov r8, qword [rbp + 0x400]
cmp r8, 0xf
jbe 0x14003cd8c
mov rdx, qword [rbp + 0x3e8]
lea rcx, [rbp + 0x3e8]
call fcn.140040c20
cmp byte [0x14005b6ea], 0
je 0x14003ce68
cmp qword [rbp + 0x368], 0
je 0x14003cdbc
mov r8d, 3
lea rdx, [0x1400518b8]
lea rcx, [rbp + 0x358]
call fcn.140041be0
mov rcx, qword [0x14005a738]
add rcx, rsi
call fcn.140039490
mov edx, eax
lea rcx, [rbp + 0x3e8]
call fcn.140046500
nop
mov r8, rax
lea rdx, str.Level:
lea rcx, [rbp + 0x380]
call fcn.140038220
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14003cdff
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.140041be0
nop
mov r8, qword [rbp + 0x398]
cmp r8, 0xf
jbe 0x14003ce2f
mov rdx, qword [rbp + 0x380]
lea rcx, [rbp + 0x380]
call fcn.140040c20
mov qword [rbp + 0x390], r14
mov qword [rbp + 0x398], 0xf
mov byte [rbp + 0x380], 0
mov r8, qword [rbp + 0x400]
cmp r8, 0xf
jbe 0x14003ce68
mov rdx, qword [rbp + 0x3e8]
lea rcx, [rbp + 0x3e8]
call fcn.140040c20
movaps xmm0, xmmword [rbp + 0x470]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [rbp - 0x58]
mov r15, qword [rax]
lea r14, [rbp + 0x358]
cmp qword [rbp + 0x370], 0xf
cmova r14, qword [rbp + 0x358]
lea rcx, [rsp + 0x60]
call fcn.140008010
mov esi, eax
lea rdx, [rbp + 0x358]
cmp qword [rbp + 0x370], 0xf
cmova rdx, qword [rbp + 0x358]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm11
movaps xmm2, xmm8
lea rdx, [rbp + 0x148]
mov rcx, qword [r12]
call fcn.14001def0
movss xmm0, dword [rax]
mulss xmm0, xmm9
cvtps2pd xmm2, xmm0
mov rax, qword [rbp - 0x48]
movsd xmm1, qword [rax]
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x78], xmm0
movss dword [rbp + 0x7c], xmm7
xor eax, eax
mov qword [rsp + 0x40], rax
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], esi
lea r9, [rbp + 0x78]
movaps xmm2, xmm8
mov rdx, qword [r12]
mov rcx, r15
call fcn.14001d710
nop
mov rdx, qword [rbp + 0x370]
cmp rdx, 0xf
jbe 0x14003cf7e
inc rdx
mov rcx, qword [rbp + 0x358]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cf79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d389
call fcn.14004790c
cmp byte [0x14005b6d9], 0
je 0x14003d32a
lea rcx, [r13 + 0x5c90]
xor r14d, r14d
mov r13d, r14d
mov qword [rbp - 8], r14
mov r12d, r14d
mov qword [rbp], r14
mov esi, r14d
movabs r15, 0xcccccccccccccccc
test rcx, rcx
je 0x14003cff0
cmp rcx, r15
je 0x14003cff0
movabs rdx, 0x7fffffffffbffffe
cmp rcx, 0xffffffffffffffff
je 0x14003cffa
lea rax, [rcx - 0x400001]
cmp rax, rdx
ja 0x14003cffa
mov r8d, 0x10
lea rdx, [rbp - 8]
call fcn.140043620
mov esi, dword [rbp + 4]
mov r12d, dword [rbp]
mov r13, qword [rbp - 8]
movabs rdx, 0x7fffffffffbffffe
mov rcx, qword [rbp + 0x328]
add rcx, 0x5ca0
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
je 0x14003d038
cmp rcx, r15
je 0x14003d038
cmp rcx, 0xffffffffffffffff
je 0x14003d038
lea rax, [rcx - 0x400001]
cmp rax, rdx
ja 0x14003d038
mov r8d, 0x10
lea rdx, [rbp - 0x80]
call fcn.140043620
test r13, r13
je 0x14003d152
cmp r12d, esi
ja 0x14003d152
cmp esi, 0xf4240
ja 0x14003d152
test r12d, r12d
jle 0x14003d152
movabs rbx, 0x7fffffffffbffffe
cmp r14d, r12d
jae 0x14003d13f
mov eax, r14d
lea rcx, [rax*8]
add rcx, r13
call fcn.1400397b0
mov rsi, rax
test rax, rax
je 0x14003d13f
cmp rax, r15
je 0x14003d13f
cmp rax, 0xffffffffffffffff
je 0x14003d13f
lea rcx, [rax - 0x400001]
cmp rcx, rbx
ja 0x14003d13f
lea rcx, [rax + 0x251]
call fcn.1400393a0
test al, al
je 0x14003d0d5
or al, 0x20
movzx edx, al
lea rcx, [rsi + 0x251]
call fcn.140039a50
lea rcx, [rsi + 0x88]
call fcn.1400393a0
test al, al
je 0x14003d0f6
or al, 0x10
movzx edx, al
lea rcx, [rsi + 0x88]
call fcn.140039a50
mov dword [rbp + 0x3b0], 0xb
lea rcx, [rsi + 0x278]
movabs r15, 0xcccccccccccccccc
test rcx, rcx
je 0x14003d13f
cmp rcx, r15
je 0x14003d13f
cmp rcx, 0xffffffffffffffff
je 0x14003d13f
lea rax, [rcx - 0x400001]
cmp rax, rbx
ja 0x14003d13f
mov r8d, 4
lea rdx, [rbp + 0x3b0]
call fcn.140046bf0
inc r14d
cmp r14d, r12d
jl 0x14003d06c
movzx ebx, byte [rbp + 0x348]
cmp qword [rbp - 0x80], 0
je 0x14003d32a
mov eax, dword [rbp - 0x74]
mov r12d, dword [rbp - 0x78]
cmp r12d, eax
ja 0x14003d32a
cmp eax, 0xf4240
ja 0x14003d32a
xor r13d, r13d
mov r15d, r13d
test r12d, r12d
jle 0x14003d32a
mov rbx, qword [rbp - 0x80]
cmp r13d, r12d
jae 0x14003d317
mov eax, r15d
lea rcx, [rbx + rax*8]
call fcn.1400397b0
mov rsi, rax
test rax, rax
je 0x14003d317
movabs rcx, 0xcccccccccccccccc
cmp rax, rcx
je 0x14003d317
cmp rax, 0xffffffffffffffff
je 0x14003d317
add rax, 0xffffffffffbfffff
movabs rdx, 0x7fffffffffbffffe
cmp rax, rdx
ja 0x14003d317
mov r14d, r13d
test rsi, rsi
je 0x14003d2d5
cmp rsi, rcx
je 0x14003d2d5
cmp rsi, 0xffffffffffffffff
je 0x14003d2d5
lea rax, [rsi - 0x400001]
cmp rax, rdx
ja 0x14003d255
lea rcx, [rsi + 0x100]
call fcn.1400397b0
mov rsi, rax
inc r14d
cmp r14d, 3
movabs rcx, 0xcccccccccccccccc
movabs rdx, 0x7fffffffffbffffe
jl 0x14003d1e5
test rax, rax
je 0x14003d2d5
cmp rax, rcx
je 0x14003d2d5
cmp rax, 0xffffffffffffffff
je 0x14003d2d5
lea rax, [rsi - 0x400001]
cmp rax, rdx
ja 0x14003d2d5
lea r14, [rsi + 0x1a0]
test r14, r14
je 0x14003d2d5
mov rcx, r14
call fcn.1400393a0
movabs rcx, 0xcccccccccccccccc
test al, al
je 0x14003d2cb
or al, 1
mov byte [rbp + 0x350], al
cmp r14, rcx
je 0x14003d2cb
movabs rdx, 0x7fffffffffbffffe
cmp r14, 0xffffffffffffffff
je 0x14003d2d5
lea rax, [r14 - 0x400001]
cmp rax, rdx
ja 0x14003d2d5
mov r8d, 1
lea rdx, [rbp + 0x350]
mov rcx, r14
call fcn.140046bf0
movabs rcx, 0xcccccccccccccccc
movabs rdx, 0x7fffffffffbffffe
cmp byte [0x14005b6d0], r13b
je 0x14003d317
add rsi, 0x1b0
je 0x14003d317
cmp rsi, rcx
je 0x14003d317
cmp rsi, 0xffffffffffffffff
je 0x14003d317
lea rax, [rsi - 0x400001]
cmp rax, rdx
ja 0x14003d317
mov rcx, rsi
call fcn.1400393a0
test al, al
je 0x14003d317
or al, 0x40
movzx edx, al
mov rcx, rsi
call fcn.140039a50
inc r15d
cmp r15d, r12d
jl 0x14003d18e
movzx ebx, byte [rbp + 0x348]
movss xmm7, dword [0x14004c034]
mov rcx, qword [rbp + 0x410]
mov eax, dword [rbp - 0x6c]
inc eax
mov dword [rbp - 0x6c], eax
xor r13d, r13d
cmp eax, dword [rbp + 0x158]
jae 0x14003d397
mov r15, qword [rbp + 0x3b8]
mov r12, qword [rbp + 0x310]
jmp 0x14003b3d1
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]
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
mov rcx, qword [rbp + 0x410]
test rcx, rcx
je 0x14003d3e5
mov rdx, qword [rbp + 0x420]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d3ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d3ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004790c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x410], xmm0
mov qword [rbp + 0x420], r13
mov rcx, qword [rbp + 0x3d0]
test rcx, rcx
je 0x14003d42c
mov rdx, qword [rbp + 0x3e0]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d427
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d427
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004790c
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140047770
lea r11, [rsp + 0x6a0]
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
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov ecx, dword [0x14005aea0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140040671
xor ebx, ebx
mov ecx, dword [0x14005b6b0]
test ecx, ecx
je 0x14004060b
sub ecx, 1
je 0x140040604
cmp ecx, 1
jne 0x140040610
mov ebx, 0x25
jmp 0x140040610
mov ebx, 0x43
jmp 0x140040610
mov ebx, 0x6e
test ebx, ebx
je 0x140040671
mov rdx, qword [0x14005b590]
lea rcx, [rsp + 0x30]
call fcn.14003f1d0
nop
mov rdx, rax
mov ecx, ebx
call fcn.140041550
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140040671
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004066c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004066c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004790c
mov ecx, dword [0x14005aea4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400407e0
cmp byte [0x14005b6e7], 0
je 0x1400407e0
mov r14, qword [0x14005b578]
mov rdx, qword [0x14005b590]
lea rcx, [rsp + 0x30]
call fcn.14003f1d0
mov rbx, rax
cmp byte [0x14005b6e7], 0
je 0x140040797
mov rax, qword [rax + 0x10]
mov rdi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400406cc
mov rdi, qword [rbx]
cmp rax, 7
jb 0x140040797
lea rsi, [rax + rdi]
movsx ebp, byte [str.Shotgun]
lea r8, [rsi - 6]
sub r8, rdi
mov edx, ebp
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140040797
nop dword [rax + rax]
cmp dword [rax], 0x746f6853
jne 0x140040716
cmp word [rax + 4], 0x7567
jne 0x140040716
cmp byte [rax + 6], 0x6e
je 0x140040731
inc rax
lea r8, [rsi - 6]
sub r8, rax
mov edx, ebp
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x140040700
jmp 0x140040797
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x140040797
mov rcx, qword [0x14005a6d8]
add rcx, r14
call fcn.1400397b0
test rax, rax
je 0x140040797
cvttss2si rcx, dword [0x14005b6e0]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x20], 0
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov ecx, r9d
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], 0
mov r9d, 4
xor r8d, r8d
xor edx, edx
mov ecx, r9d
call qword [sym.imp.USER32.dll_mouse_event]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1400407cd
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400407c8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400407fa
mov rcx, r8
call fcn.14004790c
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rsi
jmp 0x14003a9b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3