Function at 0x180041e30
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 - 0x198]
sub rsp, 0x270
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 [0x180058040]
xor rax, rsp
mov qword [rbp + 0xc8], rax
xor r12d, r12d
mov r13d, r12d
mov dword [rbp + 8], r12d
cmp qword [0x180058cb8], r12
je 0x180043517
mov rax, qword [0x180058c88]
mov qword [rax + 0x1d18], r12
mov qword [rax + 0x1d20], r12
mov dword [rax + 0x1d0c], 1
movd xmm1, dword [0x180058dbc]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x180058db8]
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.18000ca30
mov rdi, qword [0x180058d90]
mov rbx, qword [0x180058d88]
movss xmm14, dword [0x18004ee88]
cmp rbx, rdi
je 0x180042060
movaps xmm0, xmmword [0x18004f060]
movaps xmmword [rbp + 0x20], xmm0
nop dword [rax]
nop word [rax + rax]
movups xmm6, xmmword [rbx]
movups xmmword [rbp + 0xa0], xmm6
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp + 0xb0], xmm0
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], r12d
movsd xmm0, qword [rbp + 0xac]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [rbp + 0xb4]
mov dword [rbp + 0x48], eax
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x180058de8]
call fcn.18003d320
mov qword [rbp + 0x60], r12
mov dword [rbp + 0x68], r12d
movsd qword [rsp + 0x40], xmm6
psrldq xmm6, 8
movd dword [rsp + 0x48], xmm6
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x180058de8]
call fcn.18003d320
mov rcx, qword [0x180058c88]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r10, qword [rax + 0x268]
lea rcx, [rbp + 0x20]
call fcn.180004140
movss xmm0, dword [rsp + 0x50]
movss dword [rbp], xmm0
movss xmm1, dword [rsp + 0x54]
movss dword [rbp + 4], xmm1
movss xmm0, dword [rbp + 0x60]
movss dword [rbp + 0x98], xmm0
movss xmm1, dword [rbp + 0x64]
movss dword [rbp + 0x9c], xmm1
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 0x98]
mov rcx, r10
call fcn.180021fe0
add rbx, 0x18
cmp rbx, rdi
jne 0x180041f60
cmp byte [0x1800580a1], r12b
je 0x180043346
mov dword [rbp + 0x78], r12d
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
lea rdx, [rbp + 0x78]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowDisplayAffinity]
cmp byte [0x1800580ad], r12b
je 0x18004209d
cmp dword [rbp + 0x78], r12d
jne 0x1800420ae
mov edx, 0x11
jmp 0x1800420a5
cmp dword [rbp + 0x78], 0x11
jne 0x1800420ae
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
lea rdx, [rbp + 0x80]
call fcn.18003d630
nop
mov rsi, qword [rbp + 0x80]
mov r15, qword [rbp + 0x88]
movss xmm15, dword [0x18004eef0]
cmp rsi, r15
je 0x1800424ba
movabs r14, 0xfffffffffffe
movss xmm8, dword [0x18004ef10]
movss xmm11, dword [0x18004efac]
movss xmm12, dword [0x18004ef88]
movss xmm13, dword [0x18004ee80]
movss xmm9, dword [0x18004ee4c]
movss xmm10, dword [0x18004ef30]
nop dword [rax + rax]
mov rbx, qword [rsi]
cmp rbx, qword [0x180058cb8]
je 0x1800424a6
mov rcx, qword [0x180058e18]
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, r14
ja 0x180042160
mov rcx, rbx
call rdx
mov rdx, rax
jmp 0x180042163
mov rdx, r12
mov rax, qword [rdi]
mov r8, qword [rax + 0x18]
mov rcx, rdi
call r8
mov rdi, rax
cmp byte [0x180058c85], 0
jne 0x18004219c
test rax, rax
je 0x1800424a6
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x180]
mov rcx, rax
call rdx
test al, al
jne 0x1800424a6
lea rdx, [rbp + 0xa0]
mov rcx, rdi
call fcn.18003da10
nop
lea r8, str.Bip01_Head
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18003d440
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x58], 0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rbp + 0x48], eax
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x180058de8]
call fcn.18003d320
test al, al
jne 0x180042246
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x18004248d
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004223c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180042504
call fcn.180046ba4
jmp 0x18004248d
mov rcx, rbx
call fcn.180046970
lea rdx, [rbp + 0x20]
mov rcx, rbx
cmp rax, 2
jne 0x180042275
movups xmm0, xmmword [0x180058268]
movdqa xmmword [rbp + 0x20], xmm0
call fcn.1800415a0
movups xmm0, xmmword [0x180058268]
jmp 0x18004228d
movups xmm0, xmmword [0x180058258]
movdqa xmmword [rbp + 0x20], xmm0
call fcn.1800415a0
movups xmm0, xmmword [0x180058258]
movss xmm6, dword [rsp + 0x54]
movdqa xmmword [rbp + 0x20], xmm0
movss xmm7, dword [rsp + 0x50]
movss dword [rsp + 0x20], xmm8
lea r9, [rbp + 0x20]
movaps xmm2, xmm15
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.180046740
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
mov rdi, qword [rbp + 0xb0]
lea r14, [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
cmova r14, rax
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x18004357f
mov qword [rbp - 0x68], 0xf
cmp rdi, 0xf
ja 0x18004231d
mov qword [rbp - 0x70], rdi
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x80], xmm0
jmp 0x1800423bd
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x18004233c
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180042363
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180042385
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180043585
mov rcx, rax
call fcn.180046b60
mov rcx, rax
test rax, rax
je 0x1800424fd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180042394
test rcx, rcx
je 0x180042391
call fcn.180046b60
jmp 0x180042394
mov rax, r12
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
cmp rdx, 0xf
cmova rcx, rax
mov rax, qword [0x180058c88]
test rcx, rcx
jne 0x1800423dd
xorps xmm0, xmm0
jmp 0x180042424
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rax + 0x1980]
lea rdx, [rbp]
mov rcx, qword [rax + 0x1978]
call fcn.180026100
movss xmm0, dword [rbp]
addss xmm0, xmm13
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp], xmm0
mulss xmm0, xmm9
subss xmm7, xmm0
subss xmm6, xmm10
lea r8, [rbp - 0x80]
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.180046840
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x180042483
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004247e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180042504
call fcn.180046ba4
movabs r14, 0xfffffffffffe
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
add rsi, 8
cmp rsi, r15
jne 0x180042120
mov rsi, qword [rbp + 0x80]
test rsi, rsi
je 0x180042525
mov rax, qword [rbp + 0x90]
sub rax, rsi
sar rax, 3
lea rdx, [rax*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18004250b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004250b
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, rsi
call fcn.180046ba4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
cmp byte [0x180058c86], 0
je 0x180042723
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
call fcn.18003d7e0
nop
mov rbx, qword [rbp + 0x20]
mov r14, qword [rbp + 0x28]
cmp rbx, r14
je 0x1800426cf
movsd xmm9, qword [0x18004eeb8]
movss xmm8, dword [0x18004ef2c]
movss xmm10, dword [0x18004ef24]
mov rsi, qword [0x180058cb8]
nop word [rax + rax]
mov rdi, qword [rbx]
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x40], xmm0
test rsi, rsi
je 0x180042630
movss xmm0, dword [rsi + 0xdc]
subss xmm0, dword [rsp + 0x40]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm2, dword [rsi + 0xe4]
subss xmm2, dword [rdi + 0xe4]
cvtps2pd xmm0, xmm2
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm1, dword [rsi + 0xe0]
subss xmm1, dword [rsp + 0x44]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm9
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 0x18004261a
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x180042622
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm8
ja 0x1800426be
mov qword [rbp + 0x60], 0
mov dword [rbp + 0x68], 0
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [rdi + 0xe4]
mov dword [rbp + 0x48], eax
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x180058de8]
call fcn.18003d320
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x40]
call fcn.180044b80
mov r8, rax
movss xmm7, dword [rbp + 0x64]
movaps xmm1, xmm7
movss xmm6, dword [rbp + 0x60]
movaps xmm0, xmm6
call fcn.180046840
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.180044b80
or r13d, 4
addss xmm7, xmm10
lea r8, [rbp - 0x40]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180046840
mov rsi, qword [0x180058cb8]
add rbx, 8
cmp rbx, r14
jne 0x180042590
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x180042723
mov rax, qword [rbp + 0x30]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18004270f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004270f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180046ba4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov ecx, 0x20
call fcn.180046b60
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 0x12
mov qword [rsp + 0x78], 0x1f
movups xmm0, xmmword [str.BloodBagConsumable]
movups xmmword [rax], xmm0
movzx ecx, word [0x18004ec58]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], 0
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x40]
call fcn.18003d7e0
nop
mov r14, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x40]
mov edx, 4
mov edi, dword [0x180058c14]
movss xmm12, dword [0x18004ef3c]
movss xmm11, dword [0x18004eedc]
cmp rbx, r14
je 0x180042956
mov rax, qword gs:[0x58]
mov r15d, edx
mov r12, qword [rax + rdi*8]
movss xmm8, dword [0x18004eea0]
nop dword [rax]
mov rax, qword [rbx]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rax + 0xe4]
mov rdi, qword [0x180058de8]
mov eax, dword [r12 + r15]
cmp dword [0x180058de0], eax
jle 0x180042823
lea rcx, [0x180058de0]
call fcn.1800470f4
cmp dword [0x180058de0], 0xffffffff
jne 0x180042823
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180058de0]
call fcn.180047088
mov rax, qword [rdi]
mov rdx, qword [rax + 0x238]
lea rax, [rbp + 8]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x44]
movss xmm1, dword [rsp + 0x40]
mov rcx, rdi
call rdx
movd xmm0, dword [0x180058db8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm12
movss xmm6, dword [rbp + 0xc]
mulss xmm6, xmm0
movss dword [rbp + 0xc], xmm6
movd xmm1, dword [0x180058dbc]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm12
movss xmm7, dword [rbp + 0x10]
mulss xmm7, xmm1
movss dword [rbp + 0x10], xmm7
comiss xmm14, dword [rbp + 8]
jbe 0x18004293c
movaps xmm0, xmmword [0x18004f060]
movaps xmmword [rbp + 0x20], xmm0
mov rcx, qword [0x180058c88]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov rdi, qword [rax + 0x268]
lea rcx, [rbp + 0x20]
call fcn.180004140
mov esi, eax
movss dword [rbp], xmm6
movss dword [rbp + 4], xmm7
test eax, 0xff000000
je 0x18004293c
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm8
lea rdx, [rbp]
mov rcx, rdi
call fcn.180021130
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
movss dword [rsp + 0x28], xmm11
mov dword [rsp + 0x20], 1
mov r9d, esi
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18001fc50
mov dword [rdi + 0x78], 0
add rbx, 8
cmp rbx, r14
jne 0x1800427d0
mov rbx, qword [rbp + 0x40]
mov edi, dword [0x180058c14]
xor r12d, r12d
test rbx, rbx
je 0x1800429aa
mov rax, qword [rbp + 0x50]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180042996
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180042996
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180046ba4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x60]
call fcn.18003d7e0
nop
mov rbx, qword [rbp + 0x60]
mov r14, qword [rbp + 0x68]
cmp rbx, r14
je 0x180042c20
mov r15d, edi
mov r12, qword gs:[0x58]
nop dword [rax]
mov rsi, qword [rbx]
mov rdx, qword [rsi + 0x10]
lea rcx, [rbp - 0x40]
call fcn.180044b80
nop
or r13d, 1
mov dword [rbp + 8], r13d
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180042a17
mov rax, qword [rax]
cmp rcx, 0xe
jne 0x180042a33
mov r8, rcx
lea rdx, str.RewardCrate_19
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180042a6e
mov rdx, qword [rsi + 0x10]
lea rcx, [rbp - 0x20]
call fcn.180044b80
or r13d, 2
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180042a52
mov rax, qword [rax]
cmp rcx, 0xe
jne 0x180042a73
mov r8, rcx
lea rdx, str.RewardCrate_20
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180042a73
mov dil, 1
jmp 0x180042a76
xor dil, dil
test r13b, 2
je 0x180042acf
and r13d, 0xfffffffd
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x180042abb
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042ab6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180042c6c
call fcn.180046ba4
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
test r13b, 1
je 0x180042b28
and r13d, 0xfffffffe
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x180042b14
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042b0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180042c73
call fcn.180046ba4
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
test dil, dil
je 0x180042c0c
movsd xmm0, qword [rsi + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rsi + 0xe4]
mov rdi, qword [0x180058de8]
mov ecx, 4
mov rax, qword [r12 + r15*8]
mov ecx, dword [rcx + rax]
cmp dword [0x180058de0], ecx
jle 0x180042b89
lea rcx, [0x180058de0]
call fcn.1800470f4
cmp dword [0x180058de0], 0xffffffff
jne 0x180042b89
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180058de0]
call fcn.180047088
mov rax, qword [rdi]
mov rdx, qword [rax + 0x238]
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xc]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x44]
movss xmm1, dword [rsp + 0x40]
mov rcx, rdi
call rdx
movd xmm0, dword [0x180058db8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm12
movss xmm6, dword [rbp + 0x10]
mulss xmm6, xmm0
movss dword [rbp + 0x10], xmm6
movd xmm1, dword [0x180058dbc]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm12
movss xmm7, dword [rbp + 0xc]
mulss xmm7, xmm1
movss dword [rbp + 0xc], xmm7
comiss xmm14, dword [rbp + 0xc0]
ja 0x180042c80
add rbx, 8
cmp rbx, r14
jne 0x1800429f0
xor r12d, r12d
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x180042d39
mov rax, qword [rbp + 0x70]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180042d25
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180042d25
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
movaps xmm0, xmmword [0x18004f060]
movaps xmmword [rbp + 0x20], xmm0
mov rcx, qword [0x180058c88]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov rbx, qword [rax + 0x268]
lea rcx, [rbp + 0x20]
call fcn.180004140
mov edi, eax
movss dword [rbp], xmm6
movss dword [rbp + 4], xmm7
test eax, 0xff000000
je 0x180042c19
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x18004ef0c]
lea rdx, [rbp]
mov rcx, rbx
call fcn.180021130
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
movss dword [rsp + 0x28], xmm15
mov dword [rsp + 0x20], 1
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.18001fc50
xor r12d, r12d
mov dword [rbx + 0x78], r12d
jmp 0x180042c1c
mov rcx, rbx
call fcn.180046ba4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r12
cmp byte [0x180058c82], 0
je 0x180042e7f
mov ecx, 0x54
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180042d6a
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180042e7f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
lea ecx, [rax + 0x20]
call fcn.180046b60
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 0x12
mov qword [rsp + 0x78], 0x1f
movups xmm0, xmmword [str.BloodBagConsumable]
movups xmmword [rax], xmm0
movzx ecx, word [0x18004ec58]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], 0
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x20]
call fcn.18003d7e0
nop
movd xmm0, dword [0x1800580a8]
cvtdq2ps xmm0, xmm0
lea rdx, [rbp + 0x20]
call fcn.180041020
test rax, rax
je 0x180042e2a
mov rcx, qword [0x180058cb8]
mov dword [rbp + 0x98], r12d
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x128]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 0xe4]
mov dword [rsp + 0x48], eax
lea r8, [rbp + 0x98]
lea rdx, [rsp + 0x40]
call r9
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x180042e7f
mov rax, qword [rbp + 0x30]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042e6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180042e6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180046ba4
mov qword [rbp + 0x20], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
movss xmm8, dword [0x18004ef50]
movss xmm9, dword [0x18004ee0c]
movss xmm10, dword [0x18004ef1c]
cmp byte [0x180058c81], 0
je 0x180043106
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov ecx, 0x20
call fcn.180046b60
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 0x12
mov qword [rsp + 0x78], 0x1f
movups xmm0, xmmword [str.BloodBagConsumable]
movups xmmword [rax], xmm0
movzx ecx, word [0x18004ec58]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], 0
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x80]
call fcn.18003d7e0
nop
mov r14, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x80]
cmp rdi, r14
je 0x1800430a0
mov r13d, dword [0x180058c14]
mov rax, qword gs:[0x58]
mov r15d, 4
mov r12, qword [rax + r13*8]
nop word [rax + rax]
mov rax, qword [rdi]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rax + 0xe4]
mov rbx, qword [0x180058de8]
mov eax, dword [r12 + r15]
cmp dword [0x180058de0], eax
jle 0x180042f93
lea rcx, [0x180058de0]
call fcn.1800470f4
cmp dword [0x180058de0], 0xffffffff
jne 0x180042f93
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180058de0]
call fcn.180047088
mov rax, qword [rbx]
mov rdx, qword [rax + 0x238]
lea rax, [rbp]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x14]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x44]
movss xmm1, dword [rsp + 0x40]
mov rcx, rbx
call rdx
movd xmm0, dword [0x180058db8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm12
movss xmm6, dword [rbp + 0x14]
mulss xmm6, xmm0
movss dword [rbp + 0x14], xmm6
movd xmm1, dword [0x180058dbc]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm12
movss xmm7, dword [rbp + 8]
mulss xmm7, xmm1
movss dword [rbp + 8], xmm7
comiss xmm14, dword [rbp]
jbe 0x180043087
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
divss xmm0, xmm15
movaps xmm1, xmm14
subss xmm1, xmm0
mulss xmm1, xmm8
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
mov qword [rbp + 0x40], 0x3f800000
mov dword [rbp + 0x48], 0
movss dword [rbp + 0x4c], xmm0
mulss xmm2, xmm11
addss xmm2, xmm10
movss dword [rsp + 0x20], xmm11
lea r9, [rbp + 0x40]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180046740
inc ebx
cmp ebx, 5
jl 0x180043020
add rdi, 8
cmp rdi, r14
jne 0x180042f40
mov rdi, qword [rbp + 0x80]
xor r12d, r12d
jmp 0x1800430a7
mov r13d, dword [0x180058c14]
test rdi, rdi
je 0x18004310d
mov rax, qword [rbp + 0x90]
sub rax, rdi
sar rax, 3
lea rdx, [rax*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800430ea
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800430ea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180046ba4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
jmp 0x18004310d
mov r13d, dword [0x180058c14]
cmp byte [0x1800580ac], 0
je 0x180043346
mov qword [rbp - 0x70], 0xf
mov qword [rbp - 0x68], 0xf
movsd xmm0, qword [str.ConsumableSpawn]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [0x18004ec88]
mov dword [rbp - 0x78], eax
movzx eax, word [0x18004ec8c]
mov word [rbp - 0x74], ax
movzx eax, byte [0x18004ec8e]
mov byte [rbp - 0x72], al
mov byte [rbp - 0x71], 0
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0xa0]
call fcn.18003d7e0
nop
mov r14, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xa0]
cmp rdi, r14
je 0x1800432fb
mov ecx, r13d
mov rax, qword gs:[0x58]
mov r15d, 4
mov r12, qword [rax + rcx*8]
nop word [rax + rax]
mov rax, qword [rdi]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rax + 0xe4]
mov rbx, qword [0x180058de8]
mov eax, dword [r12 + r15]
cmp dword [0x180058de0], eax
jle 0x1800431f3
lea rcx, [0x180058de0]
call fcn.1800470f4
cmp dword [0x180058de0], 0xffffffff
jne 0x1800431f3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x180058de0]
call fcn.180047088
mov rax, qword [rbx]
mov rdx, qword [rax + 0x238]
lea rax, [rbp]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x14]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x44]
movss xmm1, dword [rsp + 0x40]
mov rcx, rbx
call rdx
movd xmm0, dword [0x180058db8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm12
movss xmm6, dword [rbp + 8]
mulss xmm6, xmm0
movss dword [rbp + 8], xmm6
movd xmm1, dword [0x180058dbc]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm12
movss xmm7, dword [rbp + 0x14]
mulss xmm7, xmm1
movss dword [rbp + 0x14], xmm7
comiss xmm14, dword [rbp]
jbe 0x1800432e7
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
divss xmm0, xmm15
movaps xmm1, xmm14
subss xmm1, xmm0
mulss xmm1, xmm8
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
mov dword [rbp + 0x40], 0
mov qword [rbp + 0x44], 0x3f800000
movss dword [rbp + 0x4c], xmm0
mulss xmm2, xmm11
addss xmm2, xmm10
movss dword [rsp + 0x20], xmm11
lea r9, [rbp + 0x40]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180046740
inc ebx
cmp ebx, 5
jl 0x180043280
add rdi, 8
cmp rdi, r14
jne 0x1800431a0
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
je 0x180043346
mov rax, qword [rbp + 0xb0]
sub rax, rdi
sar rax, 3
lea rdx, [rax*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18004333e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004333e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180046ba4
cmp byte [0x1800580a3], 0
je 0x180043512
mov ecx, 9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180043427
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x80]
call fcn.18003d630
nop
movd xmm0, dword [0x1800580a8]
cvtdq2ps xmm0, xmm0
lea rdx, [rbp + 0x80]
call fcn.180041020
test rax, rax
je 0x1800433e0
mov rcx, qword [0x180058cb8]
mov dword [rbp], 0
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x128]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 0xe4]
mov dword [rsp + 0x48], eax
lea r8, [rbp]
lea rdx, [rsp + 0x40]
call r9
nop
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x180043427
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180043422
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180043422
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180046ba4
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [0x1800580a8]
test ax, ax
je 0x1800434b8
test ecx, ecx
jle 0x1800434b8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
call fcn.18003f6a0
mov qword [0x180058ca0], rax
test rax, rax
je 0x1800434b0
lea r8, str.Bip01_Head
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.18003d440
mov qword [rbp + 0x60], 0
mov dword [rbp + 0x68], 0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x180058de8]
call fcn.18003d320
movss xmm1, dword [rbp + 0x64]
movss xmm0, dword [rbp + 0x60]
call fcn.1800411d0
mov ecx, dword [0x1800580a8]
jmp 0x1800434c3
mov qword [0x180058ca0], 0
cmp byte [0x1800580a1], 0
je 0x180043512
movaps xmm0, xmmword [0x18004f050]
movaps xmmword [rbp + 0x20], xmm0
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mov eax, dword [0x180058dbc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x180058db8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x20], xmm14
lea r9, [rbp + 0x20]
call fcn.180046740
call fcn.18000ee30
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.180046b40
lea r11, [rsp + 0x270]
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