Function at 0x18002d040
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
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 [0x180041040]
xor rax, rsp
mov qword [rbp + 0x30], rax
xor r13d, r13d
mov r15d, r13d
mov dword [rbp - 0x20], r13d
cmp qword [0x180041c98], r13
je 0x18002e23d
mov rax, qword [0x180041c68]
mov qword [rax + 0x1d18], r13
mov qword [rax + 0x1d20], r13
mov dword [rax + 0x1d0c], 1
movd xmm1, dword [0x180041d8c]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x180041d88]
cvtdq2ps xmm0, xmm0
or dword [rax + 0x1d08], 3
movss dword [rax + 0x1d28], xmm0
movss dword [rax + 0x1d2c], xmm1
mov dword [rax + 0x1d10], 1
xor edx, edx
mov r8d, 0x287
lea rcx, str.Overlay
call fcn.18000b940
mov rdi, qword [0x180041d60]
mov rbx, qword [0x180041d58]
movss xmm13, dword [0x1800398dc]
cmp rbx, rdi
je 0x18002d24e
movaps xmm0, xmmword [0x180039a10]
movaps xmmword [rsp + 0x70], xmm0
movups xmm6, xmmword [rbx]
movups xmmword [rbp + 0x10], xmm6
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp + 0x20], xmm0
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x68], r13d
movsd xmm0, qword [rbp + 0x1c]
movsd qword [rbp - 0x20], xmm0
mov eax, dword [rbp + 0x24]
mov dword [rbp - 0x18], eax
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x20]
mov rcx, qword [0x180041db8]
call fcn.18002a090
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], r13d
movsd qword [rbp - 0x40], xmm6
psrldq xmm6, 8
movd dword [rbp - 0x38], xmm6
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x40]
mov rcx, qword [0x180041db8]
call fcn.18002a090
mov rcx, qword [0x180041c68]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r10, qword [rax + 0x268]
lea rcx, [rsp + 0x70]
call fcn.180003dd0
movss xmm0, dword [rsp + 0x60]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [rsp + 0x64]
movss dword [rbp - 0x5c], xmm1
movss xmm0, dword [rsp + 0x48]
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [rsp + 0x4c]
movss dword [rbp - 0x54], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.1800200d0
add rbx, 0x18
cmp rbx, rdi
jne 0x18002d160
cmp byte [0x180041c61], r13b
je 0x18002e238
lea rdx, [rbp + 0x10]
call fcn.18002a3a0
nop
mov r14, qword [rbp + 0x10]
mov r12, qword [rbp + 0x18]
movss xmm14, dword [0x18003992c]
movss xmm15, dword [0x180039914]
movss xmm12, dword [0x180039978]
cmp r14, r12
je 0x18002d6ee
movabs rsi, 0xfffffffffffe
movss xmm10, dword [0x180039984]
movss xmm11, dword [0x1800398d4]
movss xmm8, dword [0x1800398a8]
movss xmm9, dword [0x18003993c]
nop
mov rbx, qword [r14]
cmp rbx, qword [0x180041c98]
je 0x18002d6dd
mov rcx, qword [0x180041de8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd0]
call rdx
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
cmp rcx, rsi
ja 0x18002d300
mov rcx, rbx
call rdx
mov rdx, rax
jmp 0x18002d303
mov rdx, r13
mov rax, qword [rdi]
mov r8, qword [rax + 0x18]
mov rcx, rdi
call r8
mov rdi, rax
test rax, rax
je 0x18002d6dd
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x180]
mov rcx, rax
call rdx
test al, al
jne 0x18002d6dd
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.18002a7d0
nop
lea r8, str.Bip01_Head
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.18002a1b0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
movsd xmm0, qword [rbp - 0x40]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180041db8]
call fcn.18002a090
test al, al
jne 0x18002d3d4
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x18002d6dd
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002d3ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d735
call fcn.180031694
jmp 0x18002d6dd
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdi, [rax + 0x26a8]
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x18002d421
mov rcx, rbx
call rdx
jmp 0x18002d424
mov rax, r13
mov edx, eax
mov rcx, rsi
call rdi
lea rdx, [rsp + 0x60]
mov rcx, rbx
cmp eax, 2
jne 0x18002d4a0
movaps xmm0, xmmword [0x180039a10]
movaps xmmword [rsp + 0x60], xmm0
call fcn.18002c9e0
movaps xmm0, xmmword [0x180039a10]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, qword [0x180041c68]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r8, qword [rax + 0x268]
lea rcx, [rsp + 0x60]
call fcn.180003dd0
movss xmm6, dword [rsp + 0x48]
movss dword [rbp - 0x60], xmm6
movss xmm7, dword [rsp + 0x4c]
movss dword [rbp - 0x5c], xmm7
lea rdx, [rbp - 0x60]
jmp 0x18002d504
movaps xmm0, xmmword [0x180039a20]
movaps xmmword [rsp + 0x60], xmm0
call fcn.18002c9e0
movaps xmm0, xmmword [0x180039a20]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, qword [0x180041c68]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r8, qword [rax + 0x268]
lea rcx, [rsp + 0x60]
call fcn.180003dd0
movss xmm6, dword [rsp + 0x48]
movss dword [rbp - 0x58], xmm6
movss xmm7, dword [rsp + 0x4c]
movss dword [rbp - 0x54], xmm7
lea rdx, [rbp - 0x58]
movss dword [rsp + 0x28], xmm14
mov r9d, eax
movaps xmm2, xmm15
mov rcx, r8
call fcn.180020630
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
mov rdi, qword [rbp]
lea rsi, [rbp - 0x10]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
cmova rsi, rax
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x18002e2a2
cmp rdi, 0xf
ja 0x18002d572
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x18002d60c
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x18002d591
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18002d5b8
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18002d5da
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18002e2a8
mov rcx, rax
call fcn.180031650
mov rcx, rax
test rax, rax
je 0x18002d72e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18002d5e9
test rcx, rcx
je 0x18002d5e6
call fcn.180031650
jmp 0x18002d5e9
mov rax, r13
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 8]
mov rax, qword [rbp - 0x10]
lea rcx, [rbp - 0x10]
cmp rdx, 0xf
cmova rcx, rax
mov rax, qword [0x180041c68]
test rcx, rcx
jne 0x18002d629
xorps xmm0, xmm0
jmp 0x18002d670
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm12
movss xmm2, dword [rax + 0x1980]
lea rdx, [rbp - 0x20]
mov rcx, qword [rax + 0x1978]
call fcn.180023b40
movss xmm0, dword [rbp - 0x20]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
mulss xmm0, xmm8
subss xmm6, xmm0
subss xmm7, xmm9
mov dword [rsp + 0x20], 0xd
mov r9d, 0xffffffff
lea r8, [rbp - 0x80]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180031460
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x18002d6d3
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002d6ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d735
call fcn.180031694
movabs rsi, 0xfffffffffffe
add r14, 8
cmp r14, r12
jne 0x18002d2c0
mov r14, qword [rbp + 0x10]
test r14, r14
je 0x18002d744
mov rax, qword [rbp + 0x20]
sub rax, r14
sar rax, 3
lea rdx, [rax*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x18002d73c
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002d73c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r14
call fcn.180031694
cmp byte [0x180041c64], 0
je 0x18002da3e
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], r13
xor r8d, r8d
lea rdx, [0x1800347f0]
lea rcx, [rbp + 0x10]
call fcn.180030310
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x40]
mov rcx, qword [0x180041de0]
call fcn.18002a570
nop
mov rsi, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x60], rax
cmp rsi, rax
je 0x18002d976
nop dword [rax]
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov rdx, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xor ebx, ebx
mov qword [rbp], rbx
mov qword [rbp + 8], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], bl
jne 0x18002d7c3
lea rcx, [rbp - 0x10]
call fcn.180030310
or r15d, 0x10
or r15d, 1
mov dword [rbp - 0x20], r15d
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
seta byte [rsp + 0x40]
mov r14, qword [rbp - 0x10]
cmova rcx, r14
cmp qword [rbp], 0xb
jne 0x18002d821
mov r8d, 0xb
lea rdx, str.RewardCrate
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18002d821
mov rdi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x80]
mov r12b, 1
jmp 0x18002d890
mov rax, qword [r13 + 0x18]
mov rdx, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x18002d840
lea rcx, [rbp - 0x80]
call fcn.180030310
or r15d, 0x22
lea rcx, [rbp - 0x80]
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x68]
cmp rdi, 0xf
cmova rcx, rbx
cmp qword [rbp - 0x70], 0xe
jne 0x18002d88d
mov r8d, 0xe
lea rdx, str.A1_RewardCrate
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18002d88d
mov r12b, 1
jmp 0x18002d890
xor r12b, r12b
test r15b, 2
je 0x18002d8d2
and r15d, 0xfffffffd
cmp rdi, 0xf
jbe 0x18002d8d2
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18002d8c9
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d9be
mov rcx, rbx
call fcn.180031694
nop
test r15b, 1
je 0x18002d917
and r15d, 0xfffffffe
cmp byte [rsp + 0x40], 0
je 0x18002d917
mov rdx, qword [rbp + 8]
inc rdx
mov rax, r14
cmp rdx, 0x1000
jb 0x18002d90f
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d9c5
mov rcx, r14
call fcn.180031694
test r12b, r12b
je 0x18002d961
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
movsd xmm0, qword [r13 + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [r13 + 0xe4]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180041db8]
call fcn.18002a090
test al, al
jne 0x18002d9cc
add rsi, 8
cmp rsi, qword [rbp - 0x60]
jne 0x18002d7a0
xor r13d, r13d
mov rsi, qword [rbp - 0x40]
test rsi, rsi
je 0x18002da3e
mov rax, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
lea rdx, [rax*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18002da36
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002da36
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, qword [r13 + 0x18]
mov rdx, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r13d, r13d
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], r13b
jne 0x18002d9f0
lea rcx, [rbp - 0x80]
call fcn.180030310
or r15d, 0x40
movss xmm1, dword [rsp + 0x4c]
addss xmm1, dword [0x180039934]
mov dword [rsp + 0x20], 0xd
mov r9d, 0xffffffff
lea r8, [rbp - 0x80]
movss xmm0, dword [rsp + 0x48]
call fcn.180031460
jmp 0x18002d972
mov rcx, rsi
call fcn.180031694
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
mov r8d, 0x12
lea rdx, str.BloodBagConsumable
lea rcx, [rbp - 0x80]
call fcn.180030310
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x10]
mov rcx, qword [0x180041de0]
call fcn.18002a570
nop
mov r14, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x10]
mov edx, 4
mov edi, dword [0x180041bf4]
movss xmm10, dword [0x180039948]
cmp rbx, r14
je 0x18002dc05
mov rax, qword gs:[0x58]
mov r12d, edx
mov r13, qword [rax + rdi*8]
movss xmm8, dword [0x180039908]
movss xmm9, dword [0x1800398ec]
nop
mov rax, qword [rbx]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov esi, dword [rax + 0xe4]
mov rdi, qword [0x180041db8]
mov eax, dword [r12 + r13]
cmp dword [0x180041db0], eax
jle 0x18002db13
lea rcx, [0x180041db0]
call fcn.180031be4
cmp dword [0x180041db0], 0xffffffff
jne 0x18002db13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180041db0]
call fcn.180031b78
mov rax, qword [rdi]
mov rdx, qword [rax + 0x238]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x74]
movss xmm1, dword [rsp + 0x70]
mov rcx, rdi
call rdx
movd xmm0, dword [0x180041d88]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm6, dword [rbp - 0x50]
mulss xmm6, xmm0
movss dword [rbp - 0x50], xmm6
movd xmm1, dword [0x180041d8c]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm10
movss xmm7, dword [rbp - 0x20]
mulss xmm7, xmm1
movss dword [rbp - 0x20], xmm7
comiss xmm13, dword [rbp - 0x58]
jbe 0x18002dbeb
movaps xmm0, xmmword [0x180039a10]
movaps xmmword [rbp - 0x40], xmm0
mov rcx, qword [0x180041c68]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r8, qword [rax + 0x268]
lea rcx, [rbp - 0x40]
call fcn.180003dd0
movss dword [rbp - 0x60], xmm6
movss dword [rbp - 0x5c], xmm7
movss dword [rsp + 0x28], xmm8
mov r9d, eax
movaps xmm2, xmm9
lea rdx, [rbp - 0x60]
mov rcx, r8
call fcn.180020630
add rbx, 8
cmp rbx, r14
jne 0x18002dac0
mov rbx, qword [rbp + 0x10]
mov edi, dword [0x180041bf4]
xor r13d, r13d
test rbx, rbx
je 0x18002dc4d
mov rax, qword [rbp + 0x20]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18002dc45
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002dc45
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180031694
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], r13
xor r8d, r8d
lea rdx, [0x1800347f0]
lea rcx, [rbp + 0x10]
call fcn.180030310
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x40]
mov rcx, qword [0x180041de0]
call fcn.18002a570
nop
mov rsi, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x60], rax
cmp rsi, rax
je 0x18002df94
mov eax, edi
mov qword [rsp + 0x48], rax
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rsi]
mov rdx, qword [r13 + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xor ebx, ebx
mov qword [rbp], rbx
mov qword [rbp + 8], rbx
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], bl
jne 0x18002dcd0
lea rcx, [rbp - 0x10]
call fcn.180030310
nop
or r15d, 4
mov dword [rbp - 0x20], r15d
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
seta byte [rsp + 0x40]
mov r14, qword [rbp - 0x10]
cmova rcx, r14
cmp qword [rbp], 0xe
jne 0x18002dd2b
mov r8d, 0xe
lea rdx, str.RewardCrate_19
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18002dd2b
mov rdi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x80]
mov r12b, 1
jmp 0x18002dd95
mov rdx, qword [r13 + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18002dd45
lea rcx, [rbp - 0x80]
call fcn.180030310
or r15d, 8
lea rcx, [rbp - 0x80]
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x68]
cmp rdi, 0xf
cmova rcx, rbx
cmp qword [rbp - 0x70], 0xe
jne 0x18002dd92
mov r8d, 0xe
lea rdx, str.RewardCrate_20
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18002dd92
mov r12b, 1
jmp 0x18002dd95
xor r12b, r12b
test r15b, 8
je 0x18002ddd7
and r15d, 0xfffffff7
cmp rdi, 0xf
jbe 0x18002ddd7
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18002ddce
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002df1b
mov rcx, rbx
call fcn.180031694
nop
test r15b, 4
je 0x18002de1c
and r15d, 0xfffffffb
cmp byte [rsp + 0x40], 0
je 0x18002de1c
mov rdx, qword [rbp + 8]
inc rdx
mov rax, r14
cmp rdx, 0x1000
jb 0x18002de14
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002df22
mov rcx, r14
call fcn.180031694
test r12b, r12b
je 0x18002df0a
movsd xmm0, qword [r13 + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov edi, dword [r13 + 0xe4]
mov rbx, qword [0x180041db8]
mov ecx, 4
mov rax, qword [rsp + 0x48]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov ecx, dword [rcx + rax]
cmp dword [0x180041db0], ecx
jle 0x18002de8d
lea rcx, [0x180041db0]
call fcn.180031be4
cmp dword [0x180041db0], 0xffffffff
jne 0x18002de8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180041db0]
call fcn.180031b78
mov rax, qword [rbx]
mov rdx, qword [rax + 0x238]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
movd xmm3, edi
movss xmm2, dword [rsp + 0x74]
movss xmm1, dword [rsp + 0x70]
mov rcx, rbx
call rdx
movd xmm0, dword [0x180041d88]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm6, dword [rbp - 0x50]
mulss xmm6, xmm0
movss dword [rbp - 0x50], xmm6
movd xmm1, dword [0x180041d8c]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm10
movss xmm7, dword [rbp - 0x58]
mulss xmm7, xmm1
movss dword [rbp - 0x58], xmm7
comiss xmm13, dword [rbp - 0x60]
ja 0x18002df30
add rsi, 8
cmp rsi, qword [rsp + 0x60]
jne 0x18002dcb0
jmp 0x18002df8d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm0, xmmword [0x180039a10]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x180041c68]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r8, qword [rax + 0x268]
lea rcx, [rsp + 0x70]
call fcn.180003dd0
movss dword [rbp - 0x60], xmm6
movss dword [rbp - 0x5c], xmm7
movss dword [rsp + 0x28], xmm15
mov r9d, eax
movaps xmm2, xmm14
lea rdx, [rbp - 0x60]
mov rcx, r8
call fcn.180020630
xor r13d, r13d
mov rsi, qword [rbp - 0x40]
test rsi, rsi
je 0x18002dfdc
mov rax, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
lea rdx, [rax*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18002dfd4
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002dfd4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.180031694
cmp byte [0x180041c62], 0
je 0x18002e238
mov ecx, 0x54
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002e00d
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002e238
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rax
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
lea r8d, [rax + 0x12]
lea rdx, str.BloodBagConsumable
lea rcx, [rbp - 0x80]
call fcn.180030310
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x40]
mov rcx, qword [0x180041de0]
call fcn.18002a570
nop
mov eax, dword [0x180041d8c]
cdq
sub eax, edx
sar eax, 1
movd xmm10, eax
cvtdq2ps xmm10, xmm10
mov eax, dword [0x180041d88]
cdq
sub eax, edx
sar eax, 1
movd xmm11, eax
cvtdq2ps xmm11, xmm11
mov rsi, r13
mov r14, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x40]
cmp rbx, r14
je 0x18002e1f8
movsd xmm8, qword [0x1800398f0]
movss xmm9, dword [0x180039954]
nop dword [rax]
mov rdi, qword [rbx]
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rdi + 0xe4]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180041db8]
call fcn.18002a090
test al, al
je 0x18002e170
movss xmm0, dword [rsp + 0x60]
subss xmm0, xmm11
cvtps2pd xmm0, xmm0
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rsp + 0x68]
xorps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm1, dword [rsp + 0x64]
subss xmm1, xmm10
cvtps2pd xmm0, xmm1
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm6
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x18002e151
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x18002e159
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm9
ja 0x18002e170
comiss xmm12, xmm0
jbe 0x18002e170
movaps xmm12, xmm0
mov rsi, rdi
add rbx, 8
cmp rbx, r14
jne 0x18002e0a0
test rsi, rsi
je 0x18002e1f4
mov rcx, qword [0x180041c98]
movsd xmm6, qword [rcx + 0xdc]
mov ebx, dword [rcx + 0xe4]
mov dword [rbp - 0x60], r13d
mov rax, qword [rcx]
mov r9, qword [rax + 0x128]
movsd xmm0, qword [rsi + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0xe4]
mov dword [rsp + 0x78], eax
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x70]
call r9
mov rcx, qword [0x180041c98]
mov dword [rbp - 0x58], r13d
mov rax, qword [rcx]
mov r9, qword [rax + 0x128]
movsd qword [rsp + 0x70], xmm6
mov dword [rsp + 0x78], ebx
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x70]
call r9
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x18002e238
mov rdx, qword [rbp - 0x30]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x18002e230
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002e230
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180031694
call fcn.18000dbc0
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.180031630
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800012a0
nop
call fcn.180001200
int3