Function at 0x140112760
Capabilities:
Check if file exists
Get file attributes
Hash data using fnv
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x340
mov rax, qword [0x1405f98c0]
xor rax, rsp
mov qword [rsp + 0x330], rax
mov r14, rdx
mov qword [rsp + 0x98], r8
xor esi, esi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0xd8], esi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xe0], xmm0
mov qword [r11 - 0x278], rsi
mov byte [rsp + 0xf8], sil
movups xmmword [r11 - 0x78], xmm0
mov qword [r11 - 0x68], rsi
mov qword [r11 - 0x60], 7
mov word [r11 - 0x78], si
lea rdx, [r11 - 0x290]
lea rcx, [r11 - 0x78]
call fcn.140113db0
test al, al
jne 0x140112929
lea r9, str.steam:_could_not_get_steam_path..._skipping...
lea r8, str.STEAMGAMEPROVIDER
lea edx, [rsi + 4]
call fcn.1400c6f10
nop
mov rdx, qword [rsp + 0x308]
cmp rdx, 7
jbe 0x14011284d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140112848
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aac
call fcn.1403e3650
mov qword [rsp + 0x300], rsi
mov qword [rsp + 0x308], 7
mov word [rsp + 0x2f0], si
mov r14, qword [rsp + 0xe0]
test r14, r14
je 0x140112922
mov r15, qword [rsp + 0xe8]
cmp r14, r15
je 0x1401128e6
lea rbx, [r14 + 0x18]
nop dword [rax + rax]
mov rdx, qword [rbx]
cmp rdx, 0xf
jbe 0x1401128ca
inc rdx
mov rcx, qword [rbx - 0x18]
cmp rdx, 0x1000
jb 0x1401128c5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140113956
mov rcx, r8
call fcn.1403e3650
mov qword [rbx - 8], rsi
mov qword [rbx], recv
mov byte [rbx - 0x18], 0
add rbx, 0x20
lea rax, [rbx - 0x18]
cmp rax, r15
jne 0x140112890
mov rdx, qword [rsp + 0xf0]
sub rdx, r14
and rdx, 0xffffffffffffffe0
mov rax, r14
cmp rdx, 0x1000
jb 0x14011291a
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113956
mov rcx, r14
call fcn.1403e3650
xor al, al
jmp 0x140113929
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0xd8]
call fcn.1400eb020
cmp qword [rax + 0x18], 7
jbe 0x140112948
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp eax, 0xffffffff
setne dil
mov rdx, qword [rsp + 0x328]
cmp rdx, 7
jbe 0x1401129a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011299d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14011395c
call fcn.1403e3650
mov byte [r14], dil
cmp ebx, 0xffffffff
je 0x1401138b6
mov r15, qword [rsp + 0x300]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r15
cmp rax, 0x1a
jb 0x140113962
lea r12, [rsp + 0x2f0]
cmp qword [rsp + 0x308], 7
cmova r12, qword [rsp + 0x2f0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b0], xmm0
mov qword [rsp + 0x2c0], rsi
mov qword [rsp + 0x2c8], rsi
lea r14, [r15 + 0x1a]
mov ebx, 7
lea rdi, [rsp + 0x2b0]
cmp r14, rbx
jbe 0x140112aad
mov rbx, r14
or rbx, 7
movabs r13, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x140112a42
mov rbx, rcx
lea rcx, [r13*2]
jmp 0x140112a67
mov edx, 0xa
cmp rbx, rdx
cmovb rbx, rdx
lea rcx, [rbx + 1]
cmp rcx, r13
ja 0x140113967
add rcx, rcx
cmp rcx, 0x1000
jb 0x140112a93
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14011396c
mov rcx, rax
call fcn.1403e3660
test rax, rax
je 0x140113971
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140112aa5
test rcx, rcx
je 0x140112aa2
call fcn.1403e3660
mov rdi, rax
jmp 0x140112aa5
mov rdi, rsi
mov qword [rsp + 0x2b0], rdi
mov qword [rsp + 0x2c0], r14
mov qword [rsp + 0x2c8], rbx
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.14043cc20
movups xmm0, xmmword [str.SOFTWAREValveSteamApps]
movups xmmword [rbx + rdi], xmm0
movups xmm1, xmmword [0x140571a00]
movups xmmword [rbx + rdi + 0x10], xmm1
movups xmm0, xmmword [0x140571a10]
movups xmmword [rbx + rdi + 0x20], xmm0
mov eax, dword [0x140571a20]
mov dword [rbx + rdi + 0x30], eax
mov word [rdi + r14*2], si
mov dword [rsp + 0x54], reloc.WS2_32.dll_recv
mov qword [rsp + 0x78], rsi
lea rdx, [rsp + 0x2b0]
cmp qword [rsp + 0x2c8], 7
cmova rdx, qword [rsp + 0x2b0]
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140113977
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 7
jbe 0x140112bb5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140112bb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401139a3
call fcn.1403e3650
mov qword [rsp + 0x2c0], rsi
mov qword [rsp + 0x2c8], 7
mov word [rsp + 0x2b0], si
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x78]
call fcn.140107890
nop
mov r12, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
mov r13d, 0x80000000
mov qword [rsp + 0x68], r12
cmp r12, qword [rsp + 0xb8]
je 0x14011360d
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b0], xmm0
mov qword [rsp + 0x2c0], rsi
mov qword [rsp + 0x2c8], rsi
mov rdi, qword [r12 + 0x10]
mov r14, r12
cmp qword [r12 + 0x18], 7
jbe 0x140112c44
mov r14, qword [r12]
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x1401139a9
cmp rdi, 7
ja 0x140112c82
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + 0x2c8], 7
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x2b0], xmm0
jmp 0x140112d3b
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x140112ca1
mov rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140112cd1
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1401139ae
add rcx, rcx
cmp rcx, 0x1000
jb 0x140112d00
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1401139b3
mov rcx, rax
call fcn.1403e3660
mov rcx, rax
test rax, rax
je 0x140113aa6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140112d0f
test rcx, rcx
je 0x140112d0c
call fcn.1403e3660
jmp 0x140112d0f
mov rax, rsi
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + 0x2c8], rbx
lea r8, [rdi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.14043cc20
nop
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x2d0]
call fcn.1401844a0
mov rbx, rax
call fcn.1403fde44
mov rdi, rax
cmp qword [rbx + 0x18], 0xf
jbe 0x140112d65
mov rbx, qword [rbx]
mov dword [rax], esi
mov r8d, 0xa
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call fcn.140402ab8
mov qword [rsp + 0x80], rax
cmp rbx, qword [rsp + 0xc0]
je 0x1401139b9
cmp dword [rdi], 0x22
je 0x1401139c5
mov r15, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xc8], rax
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 0xf
jbe 0x140112df0
inc rdx
mov rcx, qword [rsp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140112dea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401139d2
call fcn.1403e3650
nop
mov qword [rsp + 0x70], rsi
lea rdx, [rsp + 0x2b0]
cmp qword [rsp + 0x2c8], 7
cmova rdx, qword [rsp + 0x2b0]
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1401139d8
mov r14, qword [rsp + 0x70]
mov rbx, r14
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0xd0], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], rsi
mov qword [rsp + 0x2e8], rsi
mov r8d, 9
lea rdx, str.Installed
lea rcx, [rsp + 0x2d0]
call fcn.1400c71d0
nop
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], 4
lea r8, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 7
cmova r8, qword [rsp + 0x2d0]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor edx, edx
lea r9d, [rdx + 0x10]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x140113a04
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 7
jbe 0x140112f3d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140112f37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113a30
call fcn.1403e3650
nop
jmp 0x140112f5e
movabs rdi, 0xcccccccccccccccd
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], rsi
mov qword [rsp + 0x2e8], rsi
mov r8d, 8
lea rdx, str.Updating
lea rcx, [rsp + 0x2d0]
call fcn.1400c71d0
nop
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x58], 4
lea r8, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 7
cmova r8, qword [rsp + 0x2d0]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor edx, edx
lea r9d, [rdx + 0x10]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x140113a36
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 7
jbe 0x14011303d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113037
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113a62
call fcn.1403e3650
nop
jmp 0x140113068
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], rsi
mov qword [rsp + 0x2e8], rsi
mov r8d, 7
lea rdx, str.Running
lea rcx, [rsp + 0x2d0]
call fcn.1400c71d0
nop
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x58], 4
lea r8, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 7
cmova r8, qword [rsp + 0x2d0]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor edx, edx
lea r9d, [rdx + 0x10]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x140113a68
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 7
jbe 0x14011313d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113137
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113a94
call fcn.1403e3650
nop
jmp 0x140113168
lea r9, [rsp + 0x2e5]
mov r8, qword [rsp + 0x80]
nop dword [rax + rax]
dec r9
mov rax, rdi
mul r8
shr rdx, 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 r8, rdx
test rdx, rdx
jne 0x140113180
lea r8, [rsp + 0x2e5]
mov rdx, r9
lea rcx, [rsp + 0x310]
call fcn.1400e56d0
or dword [rsp + 0x54], 0xc
mov ecx, 0x138
call fcn.1403e3660
mov rdi, rax
mov qword [rsp + 0x100], rax
lea rax, [0x140571e08]
mov qword [rdi + 8], rax
lea rax, [0x140571f70]
mov qword [rdi + 0x60], rax
lea rax, vtable.ps::Game.0
mov qword [rdi + 0x80], rax
lea rcx, [rdi + 0x88]
lea rdx, [rsp + 0x310]
call fcn.1400c6060
xorps xmm0, xmm0
movups xmmword [rdi + 0xa8], xmm0
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xc0], recv
mov byte [rdi + 0xa8], 0
movups xmmword [rdi + 0xc8], xmm0
mov qword [rdi + 0xd8], rsi
mov qword [rdi + 0xe0], recv
mov byte [rdi + 0xc8], 0
mov dword [rdi + 0xe8], recv
mov byte [rdi + 0xec], 1
mov dword [rdi + 0xf0], esi
mov qword [rdi + 0xf8], rsi
mov qword [rdi + 0x100], rsi
mov qword [rdi + 0x108], rsi
mov byte [rdi + 0x110], 0
movups xmmword [rdi + 0x118], xmm0
mov qword [rdi + 0x128], rsi
mov qword [rdi + 0x130], recv
mov byte [rdi + 0x118], 0
or dword [rsp + 0x54], 2
lea rax, vtable.ps::LaunchableGame.0
mov qword [rdi], rax
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
lea rax, vtable.ps::LaunchableGame.1.0
mov qword [rcx + rdi + 8], rax
mov qword [rdi + 0x10], rsi
lea rcx, [rdi + 0x18]
call fcn.1400ecd90
lea rax, vtable.ps::InstallableGame.1.0
mov qword [rdi + 0x58], rax
mov rax, qword [rdi + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.ps::InstallableGame.0
mov qword [rcx + rdi + 0x60], rax
mov word [rdi + 0x68], 0
lea rax, vtable.ps::SteamGame.0
mov qword [rdi], rax
lea rax, vtable.ps::SteamGame.1.0
mov qword [rdi + 0x58], rax
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
lea rax, vtable.ps::SteamGame.2.0
mov qword [rcx + rdi + 8], rax
mov qword [rdi + 0x70], rsi
mov qword [rdi + 0x78], rsi
mov qword [rsp + 0x70], rdi
or dword [rsp + 0x54], 1
mov rcx, rdi
call fcn.14010fe60
test al, al
jne 0x140113431
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rsp + 0x328]
cmp rdx, 0xf
jbe 0x1401133a8
inc rdx
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401133a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa0
call fcn.1403e3650
nop
test r14, r14
je 0x1401133dc
lea rax, [r14 + r13]
cmp rax, 5
jbe 0x1401133dc
cmp r14, 0xffffffff80000007
je 0x1401133dc
cmp r14, 0xffffffff80000060
je 0x1401133dc
cmp r14, 0xffffffff80000050
je 0x1401133dc
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 7
jbe 0x14011386a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113423
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa6
call fcn.1403e3650
add r12, 0x20
jmp 0x140112c02
lea rdx, [rsp + 0x310]
call fcn.140113ac0
mov r14d, eax
mov dword [rsp + 0x50], eax
cmp eax, 0xf
jne 0x1401136ea
movzx edx, r15b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x61]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x62]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x63]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x64]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x65]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x66]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x67]
xor rdx, rax
imul rdx, rcx
and rdx, qword [0x140891f20]
mov rax, rdx
add rax, rax
mov r8, qword [0x140891f08]
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [0x140891ef8]
je 0x140113507
add rdx, rdx
mov r8, qword [r8 + rdx*8]
nop word [rax + rax]
mov rax, qword [rcx + 0x10]
cmp qword [rsp + 0xc8], rax
je 0x14011350a
cmp rcx, r8
jne 0x140113706
mov rcx, rsi
test rcx, rcx
je 0x140113686
mov r8d, recv
lea rdx, [rsp + 0x310]
call fcn.140113cf0
nop
test rdi, rdi
je 0x140113546
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rsp + 0x328]
cmp rdx, 0xf
jbe 0x14011358a
inc rdx
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113584
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa0
call fcn.1403e3650
nop
cmp qword [rsp + 0xd0], 0
je 0x1401135c4
lea rax, [rbx + r13]
cmp rax, 5
jbe 0x1401135c4
cmp rbx, 0xffffffff80000007
je 0x1401135c4
cmp rbx, 0xffffffff80000060
je 0x1401135c4
cmp rbx, 0xffffffff80000050
je 0x1401135c4
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 7
jbe 0x14011360d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113607
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa6
call fcn.1403e3650
nop
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x14011387c
mov rdi, qword [rsp + 0xa8]
cmp rbx, rdi
je 0x140113641
nop dword [rax + rax]
mov rcx, rbx
call fcn.1400c63d0
add rbx, 0x20
cmp rbx, rdi
jne 0x140113630
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa0]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140113873
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113a9a
jmp 0x140113873
lea rcx, [rsp + 0x1b0]
call fcn.1400c7ff0
nop
lea r8, [rsp + 0x1b0]
mov rdx, r15
call fcn.140111c30
test al, al
je 0x1401136dd
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x1b0]
mov rdx, r15
call fcn.140111f30
mov r14d, dword [rsp + 0x50]
test al, al
je 0x1401136dd
cmp r14d, 0xf
je 0x1401136dd
mov r8d, r14d
lea rdx, [rsp + 0x310]
call fcn.140113cf0
nop
lea rcx, [rsp + 0x1b0]
call fcn.1400c77b0
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
mov dword [rcx + rdi + 0x70], r14d
mov qword [rsp + 0x70], rsi
test rdi, rdi
jne 0x14011370f
mov rdx, rsi
jmp 0x14011371e
mov rcx, qword [rcx + 8]
jmp 0x1401134f0
mov rax, qword [rdi + 8]
movsxd rdx, dword [rax + 4]
add rdx, 8
add rdx, rdi
mov qword [rsp + 0x80], rdx
mov rax, qword [rsp + 0x98]
mov r9, qword [rax + 8]
cmp r9, qword [rax + 0x10]
je 0x140113745
mov rcx, rsi
mov qword [r9], rdx
add qword [rax + 8], 8
jmp 0x140113760
lea r8, [rsp + 0x80]
mov rdx, r9
mov rcx, rax
call fcn.14011e260
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140113770
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rsp + 0x328]
cmp rdx, 0xf
jbe 0x1401137b4
inc rdx
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401137ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa0
call fcn.1403e3650
nop
cmp qword [rsp + 0x90], 0
je 0x1401137ee
lea rax, [rbx + r13]
cmp rax, 5
jbe 0x1401137ee
cmp rbx, 0xffffffff80000007
je 0x1401137ee
cmp rbx, 0xffffffff80000060
je 0x1401137ee
cmp rbx, 0xffffffff80000050
je 0x1401137ee
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 7
jbe 0x14011386a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140113423
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aa6
jmp 0x140113423
add r12, 0x20
jmp 0x140112c02
mov rcx, rbx
call fcn.1403e3650
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401138b2
lea rax, [rcx + r13]
cmp rax, 5
jbe 0x1401138b2
cmp rcx, 0xffffffff80000007
je 0x1401138b2
cmp rcx, 0xffffffff80000060
je 0x1401138b2
cmp rcx, 0xffffffff80000050
je 0x1401138b2
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
jmp 0x1401138b6
mov rdx, qword [rsp + 0x308]
cmp rdx, 7
jbe 0x1401138fe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401138f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140113aac
call fcn.1403e3650
mov qword [rsp + 0x300], rsi
mov qword [rsp + 0x308], 7
mov word [rsp + 0x2f0], si
lea rcx, [rsp + 0xe0]
call fcn.1400ed910
mov al, 1
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1403e3630
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1400c4f10
call fcn.1400c4e70
call fcn.1400c4e70
call fcn.1403fd768
nop
mov r8d, eax
lea rdx, str.RegCreateKeyEx_failed.
lea rcx, [rsp + 0x110]
call fcn.1400d5280
lea rdx, [0x1405e62d8]
lea rcx, [rsp + 0x110]
call fcn.1403e644c
nop
call fcn.1403fd768
nop
call fcn.1400c4f10
call fcn.1400c4e70
call fcn.1400c4e70
nop
lea rcx, str.invalid_stoull_argument
call fcn.1403c2368
lea rcx, str.stoull_argument_out_of_range
call fcn.1403c23b0
nop
call fcn.1403fd768
nop
mov r8d, eax
lea rdx, str.RegCreateKeyEx_failed.
lea rcx, [rsp + 0x130]
call fcn.1400d5280
lea rdx, [0x1405e62d8]
lea rcx, [rsp + 0x130]
call fcn.1403e644c
nop
mov r8d, eax
lea rdx, str.Cannot_get_DWORD_value:_RegGetValue_failed.
lea rcx, [rsp + 0x150]
call fcn.1400d5280
lea rdx, [0x1405e62d8]
lea rcx, [rsp + 0x150]
call fcn.1403e644c
nop
call fcn.1403fd768
nop
mov r8d, eax
lea rdx, str.Cannot_get_DWORD_value:_RegGetValue_failed.
lea rcx, [rsp + 0x170]
call fcn.1400d5280
lea rdx, [0x1405e62d8]
lea rcx, [rsp + 0x170]
call fcn.1403e644c
nop
call fcn.1403fd768
nop
mov r8d, eax
lea rdx, str.Cannot_get_DWORD_value:_RegGetValue_failed.
lea rcx, [rsp + 0x190]
call fcn.1400d5280
lea rdx, [0x1405e62d8]
lea rcx, [rsp + 0x190]
call fcn.1403e644c
nop
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
int3