Function at 0x180033b64
Capabilities:
Encode data using xor
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 - 0x1a8]
sub rsp, 0x280
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 [0x18003d040]
xor rax, rsp
mov qword [rbp + 0xd0], rax
movabs rdi, 0x1424304a8
mov rax, qword [rdi]
mov rsi, qword [rax + 0xd0]
test rsi, rsi
je 0x180035802
mov rax, qword [rax + 0x70]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x180035802
mov rax, qword [rsi]
mov rdx, qword [rax + 0x68]
mov rcx, rsi
call rdx
mov r15, rax
mov qword [rbp - 0x60], rax
test rax, rax
je 0x180035802
and qword [rbp + 0x40], 0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x470]
lea rdx, [rbp + 0x40]
mov rcx, rax
call r8
test al, al
jne 0x180033c49
xor ebx, ebx
mov qword [rbp + 0x40], rbx
jmp 0x180033c4d
mov rbx, qword [rbp + 0x40]
test rbx, rbx
je 0x180035802
mov rcx, qword [r15 + 0x30]
mov qword [rbp + 0x20], rcx
test rcx, rcx
je 0x180035802
mov rax, qword [rcx]
mov rdx, qword [rax + 0xa8]
call rdx
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180035802
and qword [rbp + 0x48], 0
mov rcx, qword [r15]
mov r8, qword [rcx + 0x470]
lea rdx, [rbp + 0x48]
mov rcx, r15
call r8
test al, al
jne 0x180033ca6
xor r12d, r12d
mov qword [rbp + 0x48], r12
jmp 0x180033caa
mov r12, qword [rbp + 0x48]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x180035802
movabs rax, qword [0x1424304a8]
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x18], rax
test rax, rax
je 0x180035802
mov rax, qword [r15]
mov rdx, qword [rax + 0x448]
mov rcx, r15
call rdx
mov qword [rbp + 0x30], rax
test rax, rax
je 0x180035802
mov rcx, qword [r15]
mov rdx, qword [rcx + 0xc8]
mov rcx, r15
call rdx
mov qword [rbp + 0x58], rax
test rax, rax
je 0x180035802
mov rcx, qword [r12]
mov r8, qword [rcx + 0x1d8]
xor edx, edx
mov rcx, r12
call r8
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180035802
lea rcx, [rax + 0x28]
test rcx, rcx
je 0x180035802
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x180035802
mov r13, qword [rcx + 0xc8]
test r13, r13
je 0x180035802
mov rax, qword [rdi]
mov rdi, qword [rax + 0xc0]
test rdi, rdi
je 0x180035802
mov r14, qword [rax + 0x78]
test r14, r14
je 0x180035802
mov ecx, 8
call fcn.180039cb0
mov qword [rbp - 0x68], rax
mov qword [rax], r14
mov rax, qword [r12 + 0xd88]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x180035802
movabs rcx, 0x1424304a8
mov rcx, qword [rcx]
cmp qword [rcx + 0xc8], 0
je 0x180035802
mov rcx, qword [rcx + 0xd0]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x68]
call rdx
cmp qword [rax], 0
je 0x180035802
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xd0]
movabs rax, qword [0x1424304a8]
mov r14, qword [rax + 0x100]
test r14, r14
je 0x180035802
mov rax, qword [r14]
mov rdx, qword [rax + 0x620]
mov rcx, r14
call rdx
mov r15, rax
test rax, rax
je 0x180035802
movabs rax, 0x1424304a8
mov rax, qword [rax]
mov qword [rbp + 0x28], rax
test rax, rax
je 0x180035802
cmp qword [rax + 0x40], 0
je 0x180035802
mov rax, qword [rsi + 0x2a0]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 8]
cmp byte [0x18003db38], 0
je 0x180033e57
mov dword [rcx + 0x1c], 0x41a00000
jmp 0x180033e5e
mov dword [rcx + 0x1c], 0x40100000
mov eax, 0x56
cmp byte [0x18003db67], 0
je 0x180033e86
mov ecx, eax
call qword [sym.imp.USER32.dll_GetKeyState]
and al, 1
mov r8, qword [r12]
mov dl, al
mov rcx, r12
call qword [r8 + 0x220]
xorps xmm11, xmm11
cmp byte [0x18003db50], 0
je 0x180033f5d
lea rdx, [0x180005aa0]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
lea rdx, [0x180005ab0]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
lea rdx, [0x180005ac8]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
lea rdx, [0x180005ae8]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
lea rdx, [0x180005b00]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
lea rdx, [0x180005b20]
lea rcx, [rbp + 0x80]
call fcn.180038e5c
xorps xmm2, xmm2
mov rdx, rax
mov rcx, r14
call fcn.180030b3c
cmp byte [0x18003db5a], 0
je 0x180033fd6
mov eax, dword [0x18003db70]
cmp eax, 1
jne 0x180033f7a
lea rdx, [0x180005bb0]
jmp 0x180033fcc
cmp eax, 2
jne 0x180033f88
lea rdx, [0x180005bc0]
jmp 0x180033fcc
cmp eax, 3
jne 0x180033f96
lea rdx, [0x180005bd0]
jmp 0x180033fcc
cmp eax, 4
jne 0x180033fa4
lea rdx, [0x180005be0]
jmp 0x180033fcc
cmp eax, 5
jne 0x180033fb2
lea rdx, [0x180005bf0]
jmp 0x180033fcc
cmp eax, 6
jne 0x180033fc0
lea rdx, [0x180005c00]
jmp 0x180033fcc
cmp eax, 7
jne 0x180033fd6
lea rdx, [0x180005c0c]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x58]
xor ebx, ebx
cmp byte [0x18003db46], bl
je 0x180033ff7
movd xmm1, dword [0x18003db28]
cvtdq2ps xmm1, xmm1
mov rax, qword [r15]
mov r8b, 1
mov rcx, r15
call qword [rax + 0x30]
mov rax, qword [rsi + 0x338]
mov dword [rax + 0x10], ebx
mov rax, qword [rdi]
mov r8, qword [rax + 0x38]
xor edx, edx
mov rcx, rdi
cmp byte [0x18003db0d], bl
je 0x180034024
call r8
mov dword [0x18003db90], 0x3daaaaab
jmp 0x180034048
cmp byte [0x18003db0e], bl
je 0x18003403b
call r8
mov dword [0x18003db90], 0x3e800000
jmp 0x180034048
call r8
mov dword [0x18003db90], 0x3e2aaaab
movss xmm1, dword [0x18003db94]
addss xmm1, xmm0
movss dword [0x18003db94], xmm1
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
mov r8, qword [rax + 0x38]
call r8
movss xmm1, dword [0x18003db8c]
addss xmm1, xmm0
movss dword [0x18003db8c], xmm1
mov dword [0x18003db88], 0x3daaaaab
mov r14, qword [rbp - 0x60]
mov rax, qword [r14]
mov rdx, qword [rax + 0x2f8]
mov rcx, r14
call rdx
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x18]
movsd xmm15, qword [rcx + 0x17c0]
movsd qword [rbp - 0x80], xmm15
mov eax, dword [rcx + 0x17c8]
mov dword [rsp + 0x78], eax
movss xmm12, dword [rbp - 0x80]
movss dword [0x18003dbc0], xmm12
movss xmm13, dword [rbp - 0x7c]
movss dword [0x18003dbc4], xmm13
movd xmm14, eax
movss dword [0x18003dbc8], xmm14
mov al, byte [r12 + 0xce4]
mov byte [0x18003dbdc], al
mov dword [0x18003dc18], 1
and dword [0x18003dc20], ebx
and dword [0x18003dc24], ebx
mov dword [0x18003dc28], 0x3f800000
and dword [0x18003dbd0], ebx
and dword [0x18003dbd4], ebx
mov dword [0x18003dbd8], 0x3f800000
cmp byte [0x18003db75], bl
je 0x180034198
movdqa xmm0, xmmword [0x180006890]
movups xmmword [rsp + 0x48], xmm0
movdqa xmm1, xmmword [0x180006880]
movups xmmword [rsp + 0x58], xmm1
mov dword [rsp + 0x68], 0x42bf0528
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x180034198
mov rcx, qword [r12 + 0x10]
movsxd rax, dword [0x18003d2d8]
lea rax, [rax + rax*2]
movsd xmm0, qword [rsp + rax*4 + 0x48]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [rsp + rax*4 + 0x50]
mov dword [rbp - 0x78], eax
mov rax, qword [rcx]
xor r8d, r8d
lea rdx, [rbp - 0x80]
call qword [rax + 0xd8]
cmp byte [0x18003db65], bl
je 0x18003436c
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x3a
jmp 0x1800341ca
cmp word [rcx + 0x1c], r8w
jae 0x1800341c4
mov rcx, qword [rcx + 0x10]
jmp 0x1800341ca
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800341b7
cmp byte [rdx + 0x19], bl
jne 0x1800341f0
cmp r8w, word [rdx + 0x1c]
jb 0x1800341f0
cmp rdx, rax
je 0x1800341f0
add rdx, 0x20
je 0x1800341f0
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x3b
jmp 0x180034216
cmp word [rcx + 0x1c], r8w
jae 0x180034210
mov rcx, qword [rcx + 0x10]
jmp 0x180034216
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034203
cmp byte [rdx + 0x19], bl
jne 0x18003423c
cmp r8w, word [rdx + 0x1c]
jb 0x18003423c
cmp rdx, rax
je 0x18003423c
add rdx, 0x20
je 0x18003423c
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x3f
jmp 0x180034262
cmp word [rcx + 0x1c], r8w
jae 0x18003425c
mov rcx, qword [rcx + 0x10]
jmp 0x180034262
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003424f
cmp byte [rdx + 0x19], bl
jne 0x180034288
cmp r8w, word [rdx + 0x1c]
jb 0x180034288
cmp rdx, rax
je 0x180034288
add rdx, 0x20
je 0x180034288
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x55
jmp 0x1800342ae
cmp word [rcx + 0x1c], r8w
jae 0x1800342a8
mov rcx, qword [rcx + 0x10]
jmp 0x1800342ae
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003429b
cmp byte [rdx + 0x19], bl
jne 0x1800342d4
cmp r8w, word [rdx + 0x1c]
jb 0x1800342d4
cmp rdx, rax
je 0x1800342d4
add rdx, 0x20
je 0x1800342d4
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x56
cmp byte [rcx + 0x19], bl
jne 0x1800342ff
cmp word [rcx + 0x1c], r8w
jae 0x1800342f7
mov rcx, qword [rcx + 0x10]
jmp 0x1800342e5
mov rdx, rcx
mov rcx, qword [rcx]
jmp 0x1800342e5
cmp byte [rdx + 0x19], bl
jne 0x180034320
cmp r8w, word [rdx + 0x1c]
jb 0x180034320
cmp rdx, rax
je 0x180034320
add rdx, 0x20
je 0x180034320
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x57
jmp 0x180034346
cmp word [rcx + 0x1c], r8w
jae 0x180034340
mov rcx, qword [rcx + 0x10]
jmp 0x180034346
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034333
cmp byte [rdx + 0x19], bl
jne 0x18003436c
cmp r8w, word [rdx + 0x1c]
jb 0x18003436c
cmp rdx, rax
je 0x18003436c
add rdx, 0x20
je 0x18003436c
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
cmp byte [0x18003daff], bl
je 0x180034410
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x11
jmp 0x18003439e
cmp word [rcx + 0x1c], r8w
jae 0x180034398
mov rcx, qword [rcx + 0x10]
jmp 0x18003439e
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003438b
cmp byte [rdx + 0x19], bl
jne 0x1800343c4
cmp r8w, word [rdx + 0x1c]
jb 0x1800343c4
cmp rdx, rax
je 0x1800343c4
add rdx, 0x20
je 0x1800343c4
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x12
jmp 0x1800343ea
cmp word [rcx + 0x1c], r8w
jae 0x1800343e4
mov rcx, qword [rcx + 0x10]
jmp 0x1800343ea
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800343d7
cmp byte [rdx + 0x19], bl
jne 0x180034410
cmp r8w, word [rdx + 0x1c]
jb 0x180034410
cmp rdx, rax
je 0x180034410
add rdx, 0x20
je 0x180034410
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss dword [0x18003dbc0], xmm12
movss dword [0x18003dbc4], xmm13
movss dword [0x18003dbc8], xmm14
mov al, byte [r12 + 0xce4]
mov byte [0x18003dbdc], al
mov dword [0x18003dc18], 1
and dword [0x18003dc20], ebx
and dword [0x18003dc24], ebx
mov dword [0x18003dc28], 0x3f800000
and dword [0x18003dbd0], ebx
and dword [0x18003dbd4], ebx
mov dword [0x18003dbd8], 0x3f800000
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x68], xmm1
mov qword [rbp + 0x78], rbx
movdqu xmmword [rbp + 0xa0], xmm1
mov qword [rbp + 0xb0], rbx
mov r9d, 0x47
cmp byte [0x18003db59], bl
je 0x180034686
movss xmm0, dword [0x18003db68]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
lea r8d, [r9 - 3]
jmp 0x1800344c8
cmp word [rcx + 0x1c], r8w
jae 0x1800344c2
mov rcx, qword [rcx + 0x10]
jmp 0x1800344c8
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800344b5
cmp byte [rdx + 0x19], bl
jne 0x1800344ed
cmp r8w, word [rdx + 0x1c]
jb 0x1800344ed
cmp rdx, rax
je 0x1800344ed
add rdx, 0x20
je 0x1800344ed
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db5c]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x45
jmp 0x18003451b
cmp word [rcx + 0x1c], r8w
jae 0x180034515
mov rcx, qword [rcx + 0x10]
jmp 0x18003451b
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034508
cmp byte [rdx + 0x19], bl
jne 0x180034540
cmp r8w, word [rdx + 0x1c]
jb 0x180034540
cmp rdx, rax
je 0x180034540
add rdx, 0x20
je 0x180034540
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db6c]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x46
jmp 0x18003456e
cmp word [rcx + 0x1c], r8w
jae 0x180034568
mov rcx, qword [rcx + 0x10]
jmp 0x18003456e
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003455b
cmp byte [rdx + 0x19], bl
jne 0x180034593
cmp r8w, word [rdx + 0x1c]
jb 0x180034593
cmp rdx, rax
je 0x180034593
add rdx, 0x20
je 0x180034593
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db30]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
jmp 0x1800345bb
cmp word [rcx + 0x1c], r9w
jae 0x1800345b5
mov rcx, qword [rcx + 0x10]
jmp 0x1800345bb
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800345a8
cmp byte [rdx + 0x19], bl
jne 0x1800345e0
cmp r9w, word [rdx + 0x1c]
jb 0x1800345e0
cmp rdx, rax
je 0x1800345e0
add rdx, 0x20
je 0x1800345e0
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db54]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x48
jmp 0x18003460e
cmp word [rcx + 0x1c], r8w
jae 0x180034608
mov rcx, qword [rcx + 0x10]
jmp 0x18003460e
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800345fb
cmp byte [rdx + 0x19], bl
jne 0x180034633
cmp r8w, word [rdx + 0x1c]
jb 0x180034633
cmp rdx, rax
je 0x180034633
add rdx, 0x20
je 0x180034633
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db3c]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x49
jmp 0x180034661
cmp word [rcx + 0x1c], r8w
jae 0x18003465b
mov rcx, qword [rcx + 0x10]
jmp 0x180034661
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003464e
cmp byte [rdx + 0x19], bl
jne 0x180034686
cmp r8w, word [rdx + 0x1c]
jb 0x180034686
cmp rdx, rax
je 0x180034686
add rdx, 0x20
je 0x180034686
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
cmp byte [0x18003db3a], bl
je 0x1800348c3
movss xmm0, dword [0x18003db2c]
movaps xmm1, xmm0
mulss xmm1, dword [0x1800062b0]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x5e
jmp 0x1800346cb
cmp word [rcx + 0x1c], r8w
jae 0x1800346c5
mov rcx, qword [rcx + 0x10]
jmp 0x1800346cb
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800346b8
cmp byte [rdx + 0x19], bl
jne 0x1800346f8
cmp r8w, word [rdx + 0x1c]
jb 0x1800346f8
cmp rdx, rax
je 0x1800346f8
add rdx, 0x20
je 0x1800346f8
movd eax, xmm1
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db2c]
movaps xmm1, xmm0
mulss xmm1, dword [0x1800062b4]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x5f
jmp 0x180034729
cmp word [rcx + 0x1c], r8w
jae 0x180034723
mov rcx, qword [rcx + 0x10]
jmp 0x180034729
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034716
cmp byte [rdx + 0x19], bl
jne 0x180034756
cmp r8w, word [rdx + 0x1c]
jb 0x180034756
cmp rdx, rax
je 0x180034756
add rdx, 0x20
je 0x180034756
movd eax, xmm1
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db2c]
movaps xmm1, xmm0
mulss xmm1, dword [0x1800062b8]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x60
jmp 0x180034787
cmp word [rcx + 0x1c], r8w
jae 0x180034781
mov rcx, qword [rcx + 0x10]
jmp 0x180034787
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034774
cmp byte [rdx + 0x19], bl
jne 0x1800347b4
cmp r8w, word [rdx + 0x1c]
jb 0x1800347b4
cmp rdx, rax
je 0x1800347b4
add rdx, 0x20
je 0x1800347b4
movd eax, xmm1
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db2c]
movaps xmm1, xmm0
mulss xmm1, dword [0x1800062d0]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x79
jmp 0x1800347e5
cmp word [rcx + 0x1c], r8w
jae 0x1800347df
mov rcx, qword [rcx + 0x10]
jmp 0x1800347e5
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800347d2
cmp byte [rdx + 0x19], bl
jne 0x180034812
cmp r8w, word [rdx + 0x1c]
jb 0x180034812
cmp rdx, rax
je 0x180034812
add rdx, 0x20
je 0x180034812
movd eax, xmm1
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db2c]
movaps xmm1, xmm0
mulss xmm1, dword [0x1800062bc]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x61
jmp 0x180034843
cmp word [rcx + 0x1c], r8w
jae 0x18003483d
mov rcx, qword [rcx + 0x10]
jmp 0x180034843
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x180034830
cmp byte [rdx + 0x19], bl
jne 0x180034870
cmp r8w, word [rdx + 0x1c]
jb 0x180034870
cmp rdx, rax
je 0x180034870
add rdx, 0x20
je 0x180034870
movd eax, xmm1
xor eax, dword [rdx + 4]
mov dword [rdx], eax
movss xmm0, dword [0x18003db2c]
mulss xmm0, dword [0x1800062c0]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x62
jmp 0x18003489e
cmp word [rcx + 0x1c], r8w
jae 0x180034898
mov rcx, qword [rcx + 0x10]
jmp 0x18003489e
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003488b
cmp byte [rdx + 0x19], bl
jne 0x1800348c3
cmp r8w, word [rdx + 0x1c]
jb 0x1800348c3
cmp rdx, rax
je 0x1800348c3
add rdx, 0x20
je 0x1800348c3
movd eax, xmm0
xor eax, dword [rdx + 4]
mov dword [rdx], eax
cmp byte [0x18003db5b], bl
je 0x1800349b3
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x67
jmp 0x1800348f5
cmp word [rcx + 0x1c], r8w
jae 0x1800348ef
mov rcx, qword [rcx + 0x10]
jmp 0x1800348f5
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800348e2
cmp byte [rdx + 0x19], bl
jne 0x18003491b
cmp r8w, word [rdx + 0x1c]
jb 0x18003491b
cmp rdx, rax
je 0x18003491b
add rdx, 0x20
je 0x18003491b
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x68
jmp 0x180034941
cmp word [rcx + 0x1c], r8w
jae 0x18003493b
mov rcx, qword [rcx + 0x10]
jmp 0x180034941
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003492e
cmp byte [rdx + 0x19], bl
jne 0x180034967
cmp r8w, word [rdx + 0x1c]
jb 0x180034967
cmp rdx, rax
je 0x180034967
add rdx, 0x20
je 0x180034967
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x69
jmp 0x18003498d
cmp word [rcx + 0x1c], r8w
jae 0x180034987
mov rcx, qword [rcx + 0x10]
jmp 0x18003498d
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x18003497a
cmp byte [rdx + 0x19], bl
jne 0x1800349b3
cmp r8w, word [rdx + 0x1c]
jb 0x1800349b3
cmp rdx, rax
je 0x1800349b3
add rdx, 0x20
je 0x1800349b3
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
cmp byte [0x18003db62], bl
je 0x180034a07
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + 8]
mov rdx, rax
mov r8d, 0x1f
jmp 0x1800349e1
cmp word [rcx + 0x1c], r8w
jae 0x1800349db
mov rcx, qword [rcx + 0x10]
jmp 0x1800349e1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], bl
je 0x1800349ce
cmp byte [rdx + 0x19], bl
jne 0x180034a07
cmp r8w, word [rdx + 0x1c]
jb 0x180034a07
cmp rdx, rax
je 0x180034a07
add rdx, 0x20
je 0x180034a07
movd eax, xmm11
xor eax, dword [rdx + 4]
mov dword [rdx], eax
mov r15, qword [rbp + 0x38]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdi, rax
mov rsi, qword [rbp + 0x70]
mov r13, qword [rbp - 0x70]
test rax, rax
je 0x180034e19
movss xmm10, dword [0x180006218]
movss xmm9, dword [0x1800061d8]
mov rax, qword [rdi]
mov rdx, qword [rax + 0x178]
mov rcx, rdi
call rdx
test al, al
jne 0x180034e00
cmp byte [0x18003dafb], bl
je 0x180034a97
mov ecx, 0x54
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x180034a72
movss xmm0, dword [0x18003db4c]
jmp 0x180034a89
mov ecx, 0x47
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x180034a97
movss xmm0, dword [0x18003db34]
mov rax, qword [rbp + 0x10]
addss xmm0, xmm10
movss dword [rax + 8], xmm0
mov rax, qword [rdi]
mov rdx, qword [rax + 8]
mov rcx, rdi
call rdx
mov ebx, eax
mov rcx, qword [r14]
mov rdx, qword [rcx + 0xc8]
mov rcx, r14
call rdx
mov rcx, qword [rax]
mov r8, qword [rcx + 0x78]
mov edx, ebx
mov rcx, rax
call r8
mov rbx, rax
xor ecx, ecx
test rax, rax
je 0x180034cc7
cmp byte [0x18003dafa], cl
je 0x180034f06
mov r15, qword [rbp + 0x18]
movsd xmm7, qword [r15 + 0x17c0]
mov r14d, dword [r15 + 0x17c8]
lea r8, [0x180005b48]
mov rdx, rdi
lea rcx, [rbp]
call fcn.180030bd0
lea r8, [0x180005c18]
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.180030bd0
cmp byte [0x18003db51], 0
je 0x180034b49
mov rax, qword [rbx]
mov rdx, qword [rax + 0xe0]
mov rcx, rbx
call rdx
test eax, eax
jle 0x180034dfa
cmp r12, rbx
je 0x180034dfa
cmp byte [0x18003db51], 0
jne 0x180034b7d
mov rax, qword [rbx]
mov rdx, qword [rax + 0xe0]
mov rcx, rbx
call rdx
test eax, eax
jle 0x180034dfa
cmp r12, rbx
je 0x180034dfa
mov eax, dword [rbx + 0x3e4]
cmp dword [r12 + 0x3e4], eax
je 0x180034dfa
movsd xmm6, qword [rbp]
movsd qword [rbp - 0x50], xmm6
mov ebx, dword [rbp + 8]
mov dword [rbp - 0x48], ebx
movsd qword [rbp - 0x40], xmm7
mov dword [rbp - 0x38], r14d
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
mov r8, rdi
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + 0x70]
call fcn.180030a14
test al, al
je 0x180034cc3
movsd qword [rbp - 0x30], xmm6
mov dword [rbp - 0x28], ebx
lea r8, [rbp + 0xc0]
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.18003060c
test al, al
jne 0x180034be8
movss xmm0, dword [0x180006300]
jmp 0x180034c58
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm1, dword [rbp + 0xc0]
comiss xmm1, xmm6
jbe 0x180034c26
subss xmm1, xmm6
jmp 0x180034c2d
subss xmm6, xmm1
movaps xmm1, xmm6
movss xmm0, dword [rbp + 0xc4]
comiss xmm0, xmm2
jbe 0x180034c40
subss xmm0, xmm2
jmp 0x180034c47
subss xmm2, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x18003db48]
comiss xmm1, xmm0
jb 0x180034cc3
lea r14, [r13 + 0x28]
mov rax, qword [r14 + 0x18]
cmp byte [0x18003dafd], 0
jne 0x180034c8a
movss xmm0, dword [rbp]
movss dword [rax + 0x1c], xmm0
movss xmm1, dword [rbp + 4]
mov dword [rax + 0x24], ebx
jmp 0x180034ca3
movss xmm0, dword [rbp - 0x80]
movss dword [rax + 0x1c], xmm0
movss xmm1, dword [rbp - 0x7c]
movss xmm0, dword [rbp - 0x78]
movss dword [rax + 0x24], xmm0
movss dword [rax + 0x20], xmm1
cmp byte [0x18003db45], 0
je 0x180034cc3
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x58]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x60]
mov r15, qword [rbp + 0x38]
mov rax, qword [rdi]
mov r8, qword [rax + 0x1d8]
xor edx, edx
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x180034dfe
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x60]
mov rcx, rdi
call rdx
mov r14, rax
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rcx, rdi
call rdx
test rax, rax
je 0x180034dfe
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
mov r15, rax
mov r8, qword [rdi]
lea rdx, [rbp + 0x80]
mov rcx, rdi
call qword [r8 + 0xc8]
movss xmm2, dword [rbp + 0x94]
addss xmm2, dword [rbp + 0x88]
movss xmm1, dword [rbp + 0x90]
addss xmm1, dword [rbp + 0x84]
movss xmm0, dword [rbp + 0x8c]
addss xmm0, dword [rbp + 0x80]
mulss xmm0, xmm9
mulss xmm1, xmm9
mulss xmm2, xmm9
unpcklps xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
movss dword [rbp - 0x18], xmm2
movsd qword [rbp - 0x10], xmm15
mov eax, dword [rsp + 0x78]
mov dword [rbp - 8], eax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x10]
call fcn.1800320c0
movaps xmm6, xmm0
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.180032160
test al, al
je 0x180034f16
cmp byte [0x18003db63], 0
je 0x180034f16
movd xmm0, dword [0x18003d2dc]
cvtdq2ps xmm0, xmm0
movd xmm3, dword [0x18003db40]
cvtdq2ps xmm3, xmm3
movd xmm2, dword [0x18003d2e4]
cvtdq2ps xmm2, xmm2
mov rax, qword [rbx]
movss dword [rsp + 0x20], xmm0
movss xmm1, dword [0x18003d2d4]
mov rcx, rbx
call qword [rax + 0x160]
or dword [rbx + 0x24], 0x80018
mov r15, qword [rbp + 0x38]
xor ebx, ebx
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdi, rax
test rax, rax
mov r14, qword [rbp - 0x60]
jne 0x180034a3a
mov qword [rbp + 0x50], rbx
mov rcx, qword [rbp + 0x58]
mov rax, qword [rcx]
lea rdx, [rbp + 0x50]
call qword [rax + 0x90]
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1800357ec
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
mov r15, rax
mov r14, qword [rbp + 0xa8]
test rax, rax
je 0x18003561f
and dword [rbp + 0x58], 0
and dword [rbp + 0x5c], 0
and dword [rbp + 0x60], 0
mov dword [rbp + 0x38], ebx
mov dword [rbp + 0x40], ebx
mov al, byte [0x18003db53]
test al, al
je 0x1800350d4
cmp byte [0x18003dafe], bl
mov rbx, qword [rbp - 0x68]
je 0x180034eb3
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r10, qword [rax + 0xc0]
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
call r10
test rax, rax
je 0x180034ead
cmp dword [rax + 0x14], 4
je 0x1800350f8
mov al, byte [0x18003db53]
test al, al
je 0x1800350d2
cmp byte [0x18003db60], 0
je 0x1800350d2
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r10, qword [rax + 0xc0]
mov r9d, 0x2e
xor r8d, r8d
xor edx, edx
call r10
xor ebx, ebx
test rax, rax
je 0x1800350d4
cmp dword [rax + 0x14], 4
jne 0x1800350d4
cmp r15, r12
je 0x180035602
jmp 0x1800350fa
mov rax, qword [r13 + 0x40]
mov qword [rax + 0x1c], rcx
mov dword [rax + 0x24], ecx
jmp 0x180034cc7
mov al, byte [0x18003db0f]
mov byte [rsp + 0x38], al
lea rax, [0x18003d434]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm6
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x40]
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.1800327d4
xor ebx, ebx
test al, al
je 0x1800350c9
mov rcx, r13
call fcn.180030730
test al, al
je 0x1800350c9
mov eax, dword [r12 + 0x20]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x50], 6
mov dword [rsp + 0x54], 0xc
movss dword [rsp + 0x58], xmm12
movss dword [rsp + 0x5c], xmm13
movss dword [rsp + 0x60], xmm14
and dword [rsp + 0x64], ebx
mov al, byte [r12 + 0xce4]
mov byte [rsp + 0x68], al
mov r15, qword [rbp + 0x78]
cmp rsi, r15
je 0x180034fd4
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x20], eax
add rsi, 0x24
mov qword [rbp + 0x70], rsi
jmp 0x180034fed
lea r8, [rsp + 0x48]
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.18003954c
mov rsi, qword [rbp + 0x70]
mov r15, qword [rbp + 0x78]
xor r14d, r14d
cmp dword [0x18003d434], r14d
jle 0x1800350c9
movss xmm8, dword [rbp + 0x94]
addss xmm8, dword [rbp + 0x88]
movss xmm7, dword [rbp + 0x90]
addss xmm7, dword [rbp + 0x84]
movss xmm6, dword [rbp + 0x8c]
addss xmm6, dword [rbp + 0x80]
mulss xmm6, xmm9
mulss xmm7, xmm9
mulss xmm8, xmm9
mov rax, qword [rdi]
mov rdx, qword [rax + 8]
mov rcx, rdi
call rdx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], r14d
mov qword [rsp + 0x50], 1
unpcklps xmm6, xmm7
movsd qword [rsp + 0x58], xmm6
movss dword [rsp + 0x60], xmm8
and dword [rsp + 0x64], r14d
mov byte [rsp + 0x68], r14b
cmp rsi, r15
je 0x18003509d
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x20], eax
add rsi, 0x24
mov qword [rbp + 0x70], rsi
jmp 0x1800350b6
lea r8, [rsp + 0x48]
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.18003954c
mov rsi, qword [rbp + 0x70]
mov r15, qword [rbp + 0x78]
inc ebx
cmp ebx, dword [0x18003d434]
jl 0x180034ffd
jmp 0x180034dfa
mov r15, qword [rbp + 0x38]
jmp 0x180034e00
xor ebx, ebx
cmp r15, r12
je 0x180035602
mov eax, dword [r15 + 0x3e4]
cmp dword [r12 + 0x3e4], eax
jne 0x1800350fa
test eax, eax
jne 0x180035602
jmp 0x1800350fa
xor ebx, ebx
mov r12, qword [r15 + 0x10]
test r12, r12
je 0x1800355fd
mov rax, qword [r12]
mov rdx, qword [rax + 0x60]
mov rcx, r12
call rdx
mov rdi, rax
mov rcx, qword [r15]
mov rdx, qword [rcx + 0x130]
mov rcx, r15
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x100]
mov rcx, rax
call rdx
mov r13, rax
mov rcx, qword [r12]
mov r8, qword [rcx + 0x1d8]
xor edx, edx
mov rcx, r12
call r8
mov rbx, rax
test rax, rax
je 0x1800355fb
cmp byte [0x18003db66], 0
je 0x1800351a2
movd xmm0, dword [0x18003d2dc]
cvtdq2ps xmm0, xmm0
movd xmm3, dword [0x18003db40]
cvtdq2ps xmm3, xmm3
movd xmm2, dword [0x18003d2e4]
cvtdq2ps xmm2, xmm2
mov rdx, qword [rax]
movss dword [rsp + 0x20], xmm0
movss xmm1, dword [0x18003d2d4]
mov rcx, rax
call qword [rdx + 0x160]
or dword [rbx + 0x24], 0x80018
mov rax, qword [r15]
mov rdx, qword [rax + 0xe0]
mov rcx, r15
call rdx
xor ebx, ebx
test eax, eax
jle 0x1800355fd
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x20], rax
mov r9, r12
mov r8, r13
mov rdx, rdi
mov rcx, qword [rbp + 0x30]
call fcn.180031578
test al, al
je 0x1800355fd
mov rbx, qword [rbp - 0x70]
mov rcx, rbx
call fcn.180030730
xor edi, edi
test al, al
jne 0x180035256
mov word [rsp + 0x44], 0x4347
xor eax, eax
mov byte [rsp + 0x46], al
mov ecx, edi
mov edx, edi
lea eax, [rcx + 0x2c]
xor byte [rsp + rdx + 0x44], al
inc ecx
movsxd rdx, ecx
cmp rdx, 2
jb 0x18003521c
mov byte [rsp + 0x46], dil
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x44]
mov rcx, rax
call fcn.180039c28
test rax, rax
je 0x1800355fb
cmp byte [0x18003db52], dil
jne 0x1800352a1
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp - 0x10], xmm0
mov eax, dword [rbp + 0x60]
mov dword [rbp - 8], eax
movsd qword [rbp - 0x20], xmm15
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x20]
mov r8, r12
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x58]
call fcn.180030a14
test al, al
je 0x1800355fb
cmp byte [0x18003db53], dil
je 0x18003540b
mov rcx, rbx
call fcn.180030730
test al, al
je 0x18003540b
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x48], eax
mov eax, 0xc
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], 6
mov dword [rsp + 0x54], eax
movss dword [rsp + 0x58], xmm12
movss dword [rsp + 0x5c], xmm13
movss dword [rsp + 0x60], xmm14
and dword [rsp + 0x64], edi
mov al, byte [rcx + 0xce4]
mov byte [rsp + 0x68], al
mov r14, qword [rbp + 0x78]
cmp rsi, r14
je 0x18003532d
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x20], eax
add rsi, 0x24
mov qword [rbp + 0x70], rsi
jmp 0x180035346
lea r8, [rsp + 0x48]
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.18003954c
mov rsi, qword [rbp + 0x70]
mov r14, qword [rbp + 0x78]
mov r13d, 5
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp + 0xc0], xmm0
mov ebx, dword [rbp + 0x60]
mov dil, byte [r15 + 0xce4]
mov rax, qword [r12]
mov rdx, qword [rax + 8]
mov rcx, r12
call rdx
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], 1
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x54], eax
movss xmm0, dword [rbp + 0xc0]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [rbp + 0xc4]
movss dword [rsp + 0x5c], xmm1
mov dword [rsp + 0x60], ebx
and dword [rsp + 0x64], 0
mov byte [rsp + 0x68], dil
cmp rsi, r14
je 0x1800353db
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x20], eax
add rsi, 0x24
mov qword [rbp + 0x70], rsi
jmp 0x1800353f4
lea r8, [rsp + 0x48]
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.18003954c
mov rsi, qword [rbp + 0x70]
mov r14, qword [rbp + 0x78]
sub r13, 1
jne 0x18003534c
mov r14, qword [rbp + 0xa8]
mov rbx, qword [rbp - 0x70]
xor edi, edi
cmp byte [0x18003db3b], dil
je 0x1800355fb
mov word [rsp + 0x40], 0x4347
xor eax, eax
mov byte [rsp + 0x42], al
mov ecx, edi
mov rdx, rdi
lea eax, [rcx + 0x2c]
xor byte [rsp + rdx + 0x40], al
inc ecx
movsxd rdx, ecx
cmp rdx, 2
jb 0x18003542a
mov byte [rsp + 0x42], dil
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180039c28
xor ebx, ebx
test rax, rax
je 0x1800355fd
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [rbp + 0x60]
mov dword [rbp - 0x28], eax
movsd qword [rbp - 0x40], xmm15
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x38], eax
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x40]
call fcn.1800320c0
movss xmm5, dword [0x18003d2e0]
comiss xmm5, xmm0
jb 0x1800355fd
mov rax, qword [rsp + 0x70]
mov cl, byte [rax + 0xce4]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x48], eax
lea eax, [rbx + 0xc]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], 6
mov dword [rsp + 0x54], eax
movss dword [rsp + 0x58], xmm12
movss dword [rsp + 0x5c], xmm13
movss dword [rsp + 0x60], xmm14
and dword [rsp + 0x64], ebx
mov byte [rsp + 0x68], cl
mov rsi, qword [rbp + 0xb0]
cmp r14, rsi
je 0x180035517
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [r14 + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [r14 + 0x20], eax
add r14, 0x24
mov qword [rbp + 0xa8], r14
jmp 0x180035539
lea r8, [rsp + 0x48]
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.18003954c
mov r14, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
mov r13d, 5
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp - 0x50], xmm0
mov ebx, dword [rbp + 0x60]
mov dil, byte [r15 + 0xce4]
mov rax, qword [r12]
mov rdx, qword [rax + 8]
mov rcx, r12
call rdx
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], 4
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x54], eax
movss xmm0, dword [rbp - 0x50]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [rbp - 0x4c]
movss dword [rsp + 0x5c], xmm1
mov dword [rsp + 0x60], ebx
and dword [rsp + 0x64], 0
mov byte [rsp + 0x68], dil
cmp r14, rsi
je 0x1800355cb
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [r14 + 0x10], xmm1
mov eax, dword [rsp + 0x68]
mov dword [r14 + 0x20], eax
add r14, 0x24
mov qword [rbp + 0xa8], r14
jmp 0x1800355ed
lea r8, [rsp + 0x48]
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.18003954c
mov r14, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
sub r13, 1
jne 0x18003553f
mov rsi, qword [rbp + 0x70]
xor ebx, ebx
mov r12, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
mov r15, rax
test rax, rax
jne 0x180034e57
mov r13, qword [rbp - 0x70]
movabs r12, 0x1426960f8
or edi, 0xffffffff
mov r15d, pe_nt_image_headers64
cmp byte [0x18003db53], bl
je 0x1800356e1
lea ecx, [rdi + 0x76]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180035651
mov byte [0x18003db53], bl
movss xmm0, dword [0x18003db94]
comiss xmm0, dword [0x18003db90]
jb 0x1800356e9
cmp qword [rbp + 0x68], rsi
je 0x1800356c9
mov rcx, r13
call fcn.180030730
test al, al
je 0x1800356c9
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x80]
call fcn.180038830
mov rcx, rax
call fcn.180033a1c
mov rax, qword [0x18003dbe8]
movabs rsi, 0x1414abc90
cmp qword [0x18003dbe0], rax
je 0x1800356c2
mov dword [rsp + 0x20], edi
mov r9d, r15d
lea r8, [0x18003dbc0]
mov rdx, qword [r12]
mov rcx, qword [r13 + 0x18]
call rsi
call fcn.180033aec
jmp 0x1800356d3
movabs rsi, 0x1414abc90
movaps xmm0, xmm11
movss dword [0x18003db94], xmm0
jmp 0x1800356f3
movss xmm0, dword [0x18003db94]
movabs rsi, 0x1414abc90
cmp byte [0x18003db3b], bl
je 0x1800357ec
comiss xmm0, dword [0x18003db90]
jb 0x1800357ec
cmp qword [rbp + 0xa0], r14
je 0x1800357e5
mov word [rsp + 0x40], 0x4347
xor eax, eax
mov byte [rsp + 0x42], al
mov ecx, ebx
mov rdx, rbx
lea eax, [rcx + 0x2c]
xor byte [rsp + rdx + 0x40], al
inc ecx
movsxd rdx, ecx
cmp rdx, 2
jb 0x18003572b
mov byte [rsp + 0x42], bl
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180039c28
test rax, rax
je 0x1800357e5
mov eax, dword [r13 + 0x20]
mov dword [0x18003d2e8], eax
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd0]
call rdx
movsxd rdx, dword [0x18003d2e8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0xb0]
mov rcx, rax
call r8
mov rbx, rax
test rax, rax
je 0x1800357e5
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x80]
call fcn.180038830
mov rcx, rax
call fcn.180033a1c
mov rcx, qword [0x18003dbe8]
cmp qword [0x18003dbe0], rcx
je 0x1800357e0
mov dword [rsp + 0x20], edi
mov r9d, r15d
lea r8, [0x18003dbc0]
mov rdx, qword [r12]
mov rcx, qword [rbx + 0x18]
call rsi
call fcn.180033aec
and dword [0x18003db94], 0
lea rcx, [rbp + 0xa0]
call fcn.1800387b4
nop
lea rcx, [rbp + 0x68]
call fcn.1800387b4
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180039c90
lea r11, [rsp + 0x280]
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