Function at 0x14002facc
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x768
mov rax, qword [0x140049780]
xor rax, rsp
mov qword [rsp + 0x750], rax
mov eax, 0x13b0
mov eax, eax
mov ecx, dword [0x14004a8d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x14004a858], eax
jle 0x14002fb3e
lea rcx, [0x14004a858]
call fcn.14003a2fc
cmp dword [0x14004a858], 0xffffffff
jne 0x14002fb3e
call fcn.1400089d0
mov rax, qword [rax + 8]
mov qword [0x14004a850], rax
lea rcx, [0x14004a858]
call fcn.14003a290
mov eax, 0x13b0
mov eax, eax
mov ecx, dword [0x14004a8d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x14004a868], eax
jle 0x14002fbb4
lea rcx, [0x14004a868]
call fcn.14003a2fc
cmp dword [0x14004a868], 0xffffffff
jne 0x14002fbb4
movss xmm0, dword [0x14004a854]
divss xmm0, dword [0x14003ca34]
movss xmm1, dword [0x14004a850]
divss xmm1, dword [0x14003ca34]
movaps xmm2, xmm0
lea rcx, [0x14004a860]
call fcn.14002d5a8
nop
lea rcx, [0x14004a868]
call fcn.14003a290
movzx eax, byte [0x140048371]
test eax, eax
je 0x14002ff47
movss xmm0, dword [0x140048368]
movss dword [rsp + 0x64], xmm0
mov dword [rsp + 0xa0], 0x64
mov eax, dword [0x140049e9c]
cvtsi2ss xmm0, rax
mov eax, dword [0x140049e98]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0xc0]
call fcn.14002d5a8
cvtsi2ss xmm0, dword [rsp + 0xa0]
movss xmm1, dword [0x140042854]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xa4], xmm0
call fcn.1400089d0
movss xmm0, dword [rax + 0x10]
movss dword [rsp + 0x160], xmm0
movss xmm0, dword [0x14004a86c]
movss dword [rsp + 0x15c], xmm0
movss xmm0, dword [rsp + 0x15c]
addss xmm0, dword [rsp + 0x160]
movss dword [0x14004a86c], xmm0
movss xmm0, dword [0x14003ca2c]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x14003ca2c]
movss xmm1, dword [0x14003ca2c]
lea rcx, [rsp + 0x318]
call fcn.14002d5e0
movss xmm0, dword [0x14003ca2c]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x14003ca2c]
xorps xmm1, xmm1
lea rcx, [rsp + 0x328]
call fcn.14002d5e0
movss xmm0, dword [0x14003ca2c]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
xorps xmm2, xmm2
movss xmm1, dword [0x14003ca2c]
lea rcx, [rsp + 0x338]
call fcn.14002d5e0
lea rcx, [rsp + 0x1b8]
call fcn.1400024e0
movss xmm0, dword [0x14003ca00]
movss dword [rsp + 0x164], xmm0
movss xmm0, dword [0x14004a86c]
mulss xmm0, dword [rsp + 0x164]
movss dword [rsp + 0xa8], xmm0
mov dword [rsp + 0x5c], 0
jmp 0x14002fd2d
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0xa0]
cmp dword [rsp + 0x5c], eax
jge 0x14002ff47
cvtsi2ss xmm0, dword [rsp + 0x5c]
mulss xmm0, dword [rsp + 0xa4]
addss xmm0, dword [rsp + 0xa8]
movss dword [rsp + 0xac], xmm0
mov eax, dword [rsp + 0x5c]
inc eax
cvtsi2ss xmm0, eax
mulss xmm0, dword [rsp + 0xa4]
addss xmm0, dword [rsp + 0xa8]
movss dword [rsp + 0xb0], xmm0
mov eax, dword [rsp + 0x5c]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
jne 0x14002fda9
movups xmm0, xmmword [rsp + 0x318]
movdqu xmmword [rsp + 0x1b8], xmm0
jmp 0x14002fde0
mov eax, dword [rsp + 0x5c]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
cmp eax, 1
jne 0x14002fdcf
movups xmm0, xmmword [rsp + 0x328]
movdqu xmmword [rsp + 0x1b8], xmm0
jmp 0x14002fde0
movups xmm0, xmmword [rsp + 0x338]
movdqu xmmword [rsp + 0x1b8], xmm0
movss xmm0, dword [rsp + 0xac]
call fcn.1400383c0
movss xmm1, dword [rsp + 0x64]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0xc4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x170], xmm0
movss xmm0, dword [rsp + 0xac]
call fcn.140035f70
movss xmm1, dword [rsp + 0x64]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0xc0]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xc8], xmm0
movss xmm2, dword [rsp + 0x170]
movss xmm1, dword [rsp + 0xc8]
lea rcx, [rsp + 0x1e8]
call fcn.14002d5a8
movss xmm0, dword [rsp + 0xb0]
call fcn.1400383c0
movss xmm1, dword [rsp + 0x64]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0xc4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xcc], xmm0
movss xmm0, dword [rsp + 0xb0]
call fcn.140035f70
movss xmm1, dword [rsp + 0x64]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0xc0]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xd0], xmm0
movss xmm2, dword [rsp + 0xcc]
movss xmm1, dword [rsp + 0xd0]
lea rcx, [rsp + 0x1e0]
call fcn.14002d5a8
call fcn.140008d24
mov qword [rsp + 0x1f0], rax
lea rcx, [rsp + 0x1b8]
call fcn.1400086bc
mov dword [rsp + 0xd4], eax
movss xmm0, dword [0x14003ca2c]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0xd4]
lea r8, [rsp + 0x1e0]
lea rdx, [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
call fcn.1400125a8
jmp 0x14002fd23
cmp dword [0x140049db0], 0
jne 0x14002ff5f
mov dword [0x140049db8], 0x6e
jmp 0x140030194
cmp dword [0x140049db0], 1
jne 0x14002ff77
mov dword [0x140049db8], 0x42
jmp 0x140030194
cmp dword [0x140049db0], 2
jne 0x14002ff8f
mov dword [0x140049db8], 0x25
jmp 0x140030194
cmp dword [0x140049db0], 3
jne 0x14002ffa7
mov dword [0x140049db8], 2
jmp 0x140030194
cmp dword [0x140049db0], 4
jne 0x140030194
cmp dword [0x14004835c], 0
jne 0x14002ffcc
mov dword [0x140049db4], 1
jmp 0x140030194
cmp dword [0x14004835c], 1
jne 0x14002ffe4
mov dword [0x140049db4], 2
jmp 0x140030194
cmp dword [0x14004835c], 2
jne 0x14002fffc
mov dword [0x140049db4], 4
jmp 0x140030194
cmp dword [0x14004835c], 3
jne 0x140030014
mov dword [0x140049db4], 5
jmp 0x140030194
cmp dword [0x14004835c], 4
jne 0x14003002c
mov dword [0x140049db4], 6
jmp 0x140030194
cmp dword [0x14004835c], 5
jne 0x140030044
mov dword [0x140049db4], 3
jmp 0x140030194
cmp dword [0x14004835c], 6
jne 0x14003005c
mov dword [0x140049db4], 8
jmp 0x140030194
cmp dword [0x14004835c], 7
jne 0x140030074
mov dword [0x140049db4], 9
jmp 0x140030194
cmp dword [0x14004835c], 8
jne 0x14003008c
mov dword [0x140049db4], 0xc
jmp 0x140030194
cmp dword [0x14004835c], 9
jne 0x14003009a
jmp 0x140030194
cmp dword [0x14004835c], 0xa
jne 0x1400300b2
mov dword [0x140049db4], 0x10
jmp 0x140030194
cmp dword [0x14004835c], 0xb
jne 0x1400300ca
mov dword [0x140049db4], 0x11
jmp 0x140030194
cmp dword [0x14004835c], 0xc
jne 0x1400300d8
jmp 0x140030194
cmp dword [0x14004835c], 0xd
jne 0x1400300e6
jmp 0x140030194
cmp dword [0x14004835c], 0xe
jne 0x1400300f4
jmp 0x140030194
cmp dword [0x14004835c], 0xf
jne 0x140030102
jmp 0x140030194
cmp dword [0x14004835c], 0x10
jne 0x140030110
jmp 0x140030194
cmp dword [0x14004835c], 0x11
jne 0x14003011b
jmp 0x140030194
cmp dword [0x14004835c], 0x12
jne 0x140030126
jmp 0x140030194
cmp dword [0x14004835c], 0x13
jne 0x140030131
jmp 0x140030194
cmp dword [0x14004835c], 0x14
jne 0x14003013c
jmp 0x140030194
cmp dword [0x14004835c], 0x15
jne 0x140030147
jmp 0x140030194
cmp dword [0x14004835c], 0x16
jne 0x140030152
jmp 0x140030194
cmp dword [0x14004835c], 0x17
jne 0x14003015d
jmp 0x140030194
cmp dword [0x14004835c], 0x18
jne 0x140030168
jmp 0x140030194
cmp dword [0x14004835c], 0x19
jne 0x140030173
jmp 0x140030194
cmp dword [0x14004835c], 0x1a
jne 0x14003017e
jmp 0x140030194
cmp dword [0x14004835c], 0x1b
jne 0x140030189
jmp 0x140030194
cmp dword [0x14004835c], 0x1c
jne 0x140030194
jmp 0x140030194
lea rdx, [0x14004a7b8]
lea rcx, [rsp + 0x648]
call fcn.14002d1f8
nop
movss xmm0, dword [0x14003ca78]
movss dword [rsp + 0xb8], xmm0
mov qword [rsp + 0x1b0], 0
mov dword [rsp + 0x60], 0
jmp 0x1400301da
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x19
jge 0x140030235
imul eax, dword [rsp + 0x60], 0x1000
cdqe
mov rcx, qword [0x140049ee8]
lea rax, [rcx + rax + 0x250]
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a904
cmp eax, 0x260e020b
jne 0x140030233
mov eax, dword [rsp + 0x60]
inc eax
imul eax, eax, 0x1000
cdqe
mov rcx, qword [0x140049ee8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b0], rax
jmp 0x1400301d0
mov rax, qword [rsp + 0x1b0]
add rax, 0x117105c8
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1f8]
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049dd8], rax
mov rax, qword [0x140048198]
mov rcx, qword [0x140049dd8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x200], rax
mov rax, qword [0x140048180]
mov rcx, qword [rsp + 0x200]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x208], rax
mov rdx, qword [rsp + 0x208]
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049df8], rax
mov rax, qword [0x140048178]
mov rcx, qword [0x140049df8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049de0], rax
mov rax, qword [0x140048170]
mov rcx, qword [0x140049de0]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049de8], rax
mov rax, qword [0x140049de0]
add rax, 0x338
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x310], rax
mov rax, qword [0x140048188]
mov rcx, qword [0x140049de8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049df0], rax
mov rax, qword [0x1400481b8]
mov rcx, qword [0x140049de0]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x190]
mov rcx, qword [0x140049de8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x190], rax
mov rax, qword [0x1400481c8]
mov rcx, qword [0x140049de8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049e00], rax
mov rax, qword [0x140048210]
mov rcx, qword [0x140049dd8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [0x140049e08], rax
mov rax, qword [0x140049de8]
add rax, 0x948
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x410], rax
mov rax, qword [0x1400481d0]
mov rcx, qword [0x140049e08]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a904
mov dword [rsp + 0x298], eax
mov rax, qword [0x140048208]
mov rcx, qword [0x140049e08]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x438], rax
mov rax, qword [0x140048190]
mov rcx, qword [0x140049dd8]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x198], rax
mov rax, qword [0x1400481a0]
mov rcx, qword [rsp + 0x198]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x210], rax
mov rax, qword [0x140049de8]
add rax, 0x2590
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x430], rax
mov byte [rsp + 0x58], 0
cmp qword [0x140049de8], 0
je 0x140030539
mov byte [rsp + 0x58], 1
mov rax, qword [rsp + 0x198]
mov rcx, qword [0x1400481a0]
lea rax, [rax + rcx + 8]
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a904
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x68], 0
jmp 0x140030577
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xd8]
cmp dword [rsp + 0x68], eax
jae 0x140031b28
mov eax, dword [rsp + 0x68]
shl eax, 3
mov eax, eax
mov rcx, qword [rsp + 0x210]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x218], rax
mov rax, qword [0x140048230]
mov rcx, qword [rsp + 0x218]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
jne 0x1400305f2
jmp 0x14003056d
mov rax, qword [0x140048200]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x70], rax
mov rax, qword [0x1400481a8]
mov rcx, qword [0x140049df0]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a904
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x98]
add rax, 0x290
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002aa70
mov qword [rsp + 0x220], rax
mov rax, qword [0x1400481a8]
mov rcx, qword [rsp + 0x220]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a904
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x98]
add rax, 0x7c2
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a8cc
movsx eax, al
sar eax, 4
and eax, 1
mov dword [rsp + 0x29c], eax
lea rdx, [0x14004a7b8]
lea rcx, [rsp + 0x2a8]
call fcn.14002d1f8
nop
mov eax, dword [rsp + 0xdc]
cmp dword [rsp + 0xe0], eax
jne 0x1400306f9
lea rcx, [rsp + 0x2a8]
call fcn.14002dbbc
jmp 0x14003056d
cmp qword [0x140049de8], 0
je 0x140030705
jmp 0x14003070f
mov dword [0x140048364], 0x960
movzx eax, byte [0x140049d94]
test eax, eax
je 0x14003072e
lea rcx, [rsp + 0x2a8]
call fcn.14002dbbc
jmp 0x14003056d
mov rax, qword [0x140049de8]
cmp qword [rsp + 0x98], rax
jne 0x140030751
lea rcx, [rsp + 0x2a8]
call fcn.14002dbbc
jmp 0x14003056d
mov rax, qword [0x140049de8]
cmp qword [rsp + 0x98], rax
jne 0x140030774
lea rcx, [rsp + 0x2a8]
call fcn.14002dbbc
jmp 0x14003056d
mov r8d, 0x43
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x178]
call fcn.140031c68
nop
mov r8d, 0x44
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x630]
call fcn.140031c68
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x2d8]
call fcn.140031c68
nop
mov rax, qword [0x140048328]
mov rcx, qword [0x140049e00]
add rcx, rax
mov rax, rcx
mov r8, rax
lea rdx, [rsp + 0x458]
lea rcx, [0x140049f48]
call fcn.14002aa14
mov qword [rsp + 0x228], rax
lea rax, [0x14004a438]
mov rdi, rax
mov rsi, qword [rsp + 0x228]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x458]
call fcn.140029bd0
lea rax, [rsp + 0x470]
lea rcx, [rsp + 0x178]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x618]
call fcn.14003361c
nop
lea rax, [rsp + 0x490]
lea rcx, [rsp + 0x178]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x490]
lea rcx, [0x14004a438]
call fcn.14002f350
divss xmm0, dword [0x140048358]
movss dword [rsp + 0x2a0], xmm0
mov r8d, 0x32
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x418]
call fcn.140031c68
nop
lea rax, [rsp + 0x4b0]
lea rcx, [rsp + 0x418]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x600]
call fcn.14003361c
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x440]
call fcn.140031c68
nop
lea rax, [rsp + 0x4d0]
lea rcx, [rsp + 0x440]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x2c0]
call fcn.14003361c
nop
movsd xmm0, qword [rsp + 0x188]
addsd xmm0, qword [0x140042828]
movaps xmm3, xmm0
movsd xmm2, qword [rsp + 0x180]
movsd xmm1, qword [rsp + 0x178]
lea rcx, [rsp + 0x510]
call fcn.14002d63c
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x238], rax
lea rax, [rsp + 0x4f0]
mov rdi, rax
mov rsi, qword [rsp + 0x238]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x4f0]
lea rcx, [rsp + 0x78]
call fcn.14003361c
nop
lea rcx, [rsp + 0x510]
call fcn.140029bd0
movsd xmm3, qword [rsp + 0x188]
movsd xmm2, qword [rsp + 0x180]
movsd xmm1, qword [rsp + 0x178]
lea rcx, [rsp + 0x550]
call fcn.14002d63c
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x248], rax
lea rax, [rsp + 0x530]
mov rdi, rax
mov rsi, qword [rsp + 0x248]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x530]
lea rcx, [rsp + 0x5e8]
call fcn.14003361c
nop
lea rcx, [rsp + 0x550]
call fcn.140029bd0
movsd xmm3, qword [rsp + 0x2e8]
movsd xmm2, qword [rsp + 0x2e0]
movsd xmm1, qword [rsp + 0x2d8]
lea rcx, [rsp + 0x590]
call fcn.14002d63c
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x258], rax
lea rax, [rsp + 0x570]
mov rdi, rax
mov rsi, qword [rsp + 0x258]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x570]
lea rcx, [rsp + 0x5d0]
call fcn.14003361c
nop
lea rcx, [rsp + 0x590]
call fcn.140029bd0
lea rax, [rsp + 0x5b0]
lea rcx, [rsp + 0x178]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x5b0]
lea rcx, [rsp + 0x2f0]
call fcn.14003361c
nop
movsd xmm0, qword [rsp + 0x80]
subsd xmm0, qword [rsp + 0x2c8]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0xe4], xmm0
movss xmm0, dword [rsp + 0xe4]
mulss xmm0, dword [0x14003ca08]
movss dword [rsp + 0xe8], xmm0
cvtsd2ss xmm0, qword [rsp + 0x78]
movss xmm1, dword [rsp + 0xe8]
divss xmm1, dword [0x14003ca2c]
subss xmm0, xmm1
movss dword [rsp + 0x1c8], xmm0
cvtsd2ss xmm0, qword [rsp + 0x2c8]
movss dword [rsp + 0x1cc], xmm0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 3
mov dword [rsp + 0x1d0], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 3
mov dword [rsp + 0x1d4], eax
cvtss2sd xmm0, dword [0x140048368]
movzx eax, byte [0x140048371]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140042818]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x1d8], eax
movsd xmm0, qword [rsp + 0x80]
subsd xmm0, qword [rsp + 0x2c8]
call fcn.1400350dc
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x54], xmm0
movss xmm0, dword [rsp + 0x54]
mulss xmm0, dword [0x140048354]
movss dword [rsp + 0x50], xmm0
movzx eax, byte [0x140048370]
test eax, eax
je 0x140031983
mov rcx, qword [rsp + 0x70]
call fcn.1400322e4
movzx eax, al
test eax, eax
je 0x140031181
movzx eax, byte [0x14004a848]
test eax, eax
je 0x140030d07
movss xmm0, dword [0x1400483a8]
movss dword [rsp + 0xf0], xmm0
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483b0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483b0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483b0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0xec], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0xec]
mov ecx, eax
call fcn.140033b4c
mov dword [rsp + 0xf4], eax
cvtsd2ss xmm0, qword [rsp + 0x80]
movss xmm1, dword [rsp + 0x50]
divss xmm1, dword [0x14003ca34]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x78]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movss dword [rsp + 0xf8], xmm1
movss xmm2, dword [rsp + 0xf0]
movss dword [rsp + 0x28], xmm2
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x20], eax
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x50]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0xf8]
call fcn.140036e68
movzx eax, byte [0x14004a849]
test eax, eax
je 0x140030e3b
cvttss2si eax, dword [0x1400483a8]
mov dword [rsp + 0x100], eax
lea rax, [rsp + 0x660]
mov qword [rsp + 0x260], rax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483b0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483b0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483b0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0xfc], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0xfc]
mov ecx, eax
call fcn.140033b4c
mov edx, eax
mov rcx, qword [rsp + 0x260]
call fcn.14002d478
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x348], xmm0
movups xmm0, xmmword [rsp + 0x348]
movdqu xmmword [rsp + 0x360], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x100]
mov dword [rsp + 0x28], esi
lea rsi, [rsp + 0x360]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.14002f47c
movzx eax, byte [0x14004a84a]
test eax, eax
je 0x140030fcc
movss xmm0, dword [0x1400483a8]
movss dword [rsp + 0x108], xmm0
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483b0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483b0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483b0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x104], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x104]
mov ecx, eax
call fcn.140033b4c
mov dword [rsp + 0x10c], eax
cvtsd2ss xmm0, qword [rsp + 0x80]
movss xmm1, dword [rsp + 0x50]
divss xmm1, dword [0x14003ca34]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x78]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movss dword [rsp + 0x110], xmm1
movss xmm2, dword [rsp + 0x108]
movss dword [rsp + 0x28], xmm2
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x50]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x110]
call fcn.140036e68
mov dword [rsp + 0x20], 0x64
xor r9d, r9d
mov r8d, 0x64
mov edx, 0x64
lea rcx, [rsp + 0x670]
call fcn.14002d3e4
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x370], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
lea rsi, [rsp + 0x370]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140036fa8
movzx eax, byte [0x14004a84b]
test eax, eax
je 0x140031181
cvttss2si eax, dword [0x1400483a8]
mov dword [rsp + 0x118], eax
lea rax, [rsp + 0x680]
mov qword [rsp + 0x268], rax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483b0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483b0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483b0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x114], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x114]
mov ecx, eax
call fcn.140033b4c
mov edx, eax
mov rcx, qword [rsp + 0x268]
call fcn.14002d478
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x380], xmm0
movups xmm0, xmmword [rsp + 0x380]
movdqu xmmword [rsp + 0x390], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x118]
mov dword [rsp + 0x28], esi
lea rsi, [rsp + 0x390]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.14002f47c
mov dword [rsp + 0x20], 0x64
xor r9d, r9d
mov r8d, 0x64
mov edx, 0x64
lea rcx, [rsp + 0x6d0]
call fcn.14002d3e4
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x3a0], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
lea rsi, [rsp + 0x3a0]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140036fa8
mov rcx, qword [rsp + 0x70]
call fcn.1400322e4
movzx eax, al
test eax, eax
jne 0x140031720
movzx eax, byte [0x14004a848]
test eax, eax
je 0x1400312a6
movss xmm0, dword [0x1400483a8]
movss dword [rsp + 0x120], xmm0
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483c0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483c0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483c0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x11c], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x11c]
mov ecx, eax
call fcn.140033b4c
mov dword [rsp + 0x124], eax
cvtsd2ss xmm0, qword [rsp + 0x80]
movss xmm1, dword [rsp + 0x50]
divss xmm1, dword [0x14003ca34]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x78]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movss dword [rsp + 0x128], xmm1
movss xmm2, dword [rsp + 0x120]
movss dword [rsp + 0x28], xmm2
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0x20], eax
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x50]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x128]
call fcn.140036e68
movzx eax, byte [0x14004a849]
test eax, eax
je 0x1400313da
cvttss2si eax, dword [0x1400483a8]
mov dword [rsp + 0x130], eax
lea rax, [rsp + 0x690]
mov qword [rsp + 0x270], rax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483c0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483c0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483c0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x12c], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x12c]
mov ecx, eax
call fcn.140033b4c
mov edx, eax
mov rcx, qword [rsp + 0x270]
call fcn.14002d478
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x3b0], xmm0
movups xmm0, xmmword [rsp + 0x3b0]
movdqu xmmword [rsp + 0x3c0], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x130]
mov dword [rsp + 0x28], esi
lea rsi, [rsp + 0x3c0]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.14002f47c
movzx eax, byte [0x14004a84a]
test eax, eax
je 0x14003156b
movss xmm0, dword [0x1400483a8]
movss dword [rsp + 0x138], xmm0
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483c0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483c0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483c0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x134], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x134]
mov ecx, eax
call fcn.140033b4c
mov dword [rsp + 0x13c], eax
cvtsd2ss xmm0, qword [rsp + 0x80]
movss xmm1, dword [rsp + 0x50]
divss xmm1, dword [0x14003ca34]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x78]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movss dword [rsp + 0x140], xmm1
movss xmm2, dword [rsp + 0x138]
movss dword [rsp + 0x28], xmm2
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x20], eax
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x50]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x140]
call fcn.140036e68
mov dword [rsp + 0x20], 0x64
xor r9d, r9d
mov r8d, 0x64
mov edx, 0x64
lea rcx, [rsp + 0x6b0]
call fcn.14002d3e4
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x3d0], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
lea rsi, [rsp + 0x3d0]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140036fa8
movzx eax, byte [0x14004a84b]
test eax, eax
je 0x140031720
cvttss2si eax, dword [0x1400483a8]
mov dword [rsp + 0x148], eax
lea rax, [rsp + 0x6a0]
mov qword [rsp + 0x278], rax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x1400483c0]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [0x14003ca64]
cvttss2si eax, xmm0
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x1400483c0]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [0x14003ca64]
cvttss2si ecx, xmm0
mov edx, 4
imul rdx, rdx, 0
lea rdi, [0x1400483c0]
movss xmm0, dword [rdi + rdx]
mulss xmm0, dword [0x14003ca64]
cvttss2si edx, xmm0
mov dword [rsp + 0x144], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x144]
mov ecx, eax
call fcn.140033b4c
mov edx, eax
mov rcx, qword [rsp + 0x278]
call fcn.14002d478
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x3e0], xmm0
movups xmm0, xmmword [rsp + 0x3e0]
movdqu xmmword [rsp + 0x3f0], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x148]
mov dword [rsp + 0x28], esi
lea rsi, [rsp + 0x3f0]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.14002f47c
mov dword [rsp + 0x20], 0x64
xor r9d, r9d
mov r8d, 0x64
mov edx, 0x64
lea rcx, [rsp + 0x6c0]
call fcn.14002d3e4
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x400], xmm0
cvttss2si eax, dword [rsp + 0x54]
cvttss2si ecx, dword [rsp + 0x50]
cvttsd2si edx, qword [rsp + 0x80]
movss xmm0, dword [rsp + 0x50]
divss xmm0, dword [0x14003ca34]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
lea rsi, [rsp + 0x400]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140036fa8
movzx eax, byte [0x140049dcc]
test eax, eax
je 0x140031735
mov rcx, qword [rsp + 0x70]
call fcn.1400383ec
movzx eax, byte [0x140048372]
test eax, eax
je 0x1400318db
call fcn.1400089d0
cvtss2sd xmm0, dword [rax + 0x3ac]
movaps xmm2, xmm0
movq r8, xmm2
lea rdx, str.niggaman_1337_____.3f_n
lea rcx, [rsp + 0x710]
call fcn.140039e58
movss xmm0, dword [0x14004285c]
movss dword [rsp + 0x150], xmm0
movss xmm2, dword [0x14003ca50]
movss xmm1, dword [0x14004285c]
lea rcx, [rsp + 0x280]
call fcn.14002d5a8
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rsp + 0x6e0]
call fcn.14002d3e4
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
mov r8d, 0xff
xor edx, edx
lea rcx, [rsp + 0x6f0]
call fcn.14002d3e4
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rsp + 0x700]
call fcn.14002d3e4
movss xmm0, dword [0x14003ca84]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x710]
lea rcx, [rsp + 0x308]
call fcn.140006420
movss xmm0, dword [rax]
movss dword [rsp + 0x1dc], xmm0
call fcn.140008d24
mov qword [rsp + 0x290], rax
call fcn.1400088c0
cdq
mov ecx, 0x3c
idiv ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
cdqe
imul rax, rax, 0x10
lea rax, [rsp + rax + 0x6e0]
mov rcx, rax
call fcn.14002e2d4
mov dword [rsp + 0x14c], eax
call fcn.1400088b0
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
lea rax, [rsp + 0x710]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x14c]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x280]
movss xmm2, dword [rsp + 0x150]
mov rdx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x290]
call fcn.140013444
movzx eax, byte [0x140049d9d]
test eax, eax
je 0x140031983
mov rax, qword [0x140048318]
mov rcx, qword [0x140048200]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a940
movss dword [rsp + 0x158], xmm0
mov rax, qword [0x140048320]
mov rcx, qword [0x140048200]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [0x140049f48]
call fcn.14002a940
movss dword [rsp + 0x154], xmm0
movss xmm0, dword [rsp + 0x154]
addss xmm0, dword [0x140042714]
comiss xmm0, dword [rsp + 0x158]
jb 0x14003196a
mov dword [rsp + 0xb4], 1
jmp 0x140031975
mov dword [rsp + 0xb4], 0
mov al, byte [rsp + 0xb4]
mov byte [rsp + 0x90], al
mov eax, dword [0x140049efc]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f0]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a0], xmm0
mov eax, dword [0x140049f00]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f8]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a8], xmm0
movsd xmm0, qword [rsp + 0x1a0]
mulsd xmm0, qword [rsp + 0x1a0]
movsd xmm1, qword [rsp + 0x1a8]
mulsd xmm1, qword [rsp + 0x1a8]
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_sqrtf]
movss dword [rsp + 0x94], xmm0
mov rcx, qword [rsp + 0x70]
call fcn.1400322e4
movzx eax, al
test eax, eax
jne 0x140031a2a
movzx eax, byte [0x140049d9d]
test eax, eax
jne 0x140031a71
movss xmm0, dword [0x140048368]
comiss xmm0, dword [rsp + 0x94]
jbe 0x140031a71
movss xmm0, dword [rsp + 0xb8]
comiss xmm0, dword [rsp + 0x94]
jbe 0x140031a71
movss xmm0, dword [rsp + 0x94]
movss dword [rsp + 0xb8], xmm0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x168], rax
lea rcx, [rsp + 0x2f0]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x5d0]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x5e8]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x78]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x2c0]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x440]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x600]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x418]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x618]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x2d8]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x630]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x178]
call fcn.140029bd0
nop
lea rcx, [rsp + 0x2a8]
call fcn.14002dbbc
jmp 0x14003056d
movzx eax, byte [0x140049dad]
test eax, eax
je 0x140031b68
movzx eax, byte [0x140049dad]
test eax, eax
je 0x140031b68
cmp qword [rsp + 0x168], 0
je 0x140031b68
mov ecx, dword [0x140049d44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jge 0x140031b68
mov rcx, qword [rsp + 0x168]
call fcn.14002f178
nop
lea rcx, [rsp + 0x648]
call fcn.14002dbbc
mov rcx, qword [rsp + 0x750]
xor rcx, rsp
call fcn.14003a400
add rsp, 0x768
pop rdi
pop rsi
ret