Function at 0x180073890
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rdi
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x18019d440]
xor rax, rsp
mov qword [rbp - 0x30], rax
cmp byte [0x1801e4e3d], 0
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], r12
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x68], xmm10
movaps xmmword [r11 - 0x78], xmm11
movaps xmmword [r11 - 0x88], xmm12
movaps xmmword [r11 - 0x98], xmm13
movaps xmmword [r11 - 0xa8], xmm14
je 0x18007391a
call fcn.180033370
call fcn.180033370
mov edx, 1
mov dword [rsp + 0x28], 1
mov r9d, edx
mov dword [rsp + 0x20], 1
mov r8d, edx
mov ecx, eax
call fcn.180044ed0
jmp 0x18007391f
call fcn.180033370
movzx ebx, byte [0x1801e4dd0]
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a170
test eax, eax
jne 0x180073954
call fcn.180033370
xor r8d, r8d
mov ecx, eax
test bl, bl
je 0x18007394a
xor edx, edx
jmp 0x18007394f
mov edx, 1
call fcn.1800450c0
cmp byte [0x1801e4e7d], 0
je 0x1800739a8
call fcn.1800463a0
movsxd rcx, eax
mov rax, qword [0x1801de980]
imul rdx, rcx, 0x1cf
add rdx, 0x288e7b
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
and ecx, 0x3f
mov rcx, qword [rax + rcx*8]
mov byte [rcx + rdx*8], 1
call fcn.18006f110
mov rcx, qword [0x1801de980]
mov rdx, qword [rcx + 0x50]
mov dword [rdx + 0x63e28], eax
cvttss2si ebx, dword [0x1801a7574]
call fcn.180033370
mov edx, ebx
mov ecx, eax
call fcn.180045180
cmp byte [0x1801e4dea], 0
je 0x1800739e9
mov ebx, dword [0x1801e60f0]
add ebx, 0xc
mov dword [0x1801e60f0], ebx
call fcn.180033370
movd xmm1, ebx
mov ecx, eax
cvtdq2ps xmm1, xmm1
call fcn.180044d70
cmp byte [0x1801e4e61], 0
xorps xmm14, xmm14
je 0x180073a22
call fcn.18006f870
call fcn.1800463a0
mov ecx, eax
xor edx, edx
call fcn.18006f7b0
call fcn.1800463a0
mov ecx, eax
call fcn.18006f820
xorps xmm0, xmm0
movss dword [0x1801e4d60], xmm0
jmp 0x180073a2a
movss xmm0, dword [0x1801e4d60]
cvttss2si ebx, xmm0
call fcn.1800463a0
mov edx, ebx
mov ecx, eax
call fcn.18006f7b0
call fcn.1800463a0
mov ecx, eax
call fcn.18006f820
cvttss2si ecx, dword [0x1801e4dec]
call fcn.18006efb0
xor edi, edi
cmp byte [0x1801e4dce], dil
mov ebx, edi
sete bl
call fcn.180033370
mov ecx, eax
mov edx, ebx
call fcn.18006f760
call fcn.180033370
mov ecx, eax
mov edx, ebx
call fcn.1800460c0
cmp byte [0x1801e4df8], dil
mov ebx, edi
setne bl
call fcn.180033370
mov ecx, eax
mov edx, ebx
call fcn.18006f610
cmp byte [0x1801e4e59], dil
mov ebx, edi
setne bl
call fcn.180033370
mov ecx, eax
lea edx, [rdi + 0x21]
mov r8d, ebx
call fcn.18006f660
cmp byte [0x1801e4d5c], dil
mov ecx, edi
setne cl
call fcn.18006e420
cmp byte [0x1801e4dbc], dil
mov ecx, edi
setne cl
call fcn.18006e3e0
cmp byte [0x1801e4e7c], dil
movss xmm12, dword [0x1801896b8]
movss xmm13, dword [0x180189648]
je 0x180073b84
lea rcx, str.core
call fcn.18006fa30
lea rcx, str.core
call fcn.18006e870
call fcn.180033370
movss xmm1, dword [0x180189768]
lea rcx, str.ent_sht_flame
movss xmm0, dword [0x1801897e0]
mov edx, eax
movss xmm2, dword [0x1801895b8]
movaps xmm3, xmm13
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], 1
movss dword [rsp + 0x48], xmm12
mov dword [rsp + 0x40], 0x796e
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm14
call fcn.18006e5f0
call fcn.18006fa00
cmp byte [0x1801e4e03], dil
je 0x180073b97
movss xmm0, dword [0x180189698]
jmp 0x180073baa
cmp byte [0x1801e4e60], dil
je 0x180073ba6
movaps xmm0, xmm13
jmp 0x180073baa
movaps xmm0, xmm12
movaps xmmword [rsp + 0x150], xmm7
call fcn.18006ed70
cmp byte [0x1801e4dc9], dil
je 0x180073d1e
lea rcx, str.scr_rcpaparazzo1
call fcn.18006fa30
lea rcx, str.scr_rcpaparazzo1
call fcn.18006e870
movss xmm6, dword [0x1801a75cc]
call fcn.180033370
mov dword [rsp + 0x60], edi
lea rcx, str.scr_mich4_firework_sparkle_spawn
mov dword [rsp + 0x58], edi
xorps xmm3, xmm3
mov dword [rsp + 0x50], edi
xorps xmm2, xmm2
movss dword [rsp + 0x48], xmm6
mov edx, eax
mov dword [rsp + 0x40], 0x49d9
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm14
call fcn.18006e5f0
movss xmm7, dword [0x180189780]
movss xmm2, dword [0x1801e4e5c]
movss xmm1, dword [0x1801e4d68]
movss xmm0, dword [0x1801a7510]
divss xmm2, xmm7
divss xmm1, xmm7
divss xmm0, xmm7
call fcn.18006e7c0
movss xmm0, dword [0x1801a75c0]
divss xmm0, xmm7
call fcn.18006e830
lea rcx, str.scr_rcpaparazzo1
call fcn.18006fa30
lea rcx, str.scr_rcpaparazzo1
call fcn.18006e870
movss xmm6, dword [0x1801a75cc]
call fcn.180033370
mov dword [rsp + 0x60], edi
lea rcx, str.scr_mich4_firework_sparkle_spawn
mov dword [rsp + 0x58], edi
xorps xmm3, xmm3
mov dword [rsp + 0x50], edi
xorps xmm2, xmm2
movss dword [rsp + 0x48], xmm6
mov edx, eax
mov dword [rsp + 0x40], 0xdead
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm14
call fcn.18006e5f0
movss xmm2, dword [0x1801e4e5c]
movss xmm1, dword [0x1801e4d68]
movss xmm0, dword [0x1801a7510]
divss xmm2, xmm7
divss xmm1, xmm7
divss xmm0, xmm7
call fcn.18006e7c0
movss xmm0, dword [0x1801a75c0]
divss xmm0, xmm7
call fcn.18006e830
cmp byte [0x1801e4dd1], dil
lea r12, [0x180000000]
je 0x180073e18
cmp byte [0x1801e4d7d], dil
je 0x180073d60
movsxd r8, dword [0x1801e4df0]
mov r9d, 0x796e
mov rcx, qword [r12 + r8*8 + 0x189278]
mov r8, qword [r12 + r8*8 + 0x1891e0]
mov rdx, rcx
call fcn.180070180
cmp byte [0x1801e4e45], dil
je 0x180073d8e
movsxd r8, dword [0x1801e4df0]
mov r9d, 0xdead
mov rcx, qword [r12 + r8*8 + 0x189278]
mov r8, qword [r12 + r8*8 + 0x1891e0]
mov rdx, rcx
call fcn.180070180
cmp byte [0x1801e4e62], dil
je 0x180073dbc
movsxd r8, dword [0x1801e4df0]
mov r9d, 0x8cbd
mov rcx, qword [r12 + r8*8 + 0x189278]
mov r8, qword [r12 + r8*8 + 0x1891e0]
mov rdx, rcx
call fcn.180070180
cmp byte [0x1801e4de9], dil
je 0x180073dea
movsxd r8, dword [0x1801e4df0]
mov r9d, 0xcc4d
mov rcx, qword [r12 + r8*8 + 0x189278]
mov r8, qword [r12 + r8*8 + 0x1891e0]
mov rdx, rcx
call fcn.180070180
cmp byte [0x1801e4dc7], dil
je 0x180073e18
movsxd r8, dword [0x1801e4df0]
mov r9d, 0x3779
mov rcx, qword [r12 + r8*8 + 0x189278]
mov r8, qword [r12 + r8*8 + 0x1891e0]
mov rdx, rcx
call fcn.180070180
cmp byte [0x1801e4d5d], dil
je 0x180073f8e
call fcn.180033370
mov ecx, eax
mov ebx, eax
call fcn.18006dc20
test eax, eax
je 0x180073f8e
xor r8d, r8d
mov ecx, ebx
lea edx, [r8 + 0x41]
call fcn.18006f660
xor r8d, r8d
mov ecx, ebx
lea edx, [r8 + 0x42]
call fcn.18006f660
xor r8d, r8d
mov edx, 0xa8
mov ecx, ebx
call fcn.18006f660
mov ecx, ebx
call fcn.18006f570
test eax, eax
je 0x180073ebd
movss xmm0, dword [0x1801896a0]
xorps xmm3, xmm3
mov dword [rsp + 0x68], 1
xorps xmm2, xmm2
mov dword [rsp + 0x60], edi
mov ecx, ebx
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm0
call fcn.180044670
mov ecx, ebx
call fcn.18006d9e0
comiss xmm0, dword [0x1801896bc]
jbe 0x180073f66
xor r8d, r8d
mov ecx, ebx
lea edx, [r8 + 0x3c]
call fcn.18006f660
xor r8d, r8d
mov ecx, ebx
lea edx, [r8 + 0x3d]
call fcn.18006f660
xor r8d, r8d
mov ecx, ebx
lea edx, [r8 + 0x68]
call fcn.18006f660
xor r8d, r8d
mov edx, 0x114
mov ecx, ebx
call fcn.18006f660
mov edx, Ordinal_79
mov ecx, ebx
lea r8d, [rdx - 0x4b]
call fcn.18006f660
movss xmm0, dword [0x1801897bc]
xorps xmm3, xmm3
mov dword [rsp + 0x68], 1
xorps xmm2, xmm2
mov dword [rsp + 0x60], edi
mov ecx, ebx
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm0
call fcn.180044670
mov ecx, ebx
call fcn.18006d7f0
test eax, eax
je 0x180073f8e
mov ecx, ebx
call fcn.18006f310
test eax, eax
je 0x180073f8e
mov ecx, ebx
call fcn.18006f5c0
test eax, eax
je 0x180073f8e
mov ecx, ebx
call fcn.180044300
movaps xmmword [rsp + 0x130], xmm9
call fcn.180070230
cmp byte [0x1801e4dc5], dil
movss xmm8, dword [0x1801896e8]
je 0x180074185
call fcn.180033370
mov edx, eax
lea rcx, [rbp - 0x70]
mov r8d, 1
call fcn.180039830
movss xmm10, dword [0x1801897d8]
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movups xmm11, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmm9, xmm11
movsd qword [rbp - 0x60], xmm0
shufps xmm9, xmm11, 0xaa
movaps xmm0, xmm11
movaps xmm1, xmm9
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm7, xmm11
addss xmm7, xmm8
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm6, xmm9
addss xmm6, xmm8
movaps xmm2, xmm10
movaps xmm0, xmm11
movaps xmm1, xmm6
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm8, xmm11
addss xmm8, dword [0x180189730]
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm7, xmm9
addss xmm7, dword [0x180189730]
movaps xmm2, xmm10
movaps xmm0, xmm11
movaps xmm1, xmm7
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm8, xmm11
addss xmm8, dword [0x180189738]
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm7, xmm9
addss xmm7, dword [0x180189738]
movaps xmm2, xmm10
movaps xmm0, xmm11
movaps xmm1, xmm7
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm7, xmm11
addss xmm7, dword [0x180189740]
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.18006feb0
addss xmm9, dword [0x180189740]
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm11
call fcn.18006feb0
movss xmm3, dword [0x180189748]
movaps xmm2, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.18006feb0
movss xmm8, dword [0x1801896e8]
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
movzx r8d, byte [0x1801e4de6]
xor edx, edx
mov ecx, eax
mov ebx, eax
call fcn.180046880
movzx r8d, byte [0x1801e4e44]
mov edx, 1
mov ecx, ebx
call fcn.180046880
movzx r8d, byte [0x1801e4d64]
mov edx, 2
mov ecx, ebx
call fcn.180046880
movzx r8d, byte [0x1801e4e4e]
mov edx, 3
mov ecx, ebx
call fcn.180046880
call fcn.180070850
cmp byte [0x1801e4dda], dil
je 0x1800741fc
call fcn.1800463a0
mov ecx, eax
call fcn.18006f030
cmp byte [0x1801e4de4], dil
je 0x180074211
call fcn.1800463a0
mov ecx, eax
call fcn.18006f030
cmp byte [0x1801e4e01], dil
je 0x180074284
call fcn.1800463a0
mov ecx, eax
call fcn.18006f030
call fcn.180033370
mov ecx, eax
call fcn.18006f570
test eax, eax
je 0x180074284
call fcn.180033370
mov ecx, eax
call fcn.18006dbd0
test eax, eax
je 0x180074284
sub dword [0x1801e60f8], 0xa
call fcn.180033370
mov ecx, eax
call fcn.180044510
movd xmm7, dword [0x1801e60f8]
movaps xmm6, xmm0
cvtdq2ps xmm7, xmm7
call fcn.180033370
mov dword [rsp + 0x28], edi
mov ecx, eax
mov dword [rsp + 0x20], edi
movaps xmm3, xmm6
xorps xmm2, xmm2
movaps xmm1, xmm7
call fcn.180044ff0
cmp byte [0x1801e4dd8], dil
je 0x180074297
movss xmm6, dword [0x1801a7570]
jmp 0x18007429b
movaps xmm6, xmm12
mov qword [rsp + 0x198], rsi
call fcn.1800463a0
mov ecx, eax
movaps xmm1, xmm6
call fcn.18006f960
cmp byte [0x1801e4dd9], dil
je 0x1800743a7
mov ecx, dword [0x1801a8f94]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1801e60ec], ecx
jle 0x18007430f
lea rcx, [0x1801e60ec]
call fcn.1800d0994
cmp dword [0x1801e60ec], 0xffffffff
jne 0x18007430f
lea rcx, [0x1800dd910]
call fcn.1800d06e4
lea rcx, [0x1801e60ec]
call fcn.1800d0928
call fcn.180033370
mov ecx, eax
lea rdx, [rbp - 0x48]
call fcn.180070060
mov rdx, qword [0x1801e5e98]
cmp rdx, qword [0x1801e5ea0]
je 0x180074354
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp - 0x38]
movsd qword [rdx + 0x10], xmm1
mov rsi, qword [0x1801e5e98]
add rsi, 0x18
mov qword [0x1801e5e98], rsi
jmp 0x180074364
lea r8, [rbp - 0x48]
call fcn.1800752c0
mov rsi, qword [0x1801e5e98]
mov rbx, qword [0x1801e5e90]
cmp rbx, rsi
je 0x1800743a7
movups xmm0, xmmword [rbx]
lea rcx, [rbp - 0x70]
mov r9d, dword [0x1801a7520]
movsd xmm1, qword [rbx + 0x10]
mov r8d, dword [0x1801a751c]
mov edx, dword [0x1801a7518]
movaps xmmword [rbp - 0x70], xmm0
movsd qword [rbp - 0x60], xmm1
call fcn.18006e2c0
add rbx, 0x18
cmp rbx, rsi
jne 0x180074370
cmp byte [0x1801e4e75], dil
je 0x18007440c
call fcn.180033370
mov ecx, eax
lea rdx, [rbp - 0x48]
call fcn.180070060
test eax, eax
je 0x18007440c
mov ecx, 0x9ca6f755
call fcn.1800419c0
cvttss2si eax, dword [0x1801e4df4]
mov ecx, 0x1e9a99f8
mov dword [rsp + 0x30], 0x9ca6f755
movss xmm3, dword [rbp - 0x38]
movss xmm2, dword [rbp - 0x40]
addss xmm3, xmm8
movss xmm1, dword [rbp - 0x48]
mov dword [rsp + 0x28], eax
call fcn.180045a70
lea rcx, [rbp - 0x50]
mov dword [rbp - 0x50], eax
call fcn.180044b40
cmp byte [0x1801e4e4f], dil
je 0x1800744ac
call fcn.180033370
mov r8d, 1
lea rcx, [rbp - 0x70]
mov edx, eax
mov ebx, eax
call fcn.180039830
mov ecx, ebx
movups xmm1, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movss dword [rsp + 0x30], xmm3
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x20], xmm1
movsd qword [rbp - 0x80], xmm3
call fcn.18006f3e0
test eax, eax
je 0x1800744ac
lea rdx, [rbp - 0x48]
mov ecx, ebx
call fcn.180070060
test eax, eax
je 0x1800744ac
movss xmm0, dword [0x180189748]
mov r9d, reloc.WS2_32.dll_listen
movss xmm2, dword [rbp - 0x38]
movss xmm1, dword [rbp - 0x40]
mov dword [rsp + 0x40], edi
movss dword [rsp + 0x38], xmm14
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rbp - 0x48]
call fcn.1800451f0
cmp byte [0x1801e4e50], dil
je 0x18007451d
call fcn.180033370
mov ecx, eax
call fcn.18006f6d0
test eax, eax
je 0x18007450a
movss xmm0, dword [0x180189674]
call fcn.18006ed70
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x1800744fe
movaps xmm0, xmm13
call fcn.18006ed70
lea rcx, str.Death
call fcn.180045370
call fcn.18006e8e0
jmp 0x18007451d
call fcn.18006e8b0
call fcn.18006e8e0
jmp 0x18007451d
movaps xmm0, xmm12
call fcn.18006ed70
call fcn.18006e8b0
call fcn.18006e960
cmp byte [0x1801e4dc8], dil
je 0x1800745af
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x170], r15
call fcn.180033370
mov r15d, eax
lea rsi, str.WEAPON_KNIFE
mov r14d, edi
nop dword [rax]
mov rcx, qword [rsi]
call fcn.1800454f0
mov edx, eax
mov ecx, r15d
call fcn.18006ffe0
test eax, eax
je 0x180074592
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
and ebx, 0x80000007
jge 0x18007457d
dec ebx
or ebx, 0xfffffff8
inc ebx
mov rcx, qword [rsi]
call fcn.1800454f0
mov r8d, ebx
mov edx, eax
mov ecx, r15d
call fcn.180047db0
inc r14d
add rsi, 8
cmp r14d, 0x39
jb 0x180074550
mov r15, qword [rsp + 0x170]
mov r14, qword [rsp + 0x1a8]
cmp byte [0x1801e4dc6], dil
movss xmm11, dword [0x180189950]
movss xmm10, dword [0x1801895b4]
mov rsi, qword [rsp + 0x198]
je 0x18007471d
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.18002ad80
xorps xmm8, xmm8
xorps xmm7, xmm7
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mulss xmm0, xmm10
movsd qword [rbp - 0x80], xmm1
mulss xmm1, xmm10
cvtss2sd xmm8, xmm0
cvtss2sd xmm7, xmm1
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
andps xmm1, xmm11
cvtps2pd xmm6, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180189980]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm9, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm8
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm7, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
call fcn.1800463a0
mov ecx, eax
lea rdx, [rbp - 0x50]
call fcn.18006f900
test eax, eax
je 0x18007471d
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x18007471d
mov ecx, dword [rbp - 0x50]
call fcn.18006db80
test eax, eax
je 0x1800746c8
mov ecx, dword [rbp - 0x50]
mov edx, 1
call fcn.18003a170
test eax, eax
je 0x1800746c8
mov ecx, dword [rbp - 0x50]
xor edx, edx
call fcn.18003a1d0
mov dword [rbp - 0x50], eax
jmp 0x1800746cb
mov eax, dword [rbp - 0x50]
movss xmm0, dword [0x1801897a8]
mov ecx, eax
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], edi
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
mulss xmm7, xmm0
mulss xmm9, xmm0
mulss xmm6, xmm0
movaps xmm3, xmm7
movss dword [rsp + 0x28], xmm14
movaps xmm2, xmm9
movss dword [rsp + 0x20], xmm6
call fcn.180044670
call fcn.180071170
call fcn.180071cf0
call fcn.180071e80
call fcn.180072450
cmp byte [0x1801e4e6d], dil
je 0x180074785
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x180074785
call fcn.180033370
mov ecx, eax
lea rdx, [rbp - 0x48]
call fcn.180070060
test eax, eax
je 0x180074785
call fcn.180033370
movss xmm3, dword [rbp - 0x38]
mov ecx, eax
movss xmm2, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x48]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call fcn.180044b80
movzx ebx, byte [0x1801e4e7e]
call fcn.1800463a0
mov ecx, eax
call fcn.18006f8b0
test eax, eax
je 0x1800748e9
test bl, bl
je 0x1800748e9
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.18002ad80
xorps xmm12, xmm12
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mulss xmm0, xmm10
movsd qword [rbp - 0x80], xmm1
mulss xmm1, xmm10
xorps xmm10, xmm10
cvtss2sd xmm12, xmm0
cvtss2sd xmm10, xmm1
movaps xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
andps xmm1, xmm11
cvtps2pd xmm6, xmm1
call fcn.180033370
mov ecx, eax
call fcn.18006ff80
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, 1
call fcn.180039830
lea rcx, [rsp + 0x70]
movups xmm13, xmmword [rax]
movsd xmm11, qword [rax + 0x10]
call fcn.18006d860
movaps xmm0, xmm10
movups xmm7, xmmword [rax]
movsd xmm8, qword [rax + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm10
xorps xmm1, xmmword [0x180189980]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm9, xmm2
addss xmm9, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm7, xmm7, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm12
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm6, xmm2
addss xmm6, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
cvttss2si eax, dword [0x1801a75b4]
cvttss2si ecx, dword [0x1801a7608]
mov dword [rsp + 0x40], eax
cvttss2si edx, dword [0x1801a7690]
mov dword [rsp + 0x38], ecx
xorps xmm1, xmm1
movsd qword [rbp - 0x80], xmm8
cvtsd2ss xmm1, xmm0
mov dword [rsp + 0x30], edx
movaps xmm3, xmm9
movsd qword [rbp - 0x80], xmm11
addss xmm1, xmm8
movaps xmm2, xmm11
movaps xmm0, xmm13
movss dword [rsp + 0x28], xmm1
movaps xmm1, xmm13
shufps xmm1, xmm13, 0xaa
movss dword [rsp + 0x20], xmm6
call fcn.18006e050
cmp byte [0x1801e4dc4], dil
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
je 0x1800749bb
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x1800749bb
call fcn.1800463a0
mov ecx, eax
lea rdx, [rbp - 0x50]
call fcn.18006f900
test eax, eax
je 0x1800749bb
mov ecx, dword [rbp - 0x50]
call fcn.1800397e0
test eax, eax
je 0x1800749bb
mov ecx, dword [rbp - 0x50]
call fcn.1800456c0
test eax, eax
je 0x1800749bb
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x1800749bb
mov ecx, dword [rbp - 0x50]
call fcn.18006dd20
mov ecx, dword [rbp - 0x50]
movaps xmm3, xmm14
mov dword [rsp + 0x30], edi
movaps xmm2, xmm14
mov dword [rsp + 0x28], edi
movaps xmm1, xmm14
mov dword [rsp + 0x20], edi
call fcn.180044c80
mov ecx, dword [rbp - 0x50]
xor edx, edx
call fcn.180044ad0
lea rcx, [rbp - 0x50]
call fcn.180044a40
cmp byte [0x1801e4d50], dil
je 0x180074a65
call fcn.180033370
mov ecx, eax
call fcn.18006f520
test eax, eax
je 0x180074a65
call fcn.180033370
mov ecx, eax
lea rdx, [rbp - 0x48]
call fcn.180070060
test eax, eax
je 0x180074a65
lea rcx, str.WEAPON_VEHICLE_ROCKET
call fcn.1800454f0
mov ecx, eax
mov ebx, eax
call fcn.180070130
test eax, eax
jne 0x180074a10
mov ecx, ebx
call fcn.1800700c0
call fcn.180033370
movss xmm1, dword [rbp - 0x38]
movss xmm0, dword [0x180189798]
movaps xmm2, xmm1
addss xmm2, dword [0x180189754]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rbp - 0x48]
mov dword [rsp + 0x58], edi
movaps xmm3, xmm0
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [rbp - 0x40]
movss dword [rsp + 0x20], xmm1
call fcn.18006ee00
movsxd rdx, dword [0x1801e4d80]
mov rdx, qword [r12 + rdx*8 + 0x1a7630]
call fcn.180072690
cmp byte [0x1801e4e7f], dil
je 0x180074aab
call fcn.1800463a0
mov ecx, eax
call fcn.18006eff0
call fcn.180033370
mov ecx, eax
call fcn.18006eff0
mov ecx, 0xffffffff
call fcn.180046310
mov ecx, eax
call fcn.18006eff0
cmp byte [0x1801e4e8d], dil
je 0x180074b0e
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
call fcn.18006fd70
test eax, eax
je 0x180074ae2
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
call fcn.180047530
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
call fcn.18006fd10
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
xor edx, edx
call fcn.180046f40
cmp byte [0x1801e4e63], dil
je 0x180074bbf
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
mov ebx, eax
call fcn.18006da30
mov ecx, ebx
movaps xmm6, xmm0
call fcn.18006dc70
test eax, eax
je 0x180074bbf
comiss xmm6, dword [0x180189778]
ja 0x180074b56
movss xmm1, dword [0x1801897e4]
comiss xmm1, xmm6
jbe 0x180074bbf
mov ecx, ebx
call fcn.18006dbd0
test eax, eax
jne 0x180074bbf
mov ecx, ebx
call fcn.18006dc20
test eax, eax
jne 0x180074bbf
mov ecx, ebx
call fcn.18006fc70
test eax, eax
jne 0x180074bbf
mov ecx, ebx
call fcn.18006fcc0
test eax, eax
jne 0x180074bbf
mov edx, ebx
call fcn.18007aa00
mov r8d, 2
lea rcx, [rsp + 0x70]
mov edx, ebx
call fcn.18006da80
mov dword [rsp + 0x28], 1
movaps xmm2, xmm14
movaps xmm1, xmm14
mov dword [rsp + 0x20], 2
mov ecx, ebx
movsd xmm3, qword [rax + 0x10]
call fcn.180044ff0
cmp byte [0x1801e4d51], dil
je 0x180074c04
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180074bed
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, 1
jmp 0x180074bfd
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
xor edx, edx
mov ecx, eax
call fcn.18006fdc0
call fcn.180072ae0
cmp byte [0x1801e4d6c], dil
je 0x180074c2f
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, 1
mov ecx, eax
mov r9d, edx
call fcn.1800472e0
cmp byte [0x1801e4e64], dil
je 0x180074c61
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a170
test eax, eax
je 0x180074c61
call fcn.180033370
mov ecx, eax
call fcn.180045f30
mov ecx, eax
movaps xmm1, xmm14
call fcn.180046aa0
cmp byte [0x1801e4e74], dil
je 0x180074cfd
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a170
test eax, eax
je 0x180074cfd
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
call fcn.1800456c0
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, 2
call fcn.18006da80
xorps xmm0, xmm0
movsd xmm1, qword [rax + 0x10]
cvtss2sd xmm0, xmm1
addsd xmm0, qword [0x1801896f0]
cvtpd2ps xmm6, xmm0
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
movaps xmm3, xmm6
movaps xmm2, xmm14
movaps xmm1, xmm14
call fcn.180044ff0
cmp byte [0x1801e4d7c], dil
je 0x180074d35
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a170
test eax, eax
je 0x180074d35
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, 1
mov ecx, eax
mov r9d, edx
call fcn.1800472e0
cmp byte [0x1801e4dcb], dil
je 0x180074dbb
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
call fcn.1800456c0
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, reloc.WS2_32.dll_sendto
call fcn.18006da80
xorps xmm0, xmm0
movsd xmm1, qword [rax + 0x10]
cvtss2sd xmm0, xmm1
addsd xmm0, qword [0x180189718]
cvtpd2ps xmm6, xmm0
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], reloc.WS2_32.dll_sendto
movaps xmm3, xmm6
movaps xmm2, xmm14
movaps xmm1, xmm14
call fcn.180044ff0
cmp byte [0x1801e4e84], dil
je 0x180074e78
cmp byte [0x1801e4e8f], dil
je 0x180074df4
movsxd rcx, dword [0x1801e4d78]
lea r8, str.wheel_rf
mov rdx, qword [r12 + rcx*8 + 0x189218]
mov rcx, qword [r12 + rcx*8 + 0x189248]
call fcn.180072dc0
cmp byte [0x1801e5ea9], dil
je 0x180074e20
movsxd rcx, dword [0x1801e4d78]
lea r8, str.wheel_lf
mov rdx, qword [r12 + rcx*8 + 0x189218]
mov rcx, qword [r12 + rcx*8 + 0x189248]
call fcn.180072dc0
cmp byte [0x1801e4d5a], dil
je 0x180074e4c
movsxd rcx, dword [0x1801e4d78]
lea r8, str.wheel_rr
mov rdx, qword [r12 + rcx*8 + 0x189218]
mov rcx, qword [r12 + rcx*8 + 0x189248]
call fcn.180072dc0
cmp byte [0x1801e5eb8], dil
je 0x180074e78
movsxd rcx, dword [0x1801e4d78]
lea r8, str.wheel_lr
mov rdx, qword [r12 + rcx*8 + 0x189218]
mov rcx, qword [r12 + rcx*8 + 0x189248]
call fcn.180072dc0
cmp byte [reloc.WS2_32.dll_accept], dil
mov r12, qword [rsp + 0x1a0]
je 0x180074ea6
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
movss xmm1, dword [0x1801897ac]
mov ecx, eax
call fcn.180044e30
movzx ebx, byte [reloc.WS2_32.dll_accept]
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov r8d, 1
mov edx, ebx
mov ecx, eax
call fcn.18006dd90
cmp byte [0x1801e5ea8], dil
je 0x180074eed
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ecx, eax
xor r8d, r8d
xor edx, edx
call fcn.1800450c0
cmp byte [0x1801e4d58], dil
movss xmm6, dword [0x1801a75f8]
je 0x180074f89
call fcn.180033370
mov ecx, eax
call fcn.180045f30
test eax, eax
je 0x180074f89
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
xor edx, edx
mov ecx, eax
mov ebx, eax
call fcn.180047be0
mov edx, 2
lea rcx, [rsp + 0x70]
call fcn.18002ad80
mov dword [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmm2, xmm1
movsd qword [rbp - 0x80], xmm0
shufps xmm2, xmm1, 0xaa
movaps xmm3, xmm0
call fcn.180044ff0
mov edx, 0x57
lea ecx, [rdx - 0x55]
call fcn.18002fc50
mov ecx, ebx
test eax, eax
je 0x180074f80
movaps xmm1, xmm6
jmp 0x180074f84
movaps xmm1, xmm14
call fcn.180046e00
cmp qword [0x1801e5eb0], rdi
je 0x180075096
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov ebx, eax
mov rax, qword [0x1801e5eb0]
sub rax, 1
je 0x18007500b
cmp rax, 1
jne 0x180075096
lea ecx, [rax + 0x1f]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180075096
call fcn.180033370
mov ecx, eax
mov edx, 1
call fcn.18003a170
test eax, eax
je 0x180075096
mov ecx, ebx
call fcn.18006d990
movaps xmm6, xmm0
mov ecx, ebx
addss xmm6, xmm14
call fcn.18006d940
movaps xmm2, xmm0
movss xmm0, dword [0x180189690]
jmp 0x180075050
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180075096
call fcn.180033370
mov ecx, eax
mov edx, 1
call fcn.18003a170
test eax, eax
je 0x180075096
mov ecx, ebx
call fcn.18006d990
movaps xmm6, xmm0
mov ecx, ebx
addss xmm6, xmm14
call fcn.18006d940
movaps xmm2, xmm0
movss xmm0, dword [0x180189748]
mov dword [rsp + 0x68], 1
addss xmm2, xmm14
mov dword [rsp + 0x60], 1
movaps xmm3, xmm6
mov dword [rsp + 0x48], edi
mov ecx, ebx
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm0
call fcn.180044670
cmp byte [0x1801e4dcd], dil
movaps xmm14, xmmword [rsp + 0xe0]
je 0x1800750cc
call fcn.180033370
mov ecx, eax
mov edx, 1
call fcn.180045f80
call fcn.180033370
xor r8d, r8d
mov ecx, eax
lea edx, [r8 + 0x20]
call fcn.18006f660
movzx eax, byte [0x1801e4e6c]
test al, al
je 0x1800750f0
mov ebx, eax
call fcn.180033370
mov ecx, eax
xor edx, edx
call fcn.18003a1d0
mov edx, ebx
mov ecx, eax
call fcn.18006def0
call fcn.180073220
cmp byte [0x1801e4e3c], dil
je 0x180075174
call fcn.180033370
mov ecx, eax
call fcn.1800397e0
test eax, eax
je 0x180075174
mov ecx, 0x9ca6f755
call fcn.1800419c0
call fcn.180033370
mov edx, eax
lea rcx, [rsp + 0x70]
xor r8d, r8d
call fcn.180039830
movss xmm6, dword [0x1801896e8]
mov ecx, 0x1e9a99f8
mov dword [rsp + 0x30], 0x9ca6f755
mov dword [rsp + 0x28], 0x9c4
movups xmm1, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movsd qword [rbp - 0x80], xmm3
movaps xmm2, xmm1
addss xmm3, xmm6
shufps xmm2, xmm1, 0xaa
call fcn.180045a70
lea rcx, [rbp - 0x50]
mov dword [rbp - 0x50], eax
call fcn.180044b40
jmp 0x18007517c
movss xmm6, dword [0x1801896e8]
cmp byte [0x1801e4de5], dil
je 0x1800751bd
call fcn.180033370
mov ecx, dword [0x1801e4d4c]
call fcn.18003a2d0
mov edx, eax
mov ebx, eax
call fcn.18006f150
call fcn.18006f070
mov edx, ebx
call fcn.18006ed10
call fcn.18006ecd0
mov ecx, eax
call fcn.18006eb90
mov ecx, ebx
call fcn.18006fac0
cmp byte [0x1801e4df9], dil
mov rbx, qword [rsp + 0x190]
je 0x180075219
call fcn.180033370
mov edx, eax
lea rcx, [rsp + 0x70]
xor r8d, r8d
call fcn.180039830
movd xmm1, dword [reloc.WS2_32.dll_sendto]
cvtdq2ps xmm1, xmm1
movups xmm0, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
movss dword [rsp + 0x38], xmm1
subss xmm2, xmm6
movss xmm1, dword [0x180189794]
movss dword [rsp + 0x30], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
call fcn.18006e1a0
cmp byte [0x1801e4dd2], dil
movaps xmm6, xmmword [rsp + 0x160]
je 0x18007522f
call fcn.18006f1b0
cmp byte [0x1801e4d6d], dil
setne dil
mov ecx, edi
call fcn.18006d900
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.1800d0330
add rsp, 0x178
pop rdi
pop rbp
ret