Function at 0x180043bf0
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 - 0x248]
sub rsp, 0x320
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 [0x18005a040]
xor rax, rsp
mov qword [rbp + 0x178], rax
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x60], r13d
cmp qword [0x18005ade8], r13
je 0x1800451da
mov rax, qword [0x18005adb8]
mov qword [rax + 0x1d18], r13
mov qword [rax + 0x1d20], r13
mov dword [rax + 0x1d0c], 1
movd xmm1, dword [0x18005aedc]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x18005aed8]
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.18000ca10
mov rdi, qword [0x18005aeb0]
mov rbx, qword [0x18005aea8]
cmp rbx, rdi
je 0x180043e36
movaps xmm0, xmmword [0x180051150]
movaps xmmword [rbp + 0x100], xmm0
nop dword [rax]
movups xmm6, xmmword [rbx]
movups xmmword [rbp + 0x120], xmm6
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp + 0x130], xmm0
mov qword [rbp + 0xc8], r13
mov dword [rbp + 0xd0], r13d
movsd xmm0, qword [rbp + 0x12c]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rbp + 0x134]
mov dword [rbp - 0x68], eax
lea r8, [rbp + 0xc8]
lea rdx, [rbp - 0x70]
mov rcx, qword [0x18005af08]
call fcn.18003df20
mov qword [rbp + 0xb8], r13
mov dword [rbp + 0xc0], r13d
movsd qword [rsp + 0x40], xmm6
psrldq xmm6, 8
movd dword [rsp + 0x48], xmm6
lea r8, [rbp + 0xb8]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x18005af08]
call fcn.18003df20
mov rcx, qword [0x18005adb8]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r10, qword [rax + 0x268]
lea rcx, [rbp + 0x100]
call fcn.180004120
movss xmm0, dword [rbp + 0xc8]
movss dword [rbp + 0xb0], xmm0
movss xmm1, dword [rbp + 0xcc]
movss dword [rbp + 0xb4], xmm1
movss xmm0, dword [rbp + 0xb8]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [rbp + 0xbc]
movss dword [rsp + 0x64], xmm1
movss xmm0, dword [0x180050f80]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0xb0]
lea rdx, [rsp + 0x60]
mov rcx, r10
call fcn.180022090
add rbx, 0x18
cmp rbx, rdi
jne 0x180043d10
cmp byte [0x18005a0a1], r13b
je 0x1800450d2
lea rdx, [rbp + 0x120]
call fcn.18003e230
nop
mov r15, qword [rbp + 0x120]
mov r12, qword [rbp + 0x128]
movss xmm10, dword [0x180051038]
movsd xmm14, qword [0x180050fb8]
cmp r15, r12
je 0x180044949
movabs rsi, 0xfffffffffffe
movss xmm6, dword [0x180050ff0]
movss xmm11, dword [0x1800510a4]
movss xmm12, dword [0x180051080]
movss xmm13, dword [0x180050f78]
movss xmm15, dword [0x180050f44]
nop
mov rdi, qword [r15]
cmp rdi, qword [0x18005ade8]
je 0x18004492c
mov rcx, qword [0x18005af38]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd0]
call rdx
mov rbx, rax
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
cmp rcx, rsi
ja 0x180043ef0
mov rcx, rdi
call rdx
mov rdx, rax
jmp 0x180043ef3
mov rdx, r13
mov rax, qword [rbx]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call r8
mov rbx, rax
test rax, rax
je 0x18004492c
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x180]
mov rcx, rax
call rdx
test al, al
jne 0x18004492c
lea rdx, [rbp + 0xd8]
mov rcx, rbx
call fcn.18003e620
nop
lea r8, str.Bip01_Head
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.18003e040
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rbp - 0x60]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x18005af08]
call fcn.18003df20
test al, al
jne 0x180043fcd
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
jbe 0x180044913
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180043fc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004499a
call fcn.180048b34
jmp 0x180044913
cmp byte [0x18005adb3], 0
je 0x180044069
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [rax + 0x26a8]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x180044027
mov rcx, rdi
call rdx
jmp 0x18004402a
mov rax, r13
mov edx, eax
mov rcx, rsi
call rbx
movd xmm2, dword [0x18005ade0]
mov rcx, rdi
cvtdq2ps xmm2, xmm2
cmp eax, 2
jne 0x180044055
movups xmm0, xmmword [0x18005a2f8]
movaps xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
jmp 0x180044064
movups xmm0, xmmword [0x18005a2e8]
movaps xmmword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x20]
call fcn.180042a80
movss xmm9, dword [rsp + 0x44]
movss xmm10, dword [rsp + 0x40]
cmp byte [0x18005adb1], 0
je 0x180044126
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [rax + 0x26a8]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x1800440d1
mov rcx, rdi
call rdx
jmp 0x1800440d4
mov rax, r13
mov edx, eax
mov rcx, rsi
call rbx
movaps xmm2, xmm6
movaps xmm1, xmm9
cmp eax, 2
jne 0x180044100
movups xmm0, xmmword [0x18005a298]
movaps xmmword [rbp - 0x10], xmm0
lea r9, [rbp - 0x10]
jmp 0x18004410f
movups xmm0, xmmword [0x18005a2c8]
movaps xmmword [rbp], xmm0
lea r9, [rbp]
movss xmm0, dword [0x18005100c]
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm10
call fcn.180048750
cmp byte [0x18005adb4], 0
je 0x1800441c4
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [rax + 0x26a8]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x180044180
mov rcx, rdi
call rdx
jmp 0x180044183
mov rax, r13
mov edx, eax
mov rcx, rsi
call rbx
mov rcx, rdi
cmp eax, 2
jne 0x1800441b0
movups xmm0, xmmword [0x18005a278]
movaps xmmword [rbp + 0x10], xmm0
lea rdx, [rbp + 0x10]
jmp 0x1800441bf
movups xmm0, xmmword [0x18005a2b8]
movaps xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
call fcn.180043360
cmp byte [0x18005adb2], 0
je 0x1800442a7
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [rax + 0x26a8]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x18004421e
mov rcx, rdi
call rdx
jmp 0x180044221
mov rax, r13
mov edx, eax
mov rcx, rsi
call rbx
mov rcx, rdi
cmp eax, 2
mov eax, dword [0x18005a0a8]
mov dword [rsp + 0x20], eax
jne 0x180044270
movss xmm0, dword [0x18005a2d8]
movss dword [rbp + 0x30], xmm0
movss xmm1, dword [0x18005a2dc]
movss dword [rbp + 0x34], xmm1
movss xmm0, dword [0x18005a2e0]
movss dword [rbp + 0x38], xmm0
mov dword [rbp + 0x3c], 0x42c80000
lea rdx, [rbp + 0x30]
jmp 0x1800442a2
movss xmm0, dword [0x18005a288]
movss dword [rbp + 0x40], xmm0
movss xmm1, dword [0x18005a28c]
movss dword [rbp + 0x44], xmm1
movss xmm0, dword [0x18005a290]
movss dword [rbp + 0x48], xmm0
mov dword [rbp + 0x4c], 0x42c80000
lea rdx, [rbp + 0x40]
call fcn.180042410
cmp byte [0x18005ade4], 0
je 0x1800443e2
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov rsi, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [rax + 0x26a8]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x180044301
mov rcx, rdi
call rdx
jmp 0x180044304
mov rax, r13
mov edx, eax
mov rcx, rsi
call rbx
movd xmm3, dword [0x18005ade0]
mov rcx, rdi
cvtdq2ps xmm3, xmm3
cmp eax, 2
mov eax, dword [0x18005a0a8]
mov dword [rsp + 0x20], eax
jne 0x18004437c
movss xmm2, dword [0x18005a2d8]
movss dword [rbp + 0x50], xmm2
movss xmm1, dword [0x18005a2dc]
movss dword [rbp + 0x54], xmm1
movss xmm0, dword [0x18005a2e0]
movss dword [rbp + 0x58], xmm0
mov dword [rbp + 0x5c], 0
movss dword [rbp + 0x60], xmm2
movss dword [rbp + 0x64], xmm1
movss dword [rbp + 0x68], xmm0
movss xmm0, dword [0x18005a2e4]
movss dword [rbp + 0x6c], xmm0
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x60]
jmp 0x1800443dd
movss xmm2, dword [0x18005a288]
movss dword [rbp - 0x50], xmm2
movss xmm1, dword [0x18005a28c]
movss dword [rbp - 0x4c], xmm1
movss xmm0, dword [0x18005a290]
movss dword [rbp - 0x48], xmm0
mov dword [rbp - 0x44], 0
movss dword [rbp + 0x100], xmm2
movss dword [rbp + 0x104], xmm1
movss dword [rbp + 0x108], xmm0
movss xmm0, dword [0x18005a294]
movss dword [rbp + 0x10c], xmm0
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x100]
call fcn.180042ba0
lea r8, str.Bip01_Head
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18003e040
mov rax, qword [0x18005ade8]
movsd xmm7, qword [rax + 0xdc]
mov ebx, dword [rax + 0xe4]
movss xmm0, dword [rbp - 0x70]
subss xmm0, xmm7
cvtps2pd xmm0, xmm0
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rbp - 0x68]
movd xmm0, ebx
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
movss xmm1, dword [rbp - 0x6c]
movaps xmm0, xmm7
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0xb8], xmm7
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm6
addsd xmm8, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm8
ja 0x180044481
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x18004448a
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
cvttss2si r8d, xmm0
lea r9, [rbp + 0x14d]
test r8d, r8d
jns 0x1800444e0
neg r8d
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1800444a2
dec r9
mov byte [r9], 0x2d
jmp 0x18004450a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1800444e0
lea r8, [rbp + 0x14d]
mov rdx, r9
lea rcx, [rbp + 0x158]
call fcn.180001e90
or r14d, 0x30
mov rcx, qword [0x18005af38]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd0]
call rdx
mov rbx, rax
test rax, rax
jne 0x180044544
mov rax, r13
jmp 0x180044578
mov rax, qword [rdi]
mov rdx, qword [rax + 8]
lea rax, [rdx - 1]
movabs rcx, 0xfffffffffffe
cmp rax, rcx
ja 0x180044568
mov rcx, rdi
call rdx
mov rdx, rax
jmp 0x18004456b
mov rdx, r13
mov rax, qword [rbx]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call r8
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x118]
mov rcx, rax
call rdx
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
lea rcx, [rbp + 0x70]
call fcn.18003d9d0
or r14d, 8
lea rcx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0xf
cmova rcx, qword [rbp + 0xd8]
mov rax, qword [0x18005adb8]
test rcx, rcx
jne 0x1800445c3
xorps xmm1, xmm1
jmp 0x180044613
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rax + 0x1980]
lea rdx, [rbp + 0xb0]
mov rcx, qword [rax + 0x1978]
call fcn.1800261b0
movss xmm0, dword [rbp + 0xb0]
addss xmm0, xmm13
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0xb0], xmm1
mulss xmm1, xmm15
movaps xmm0, xmm10
subss xmm0, xmm1
movaps xmm1, xmm9
subss xmm1, dword [0x180051034]
lea r8, [rbp + 0x70]
call fcn.180048850
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
mov rdi, qword [rbp + 0xe8]
lea rsi, [rbp + 0xd8]
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
cmova rsi, rax
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x180045242
mov qword [rbp - 0x80], 0xf
cmp rdi, 0xf
ja 0x18004469d
mov qword [rsp + 0x78], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
jmp 0x18004473f
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x1800446bc
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1800446e3
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180044705
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180045248
mov rcx, rax
call fcn.180048af0
mov rcx, rax
test rax, rax
je 0x18004498c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180044714
test rcx, rcx
je 0x180044711
call fcn.180048af0
jmp 0x180044714
mov rax, r13
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0xd8]
lea rcx, [rbp + 0xd8]
cmp rdx, 0xf
cmova rcx, rax
mov rax, qword [0x18005adb8]
test rcx, rcx
jne 0x18004475f
xorps xmm1, xmm1
jmp 0x1800447a9
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rax + 0x1980]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x1978]
call fcn.1800261b0
movss xmm0, dword [rsp + 0x60]
addss xmm0, xmm13
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x60], xmm1
mulss xmm1, xmm15
movaps xmm0, xmm10
subss xmm0, xmm1
movaps xmm1, xmm9
subss xmm1, dword [0x180051028]
lea r8, [rsp + 0x68]
call fcn.180048850
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x90]
call fcn.180046980
mov rbx, rax
lea rdx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0xf
cmova rdx, qword [rbp + 0xd8]
mov rcx, qword [0x18005adb8]
test rdx, rdx
jne 0x18004480a
xorps xmm0, xmm0
jmp 0x18004485a
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rdx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rcx + 0x1980]
lea rdx, [rbp + 0xc8]
mov rcx, qword [rcx + 0x1978]
call fcn.1800261b0
movss xmm0, dword [rbp + 0xc8]
addss xmm0, xmm13
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xc8], xmm0
mulss xmm0, xmm15
subss xmm10, xmm0
subss xmm9, dword [0x180051030]
mov r8, rbx
movaps xmm1, xmm9
movaps xmm0, xmm10
call fcn.180048850
nop
mov rdx, qword [rbp + 0x170]
cmp rdx, 0xf
jbe 0x1800448c0
inc rdx
mov rcx, qword [rbp + 0x158]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800448ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044993
call fcn.180048b34
nop
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
jbe 0x180044901
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800448fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004499a
call fcn.180048b34
movss xmm6, dword [0x180050ff0]
movabs rsi, 0xfffffffffffe
mov byte [rbp + 0xd8], 0
mov qword [rbp + 0xf0], 0xf
mov qword [rbp + 0xe8], r13
add r15, 8
cmp r15, r12
jne 0x180043eb0
mov r15, qword [rbp + 0x120]
movss xmm10, dword [0x180051038]
test r15, r15
je 0x1800449bb
mov rax, qword [rbp + 0x130]
sub rax, r15
sar rax, 3
lea rdx, [rax*8]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800449a1
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800449a1
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r15
call fcn.180048b34
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r13
cmp byte [0x18005adb7], 0
je 0x180044bc4
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x138]
call fcn.18003e3e0
nop
mov rbx, qword [rbp + 0x138]
mov r15, qword [rbp + 0x140]
cmp rbx, r15
je 0x180044b67
movss xmm8, dword [0x180051024]
movss xmm9, dword [0x18005101c]
mov rsi, qword [0x18005ade8]
mov rdi, qword [rbx]
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x50], xmm0
test rsi, rsi
je 0x180044ac0
movss xmm0, dword [rsi + 0xdc]
subss xmm0, dword [rsp + 0x50]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm14
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, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm1, dword [rsi + 0xe0]
subss xmm1, dword [rsp + 0x54]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm14
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 0x180044aaa
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x180044ab2
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm8
ja 0x180044b53
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [rdi + 0xe4]
mov dword [rbp - 0x58], eax
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x18005af08]
call fcn.18003df20
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp + 0x70]
call fcn.180046860
mov r8, rax
movss xmm7, dword [rsp + 0x44]
movaps xmm1, xmm7
movss xmm6, dword [rsp + 0x40]
movaps xmm0, xmm6
call fcn.180048850
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x10]
lea rcx, [rbp + 0x70]
call fcn.180046860
or r14d, 4
addss xmm7, xmm9
lea r8, [rbp + 0x70]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180048850
mov rsi, qword [0x18005ade8]
add rbx, 8
cmp rbx, r15
jne 0x180044a20
mov rbx, qword [rbp + 0x138]
test rbx, rbx
je 0x180044bc4
mov rax, qword [rbp + 0x148]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180044baa
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180044baa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180048b34
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], 0xf
mov ecx, 0x20
call fcn.180048af0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], 0x12
mov qword [rbp - 0x80], 0x1f
movups xmm0, xmmword [str.BloodBagConsumable]
movups xmmword [rax], xmm0
movzx ecx, word [0x180050d40]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], 0
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x100]
call fcn.18003e3e0
nop
mov r13, qword [rbp + 0x108]
mov rbx, qword [rbp + 0x100]
mov edx, 4
mov edi, dword [0x18005ad44]
cmp rbx, r13
je 0x180044d58
mov rax, qword gs:[0x58]
mov r15d, edx
mov r12, qword [rax + rdi*8]
nop word [rax + rax]
mov rax, qword [rbx]
movsd xmm0, qword [rax + 0xdc]
movsd qword [rsp + 0x50], xmm0
mov esi, dword [rax + 0xe4]
mov rdi, qword [0x18005af08]
mov eax, dword [r12 + r15]
cmp dword [0x18005af00], eax
jle 0x180044cb3
lea rcx, [0x18005af00]
call fcn.180049084
cmp dword [0x18005af00], 0xffffffff
jne 0x180044cb3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x18005af00]
call fcn.180049018
mov rax, qword [rdi]
mov rdx, qword [rax + 0x238]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x54]
movss xmm1, dword [rsp + 0x50]
mov rcx, rdi
call rdx
movd xmm0, dword [0x18005aed8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm1, dword [rbp + 0xb8]
mulss xmm1, xmm0
movss dword [rbp + 0xb8], xmm1
movd xmm0, dword [0x18005aedc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm1, dword [rbp + 0xc8]
mulss xmm1, xmm0
movss dword [rbp + 0xc8], xmm1
add rbx, 8
cmp rbx, r13
jne 0x180044c60
mov rbx, qword [rbp + 0x100]
mov edi, dword [0x18005ad44]
test rbx, rbx
je 0x180044db9
mov rax, qword [rbp + 0x110]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180044d9b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180044d9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180048b34
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x120]
call fcn.18003e3e0
nop
mov rbx, qword [rbp + 0x120]
mov r15, qword [rbp + 0x128]
cmp rbx, r15
je 0x180045081
mov r12d, edi
mov r13, qword gs:[0x58]
nop word [rax + rax]
mov rdi, qword [rbx]
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp + 0x138]
call fcn.180046860
nop
or r14d, 1
mov dword [rsp + 0x60], r14d
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180044e4b
mov rax, qword [rax]
cmp rcx, 0xe
jne 0x180044e67
mov r8, rcx
lea rdx, str.RewardCrate_19
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180044ea3
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x68]
call fcn.180046860
or r14d, 2
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180044e87
mov rax, qword [rax]
cmp rcx, 0xe
jne 0x180044ea8
mov r8, rcx
lea rdx, str.RewardCrate_20
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180044ea8
mov sil, 1
jmp 0x180044eab
xor sil, sil
test r14b, 2
je 0x180044f07
and r14d, 0xfffffffd
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x180044ef1
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180044eec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800450bc
call fcn.180048b34
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
test r14b, 1
je 0x180044f6f
and r14d, 0xfffffffe
mov rdx, qword [rbp + 0x150]
cmp rdx, 0xf
jbe 0x180044f52
inc rdx
mov rcx, qword [rbp + 0x138]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180044f4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800450c3
call fcn.180048b34
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x150], 0xf
mov byte [rbp + 0x138], 0
test sil, sil
je 0x18004506d
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x50], xmm0
mov esi, dword [rdi + 0xe4]
mov rdi, qword [0x18005af08]
mov ecx, 4
mov rax, qword [r13 + r12*8]
mov ecx, dword [rcx + rax]
cmp dword [0x18005af00], ecx
jle 0x180044fd1
lea rcx, [0x18005af00]
call fcn.180049084
cmp dword [0x18005af00], 0xffffffff
jne 0x180044fd1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x18005af00]
call fcn.180049018
mov rax, qword [rdi]
mov rdx, qword [rax + 0x238]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x20], rax
movd xmm3, esi
movss xmm2, dword [rsp + 0x54]
movss xmm1, dword [rsp + 0x50]
mov rcx, rdi
call rdx
movd xmm0, dword [0x18005aed8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm1, dword [rbp + 0xc8]
mulss xmm1, xmm0
movss dword [rbp + 0xc8], xmm1
movd xmm0, dword [0x18005aedc]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm10
movss xmm1, dword [rbp + 0xb8]
mulss xmm1, xmm0
movss dword [rbp + 0xb8], xmm1
movss xmm0, dword [0x180050f80]
comiss xmm0, dword [rbp + 0xb0]
ja 0x18004507a
add rbx, 8
cmp rbx, r15
jne 0x180044e20
mov rbx, qword [rbp + 0x120]
test rbx, rbx
je 0x1800450d2
mov rdx, qword [rbp + 0x130]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800450ca
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800450ca
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, rbx
call fcn.180048b34
cmp byte [0x18005a0a3], 0
je 0x1800451d5
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180045173
mov eax, dword [0x18005a0b0]
test eax, eax
jle 0x180045179
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.180040290
test rax, rax
je 0x180045173
lea r8, str.Bip01_Pelvis
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.18003e040
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x18005af08]
call fcn.18003df20
cmp byte [0x18005a0a2], 0
je 0x180045173
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
call fcn.180042040
mov eax, dword [0x18005a0b0]
cmp byte [0x18005a0a1], 0
je 0x1800451d5
movaps xmm0, xmmword [0x180051140]
movaps xmmword [rbp + 0x100], xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov eax, dword [0x18005aedc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x18005aed8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm3, dword [0x180050f80]
movss dword [rsp + 0x20], xmm3
lea r9, [rbp + 0x100]
call fcn.180048750
call fcn.18000ee10
mov rcx, qword [rbp + 0x178]
xor rcx, rsp
call fcn.180048ad0
lea r11, [rsp + 0x320]
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