Function at 0x180002c70
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 - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180049028]
xor rax, rsp
mov qword [rbp + 0x17], rax
cmp byte [0x180049a72], 0
je 0x180003e02
cmp qword [0x180049c50], 0
jne 0x180002cc1
call fcn.180026bb0
mov rdi, qword [0x180049ac8]
lea rdx, [rbp - 0x41]
mov rcx, qword [0x180049c70]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rbp - 0x35]
sub eax, dword [rbp - 0x3d]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rbp - 0x39]
sub eax, dword [rbp - 0x41]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x10], xmm0
movss dword [rdi + 0x14], xmm1
lea rcx, [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
sub rax, qword [0x180049c78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [0x180049c80]
divss xmm1, xmm0
movss dword [rdi + 0x18], xmm1
mov qword [0x180049c78], rcx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x148], al
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x149], al
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x14a], al
mov byte [rdi + 0x14b], 0
mov rcx, qword [0x180049ac8]
lea rbx, [rcx + 0x130]
cmp byte [rcx + 0x3a3], 0
je 0x180002dc8
cvttss2si eax, dword [rbx]
mov dword [rbp - 0x11], eax
cvttss2si eax, dword [rcx + 0x134]
mov dword [rbp - 0xd], eax
lea rdx, [rbp - 0x11]
mov rcx, qword [0x180049c70]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov dword [rbx], 0xff7fffff
mov dword [rbx + 4], 0xff7fffff
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x180002e35
mov rdx, qword [0x180049c70]
cmp rax, rdx
je 0x180002df9
mov rcx, rax
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x180002e35
lea rcx, [rbp - 0x49]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x180002e35
lea rdx, [rbp - 0x49]
mov rcx, qword [0x180049c70]
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x180002e35
movd xmm1, dword [rbp - 0x45]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbp - 0x49]
cvtdq2ps xmm0, xmm0
movss dword [rbx], xmm0
movss dword [rbx + 4], xmm1
cmp byte [rdi + 0xc8], 0
je 0x180002e45
mov eax, 0xffffffff
jmp 0x180002e52
mov rax, qword [0x180049ac8]
mov eax, dword [rax + 0x1e90]
cmp dword [0x1800493a0], eax
je 0x180002e65
mov dword [0x1800493a0], eax
call fcn.180027270
call fcn.1800273f0
call fcn.180009930
mov rax, qword [0x180049ac8]
or dword [rax + 0x1ab8], 2
mov dword [rax + 0x1ad8], 0x43e10000
mov dword [rax + 0x1adc], 0x43a50000
mov dword [rax + 0x1ac0], 4
mov byte [rax + 0xc8], 1
xor edx, edx
mov r8d, 0x3020
lea rcx, str.HellMemez___If_you_paid_for_this_you_got_scammed
call fcn.18000dc60
test al, al
je 0x180003e02
mov rcx, qword [0x180049ac8]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
je 0x180002ef7
cmp dword [rcx + 0x10], 1
jne 0x180002ef2
cmp dword [rcx + 4], 0
je 0x180002ef7
call fcn.180033460
call fcn.180030ac0
test al, al
je 0x180003df4
mov rcx, qword [0x180049ac8]
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], 0
jne 0x18000326f
mov rbx, qword [rcx + 0x1f30]
test rbx, rbx
je 0x18000326f
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Player
mov rcx, rbx
call fcn.180031e60
test al, al
je 0x180003268
movsx rcx, word [rbx + 0x64]
shl rcx, 5
add rcx, qword [rbx + 8]
mov ecx, dword [rcx]
call fcn.1800108f0
lea rdx, [0x180049a9c]
lea rcx, str.Infinite_Health
call fcn.180029ba0
test al, al
je 0x180002f93
mov rdx, qword [0x180049b58]
cmp byte [0x180049a9c], 0
je 0x180002f8e
call fcn.180035ba0
jmp 0x180002f93
call fcn.180035cf0
lea rdx, [0x180049a97]
lea rcx, str.Infinite_Ammo
call fcn.180029ba0
test al, al
je 0x180002fc6
mov rdx, qword [0x180049ae8]
cmp byte [0x180049a97], 0
je 0x180002fc1
call fcn.180035ba0
jmp 0x180002fc6
call fcn.180035cf0
lea rdx, [0x180049aa2]
lea rcx, str.Infinite_Grenades
call fcn.180029ba0
test al, al
je 0x180002ff9
mov rdx, qword [0x180049b20]
cmp byte [0x180049aa2], 0
je 0x180002ff4
call fcn.180035ba0
jmp 0x180002ff9
call fcn.180035cf0
lea rdx, [0x180049aab]
lea rcx, str.Infinite_Stratagems
call fcn.180029ba0
test al, al
je 0x18000302c
mov rdx, qword [0x180049b90]
cmp byte [0x180049aab], 0
je 0x180003027
call fcn.180035ba0
jmp 0x18000302c
call fcn.180035cf0
lea rdx, [0x180049aa3]
lea rcx, str.Infinite_Stamina
call fcn.180029ba0
test al, al
je 0x18000305f
mov rdx, qword [0x180049b48]
cmp byte [0x180049aa3], 0
je 0x18000305a
call fcn.180035ba0
jmp 0x18000305f
call fcn.180035cf0
lea rdx, [0x180049aa9]
lea rcx, str.Infinite_Syringes
call fcn.180029ba0
test al, al
je 0x180003092
mov rdx, qword [0x180049b38]
cmp byte [0x180049aa9], 0
je 0x18000308d
call fcn.180035ba0
jmp 0x180003092
call fcn.180035cf0
lea rdx, [0x180049aa0]
lea rcx, str.No_Recoil
call fcn.180029ba0
test al, al
je 0x1800030c5
mov rdx, qword [0x180049b00]
cmp byte [0x180049aa0], 0
je 0x1800030c0
call fcn.180035ba0
jmp 0x1800030c5
call fcn.180035cf0
lea rdx, [0x180049aa8]
lea rcx, str.No_Reload
call fcn.180029ba0
test al, al
je 0x1800030f8
mov rdx, qword [0x180049b10]
cmp byte [0x180049aa8], 0
je 0x1800030f3
call fcn.180035ba0
jmp 0x1800030f8
call fcn.180035cf0
lea rdx, [0x180049a77]
lea rcx, str.Infinite_Jetpack
call fcn.180029ba0
test al, al
je 0x18000312b
mov rdx, qword [0x180049b80]
cmp byte [0x180049a77], 0
je 0x180003126
call fcn.180035ba0
jmp 0x18000312b
call fcn.180035cf0
lea rdx, [0x180049a76]
lea rcx, str.Infinite_Backpack
call fcn.180029ba0
test al, al
je 0x18000315e
mov rdx, qword [0x180049b78]
cmp byte [0x180049a76], 0
je 0x180003159
call fcn.180035ba0
jmp 0x18000315e
call fcn.180035cf0
lea rdx, [0x180049aaa]
lea rcx, str.Infinite_Shield
call fcn.180029ba0
test al, al
je 0x180003191
mov rdx, qword [0x180049b60]
cmp byte [0x180049aaa], 0
je 0x18000318c
call fcn.180035ba0
jmp 0x180003191
call fcn.180035cf0
lea rdx, [0x180049a9d]
lea rcx, str.Infinite_Ammo_on_Support_weapons
call fcn.180029ba0
test al, al
je 0x1800031c4
mov rdx, qword [0x180049af0]
cmp byte [0x180049a9d], 0
je 0x1800031bf
call fcn.180035ba0
jmp 0x1800031c4
call fcn.180035cf0
lea rdx, [0x180049a9f]
lea rcx, str.No_Overheat_on_Laser_guns
call fcn.180029ba0
test al, al
je 0x1800031f7
mov rdx, qword [0x180049ae0]
cmp byte [0x180049a9f], 0
je 0x1800031f2
call fcn.180035ba0
jmp 0x1800031f7
call fcn.180035cf0
lea rdx, [0x180049a94]
lea rcx, str.Sickle_no_overheat
call fcn.180029ba0
test al, al
je 0x18000322a
mov rdx, qword [0x180049b40]
cmp byte [0x180049a94], 0
je 0x180003225
call fcn.180035ba0
jmp 0x18000322a
call fcn.180035cf0
mov rcx, qword [0x180049ac8]
mov rdx, qword [rcx + 0x1a18]
cmp byte [rdx + 0x83], 0
jne 0x18000326f
mov r8, qword [rcx + 0x1f30]
test r8, r8
je 0x18000326f
movsx rax, word [r8 + 0x64]
shl rax, 5
add rax, qword [r8 + 8]
test byte [rax + 4], 8
jne 0x18000326f
dec dword [rdx + 0xc0]
jmp 0x18000326f
mov rcx, qword [0x180049ac8]
mov rax, qword [rcx + 0x1a18]
cmp byte [rax + 0x83], 0
jne 0x180003def
mov rbx, qword [rcx + 0x1f30]
test rbx, rbx
je 0x180003def
xor r9d, r9d
xor r8d, r8d
lea rdx, str.World
mov rcx, rbx
call fcn.180031e60
test al, al
je 0x180003def
movsx rcx, word [rbx + 0x64]
shl rcx, 5
add rcx, qword [rbx + 8]
mov ecx, dword [rcx]
call fcn.1800108f0
lea rdx, [0x180049a75]
lea rcx, str.Show_All_Map_icons
call fcn.180029ba0
test al, al
je 0x180003357
mov rdx, qword [0x180049b18]
cmp byte [0x180049a75], 0
je 0x180003322
call fcn.180035ba0
mov rdx, qword [0x180049b70]
call fcn.180035ba0
mov rdx, qword [0x180049b50]
call fcn.180035ba0
mov rdx, qword [0x180049af8]
call fcn.180035ba0
mov rdx, qword [0x180049b30]
call fcn.180035ba0
jmp 0x180003357
call fcn.180035cf0
mov rdx, qword [0x180049b70]
call fcn.180035cf0
mov rdx, qword [0x180049b50]
call fcn.180035cf0
mov rdx, qword [0x180049af8]
call fcn.180035cf0
mov rdx, qword [0x180049b30]
call fcn.180035cf0
lea rdx, [0x180049a9e]
lea rcx, str.Infinite_Mission_Time
call fcn.180029ba0
test al, al
je 0x18000338a
mov rdx, qword [0x180049b08]
cmp byte [0x180049a9e], 0
je 0x180003385
call fcn.180035ba0
jmp 0x18000338a
call fcn.180035cf0
lea rdx, [0x180049a73]
lea rcx, str.Instant_shuttle__crashes_dont_use_
call fcn.180029ba0
test al, al
je 0x1800033bd
mov rdx, qword [0x180049b88]
cmp byte [0x180049a73], 0
je 0x1800033b8
call fcn.180035ba0
jmp 0x1800033bd
call fcn.180035cf0
lea rdx, [0x180049a74]
lea rcx, str.Solo_Vault
call fcn.180029ba0
test al, al
je 0x1800033f0
mov rdx, qword [0x180049b68]
cmp byte [0x180049a74], 0
je 0x1800033eb
call fcn.180035ba0
jmp 0x1800033f0
call fcn.180035cf0
lea rdx, [0x180049a95]
lea rcx, str.NPCs_do_not_touch_you__Turrets_stop_working_
call fcn.180029ba0
test al, al
je 0x180003423
mov rdx, qword [0x180049b28]
cmp byte [0x180049a95], 0
je 0x18000341e
call fcn.180035ba0
jmp 0x180003423
call fcn.180035cf0
lea rdx, [0x180049a96]
lea rcx, str.Speed__experimental_may_slow_the_game_speed_down_
call fcn.180029ba0
test al, al
je 0x180003456
mov rcx, qword [0x180049ab0]
cmp byte [0x180049a96], 0
je 0x180003451
call fcn.1800378b0
jmp 0x180003456
call fcn.180037ad0
lea rdx, [0x180049aa1]
lea rcx, str.Increase_Samples
call fcn.180029ba0
test al, al
je 0x180003489
mov rcx, qword [0x180049ab8]
cmp byte [0x180049aa1], 0
je 0x180003484
call fcn.1800378b0
jmp 0x180003489
call fcn.180037ad0
mov rbx, qword [0x180049ac8]
mov dword [rbp - 0x41], 0x13
movups xmm0, xmmword [rbx + 0x1738]
movups xmmword [rbp - 0x3d], xmm0
lea rcx, [rbx + 0x1b30]
lea rdx, [rbp - 0x41]
call fcn.180016a10
mov qword [rbx + 0x1738], 0x3f800000
xor r13d, r13d
mov dword [rbx + 0x1740], r13d
mov dword [rbx + 0x1744], 0x3f800000
mov rbx, qword [0x180049ac8]
mov dword [rbp - 0x41], 0x14
movups xmm0, xmmword [rbx + 0x1748]
movups xmmword [rbp - 0x3d], xmm0
lea rcx, [rbx + 0x1b30]
lea rdx, [rbp - 0x41]
call fcn.180016a10
mov qword [rbx + 0x1748], 0x3f4ccccd
mov dword [rbx + 0x1750], r13d
mov dword [rbx + 0x1754], 0x3f800000
mov dword [rbp - 0x49], 0x1f4
mov dword [rbp - 0x11], 1
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x11]
lea r8, [0x180049aa4]
lea rcx, str.Commons
call fcn.18002aff0
movabs r12, 0x7fffffffffffffff
test al, al
je 0x180003717
mov rdi, qword [0x180049ab8]
test rdi, rdi
je 0x180003717
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x41], xmm1
mov qword [rbp - 0x31], r13
mov rdx, qword [rdi + 8]
sub rdx, qword [rdi]
je 0x1800035b0
cmp rdx, r12
ja 0x180003e3c
lea rcx, [rbp - 0x41]
call fcn.180003f60
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi]
sub rbx, rdx
mov r8, rbx
mov rdi, qword [rbp - 0x41]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rbp - 0x39], rax
jmp 0x1800035b4
mov rdi, qword [rbp - 0x41]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rax
mov edx, dword [0x180049aa4]
lea rcx, [rbp - 0x29]
call fcn.180034ce0
nop
mov rdx, qword [rbp - 0x21]
mov rcx, qword [rbp - 0x29]
call fcn.180039820
mov word [rdi + 8], 0
mov byte [rdi + 0xa], 0
mov r8d, 8
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x29]
sub rax, r9
add rax, r8
cmp rax, r8
jbe 0x180003637
mov edx, r8d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rdx - 8]
mov byte [rdi + rdx], al
inc r8d
lea rdx, [rdx + 1]
mov rcx, qword [rbp - 0x21]
mov r9, qword [rbp - 0x29]
sub rcx, r9
add rcx, 8
movsxd rax, r8d
cmp rax, rcx
jb 0x180003610
lea rcx, [rbp - 0x41]
call fcn.180034be0
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r13
mov rsi, qword [rbp - 0x39]
mov rdi, qword [rbp - 0x41]
sub rsi, rdi
je 0x180003688
cmp rsi, r12
ja 0x180003e42
mov rdx, rsi
lea rcx, [rbp - 9]
call fcn.180003f60
mov rbx, qword [rbp - 9]
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rsi + rbx]
mov qword [rbp - 1], rax
lea rdx, [rbp - 9]
call fcn.180037740
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x1800036db
mov rdx, qword [rbp - 0x19]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800036ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800036ca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180039a60
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r13
test rdi, rdi
je 0x180003717
mov rdx, qword [rbp - 0x31]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x18000370f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000370f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180039a60
mov rbx, qword [0x180049ac8]
lea r9, [rbx + 0x1b30]
movsxd rax, dword [r9]
lea rdx, [rax + rax*4]
mov rcx, qword [r9 + 8]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
movsxd rcx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9], eax
lea rax, [rcx - 2]
lea r8, [rax + rax*4]
mov rdx, qword [rbx + 0x1b38]
movsxd rax, dword [rdx + r8*4]
add rax, rax
movups xmm0, xmmword [rdx + r8*4 + 4]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
dec dword [r9]
mov dword [rbp - 0x41], 0x13
movups xmm0, xmmword [rbx + 0x1738]
movups xmmword [rbp - 0x3d], xmm0
lea rdx, [rbp - 0x41]
mov rcx, r9
call fcn.180016a10
mov dword [rbx + 0x1738], r13d
mov qword [rbx + 0x173c], 0x3f800000
mov dword [rbx + 0x1744], 0x3f800000
movaps xmm6, xmmword [0x180042070]
mov rbx, qword [0x180049ac8]
mov dword [rbp - 0x41], 0x14
movups xmm0, xmmword [rbx + 0x1748]
movups xmmword [rbp - 0x3d], xmm0
lea rcx, [rbx + 0x1b30]
lea rdx, [rbp - 0x41]
call fcn.180016a10
movups xmmword [rbx + 0x1748], xmm6
mov dword [rbp - 0x11], 0x1f4
mov dword [rbp - 0x49], 1
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x49]
lea r8, [0x180049a90]
lea rcx, str.Rares
call fcn.18002aff0
test al, al
je 0x1800039d7
mov rdi, qword [0x180049ab8]
test rdi, rdi
je 0x1800039d7
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x41], xmm1
mov qword [rbp - 0x31], r13
mov rdx, qword [rdi + 8]
sub rdx, qword [rdi]
je 0x180003876
cmp rdx, r12
ja 0x180003e48
lea rcx, [rbp - 0x41]
call fcn.180003f60
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi]
sub rbx, rdx
mov r8, rbx
mov rdi, qword [rbp - 0x41]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rbp - 0x39], rax
jmp 0x18000387a
mov rdi, qword [rbp - 0x41]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rax
mov edx, dword [0x180049a90]
lea rcx, [rbp - 0x29]
call fcn.180034ce0
nop
mov rdx, qword [rbp - 0x21]
mov rcx, qword [rbp - 0x29]
call fcn.180039820
mov word [rdi + 0x14], 0
mov byte [rdi + 0x16], 0
mov r9d, 0x14
mov rax, qword [rbp - 0x21]
mov r8, qword [rbp - 0x29]
sub rax, r8
add rax, r9
cmp rax, r9
jbe 0x1800038f7
mov edx, r9d
nop word [rax + rax]
movzx eax, byte [r8 + rdx - 0x14]
mov byte [rdi + rdx], al
inc r9d
lea rdx, [rdx + 1]
mov rcx, qword [rbp - 0x21]
mov r8, qword [rbp - 0x29]
sub rcx, r8
add rcx, 0x14
movsxd rax, r9d
cmp rax, rcx
jb 0x1800038d0
lea rcx, [rbp - 0x41]
call fcn.180034be0
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r13
mov rsi, qword [rbp - 0x39]
mov rdi, qword [rbp - 0x41]
sub rsi, rdi
je 0x180003948
cmp rsi, r12
ja 0x180003e4e
mov rdx, rsi
lea rcx, [rbp - 9]
call fcn.180003f60
mov rbx, qword [rbp - 9]
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rsi]
mov qword [rbp - 1], rax
lea rdx, [rbp - 9]
call fcn.180037740
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x18000399b
mov rdx, qword [rbp - 0x19]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000398a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000398a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180039a60
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r13
test rdi, rdi
je 0x1800039d7
mov rdx, qword [rbp - 0x31]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800039cf
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800039cf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180039a60
mov rbx, qword [0x180049ac8]
lea r9, [rbx + 0x1b30]
movsxd rax, dword [r9]
lea rdx, [rax + rax*4]
mov rcx, qword [r9 + 8]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
movsxd rcx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9], eax
lea rax, [rcx - 2]
lea r8, [rax + rax*4]
mov rdx, qword [rbx + 0x1b38]
movsxd rax, dword [rdx + r8*4]
add rax, rax
movups xmm0, xmmword [rdx + r8*4 + 4]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
dec dword [r9]
movaps xmm6, xmmword [0x1800420b0]
mov dword [rbp - 0x41], 0x13
movups xmm0, xmmword [rbx + 0x1738]
movups xmmword [rbp - 0x3d], xmm0
lea rdx, [rbp - 0x41]
mov rcx, r9
call fcn.180016a10
movups xmmword [rbx + 0x1738], xmm6
movaps xmm6, xmmword [0x1800420a0]
mov rbx, qword [0x180049ac8]
mov dword [rbp - 0x41], 0x14
movups xmm0, xmmword [rbx + 0x1748]
movups xmmword [rbp - 0x3d], xmm0
lea rcx, [rbx + 0x1b30]
lea rdx, [rbp - 0x41]
call fcn.180016a10
movups xmmword [rbx + 0x1748], xmm6
mov dword [rbp - 0x11], 0x1f4
mov dword [rbp - 0x49], 1
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x49]
lea r8, [0x180049a98]
lea rcx, str.Super_Rares
call fcn.18002aff0
test al, al
je 0x180003d4e
mov rsi, qword [0x180049ab8]
test rsi, rsi
je 0x180003d4e
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov rdi, r13
mov qword [rbp - 9], r13
mov r14, r13
mov qword [rbp - 1], r13
mov r15, r13
mov qword [rbp + 7], r13
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
je 0x180003b3a
cmp rdx, r12
ja 0x180003e54
lea rcx, [rbp - 9]
call fcn.180003f60
mov rbx, qword [rsi + 8]
mov rdx, qword [rsi]
sub rbx, rdx
mov r8, rbx
mov rdi, qword [rbp - 9]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea r14, [rdi + rbx]
mov qword [rbp - 1], r14
mov r15, qword [rbp + 7]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rax
mov edx, dword [0x180049a98]
lea rcx, [rbp - 0x29]
call fcn.180034ce0
nop
mov rdx, qword [rbp - 0x21]
mov rcx, qword [rbp - 0x29]
call fcn.180039820
mov word [rdi + 0x20], 0
mov byte [rdi + 0x22], 0
mov r8d, 0x20
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x29]
sub rax, r9
add rax, r8
cmp rax, r8
jbe 0x180003bb7
mov edx, r8d
nop word [rax + rax]
movzx eax, byte [r9 + rdx - 0x20]
mov byte [rdi + rdx], al
inc r8d
lea rdx, [rdx + 1]
mov rcx, qword [rbp - 0x21]
mov r9, qword [rbp - 0x29]
sub rcx, r9
add rcx, 0x20
movsxd rax, r8d
cmp rax, rcx
jb 0x180003b90
lea rdx, [0x18004189c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
mov rsi, r13
sub r14, rdi
je 0x180003c5d
lea r12, [r14 - 1]
nop word [rax + rax]
lea rdx, [0x180034850]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rbx, rax
mov edx, 2
lea rcx, [rbp - 0x41]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov byte [rdx + rbx + 0x58], 0x30
movzx edx, byte [rdi + rsi]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
cmp rsi, r12
jae 0x180003c4b
lea rdx, [0x180041188]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
inc rsi
cmp rsi, r14
jb 0x180003be0
movabs r12, 0x7fffffffffffffff
lea rdx, [0x1800418a0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
lea rdx, [0x180002040]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r13
test r14, r14
je 0x180003cc0
cmp r14, r12
ja 0x180003e36
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.180003f60
mov rbx, qword [rbp - 0x41]
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + r14]
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x41]
call fcn.180037740
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x180003d13
mov rdx, qword [rbp - 0x19]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003d02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180003d02
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180039a60
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r13
test rdi, rdi
je 0x180003d4e
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x180003d43
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180003d43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r15
mov rcx, rdi
call fcn.180039a60
mov r8, qword [0x180049ac8]
movsxd rax, dword [r8 + 0x1b30]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1b38]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1608], xmm0
movsxd rcx, dword [r8 + 0x1b30]
lea eax, [rcx - 1]
mov dword [r8 + 0x1b30], eax
lea rax, [rcx - 2]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1b38]
movsxd rax, dword [rcx + rdx*4]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 + 4]
movups xmmword [r8 + rax*8 + 0x1608], xmm0
dec dword [r8 + 0x1b30]
mov rdx, qword [r8 + 0x1a18]
cmp byte [rdx + 0x83], 0
jne 0x180003def
mov rax, qword [r8 + 0x1f30]
test rax, rax
je 0x180003def
movsx rcx, word [rax + 0x64]
shl rcx, 5
mov rax, qword [rax + 8]
test byte [rcx + rax + 4], 8
jne 0x180003def
dec dword [rdx + 0xc0]
call fcn.180030ea0
call fcn.18000fe70
call fcn.18000ab90
mov al, 1
jmp 0x180003e04
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180039920
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180003f40
nop
call fcn.180003f40
nop
call fcn.180003f40
nop
call fcn.180003f40
nop
call fcn.180003f40
nop
call fcn.180003f40
int3