Function at 0x18000f850
Capabilities:
Copy file
Get common file path
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9d0]
sub rsp, 0xad0
mov rax, qword [0x18006e218]
xor rax, rsp
mov qword [rbp + 0x9c0], rax
mov esi, edx
mov dword [rsp + 0x50], edx
lea edi, [rdx + 0xa]
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x58], rcx
mov edx, 0x20
lea r10, [0x180000000]
mov r14, r8
mov r13, rcx
lea r8d, [rdx + 0x24]
lea r9d, [rdx + 0x45]
lea r11d, [rdx + 0x41]
cmp esi, edi
jae 0x18000fa52
lea ebx, [rsi - 0x2f]
lea r15d, [rdx + 0x25]
nop
cmp ebx, 0x14
ja case.0x18000f8d4.2
mov ecx, dword [r10 + rbx*4 + 0x1081c]
add rcx, r10
jmp rcx
mov r8d, 2
lea rdx, [0x18006427f]
lea rcx, [rbp + 0x270]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
movzx eax, word [0x1800642c0]
mov word [rbp + 0x272], ax
movzx eax, byte [0x1800642c2]
mov byte [rbp + 0x274], al
mov byte [rbp + 0x275], 0
mov edx, 0x20
lea r10, [0x180000000]
lea r8d, [rdx + 0x24]
lea r9d, [rdx + 0x45]
lea r11d, [rdx + 0x41]
jmp case.0x18000f8d4.2
mov dword [rbp + 0x340], 0x450052
mov word [rbp + 0x344], r8w
mov dword [rbp + 0x346], 0x4f0043
jmp case.0x18000f8d4.2
cmp qword [r14 + 0x3c0], 0
je 0x18000f965
cmp dword [r13 + 8], 0
jle case.0x18000f8d4.2
movzx eax, byte [rsp + 0x40]
jmp 0x18000fd84
mov rdx, r13
mov rcx, r14
call qword [r14]
test al, al
je 0x180010813
mov rax, qword [r13 + 8]
cmp qword [r13], rax
je 0x180010813
jmp 0x18000f912
movzx eax, word [0x1800642f2]
mov word [rbp + 0x275], ax
movzx eax, byte [0x1800642f4]
mov byte [rbp + 0x277], al
mov byte [rbp + 0x278], 0
jmp case.0x18000f8d4.2
mov r8d, 0xa
lea rdx, [rbp + 0x37c]
lea ecx, [r8 - 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltow]
movups xmm0, xmmword [str._32.dll]
movups xmmword [rbp + 0x37e], xmm0
jmp 0x18000f912
mov r8d, 2
lea rdx, [0x18006432f]
lea rcx, [rbp + 0x278]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov dword [rbp + 0x378], 0x77
mov dword [rbp + 0x37a], 0x73
mov byte [rbp + 0x27a], 0
jmp 0x18000f912
mov dword [rbp + 0x34a], 0x450044
mov dword [rbp + 0x34e], 0x740020
jmp case.0x18000f8d4.2
mov dword [rbp + 0x352], 0x720068
mov dword [rbp + 0x356], 0x610065
inc ebx
lea eax, [rbx + 0x2f]
cmp eax, edi
jb 0x18000f8c0
movzx ebx, byte [rsp + 0x40]
mov ecx, esi
imul eax, esi, 0x410
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x6c], eax
cmp esi, eax
ja 0x18000fd81
movzx r15d, byte [rsp + 0x40]
movzx r12d, byte [rsp + 0x40]
mov rdi, qword [rbp - 0x78]
mov dword [rsp + 0x54], r15d
mov byte [rsp + 0x42], bl
xor r8d, r8d
mov edx, 0x6e
cmp ecx, 0x45b1
ja 0x18000fd59
je 0x18000fcf2
cmp ecx, 0x39
je 0x18000fcca
cmp ecx, 0x43
je 0x18000fc07
cmp ecx, 0x1761
je 0x18000fbfb
cmp ecx, 0x1b7b
je 0x18000faf9
cmp ecx, 0x2e89
jne 0x18000fbd8
mov dword [rbp + 0x36a], 0x6e0069
mov dword [rbp + 0x36e], 0x65
mov byte [rsp + 0x40], 1
jmp 0x18000fbd8
mov al, 1
jmp 0x18000fd84
mov r15, r8
nop dword [rax]
mov rax, qword [r14 + 0x3c0]
mov rcx, qword [rax + 0x50]
mov rax, qword [rax + 8]
add rcx, r15
lea rdx, [rax + rcx*8]
mov rcx, qword [rax + rcx*8]
test rcx, rcx
je 0x18000fbc0
cmp rcx, r13
jne 0x18000fb30
mov qword [rdx], r8
jmp 0x18000fbc0
mov eax, dword [rcx]
sub eax, 6
cmp eax, 1
ja 0x18000fbc0
mov r14, qword [rcx + 0x10]
xor r9d, r9d
mov qword [rsp + 0x28], r8
mov esi, r8d
add r14, 8
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], r14
lea edx, [r9 + 0x2e]
call fcn.180024e80
test eax, eax
jle 0x18000fbb9
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x48], esi
lea r8, [rsp + 0x48]
mov rdx, r14
lea ecx, [r9 + 0x3f]
call fcn.180057ae0
cmp qword [rax], r13
jne 0x18000fb94
mov qword [rax], 0
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], r14
xor ecx, ecx
inc esi
lea edx, [r9 + 0x2e]
call fcn.180024e80
cmp esi, eax
jl 0x18000fb70
mov r14, qword [rbp - 0x80]
xor r8d, r8d
inc r15
cmp r15, 0xff
jl 0x18000fb00
mov esi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x44]
imul eax, esi, 0x68
add ecx, eax
mov dword [rsp + 0x44], ecx
cmp ecx, dword [rsp + 0x6c]
ja 0x18000fd81
mov r15d, dword [rsp + 0x54]
mov r9d, 0x65
jmp 0x18000fa88
mov dword [rbp + 0x366], 0x67006e
jmp 0x18000fbd8
mov rax, qword [r14 + 0x48]
xor r9d, r9d
mov qword [rsp + 0x28], r8
mov esi, r8d
xor r8d, r8d
mov rcx, qword [rax + 0x10]
lea edx, [r9 + 0x2e]
add rcx, 8
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call fcn.180024e80
test eax, eax
jle 0x18000fbd0
nop word [rax + rax]
mov rax, qword [r14 + 0x48]
lea r8, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x48], esi
mov rdx, qword [rax + 0x10]
add rdx, 8
lea ecx, [r9 + 0x3f]
call fcn.180057ae0
cmp rax, r13
jne 0x18000fc90
mov rax, qword [r14 + 0x48]
lea r9, [rsp + 0x48]
xor r8d, r8d
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x20], 0
mov rdx, qword [rax + 0x10]
add rdx, 8
lea ecx, [r8 + 0x1b]
call fcn.180020ab0
mov rax, qword [r14 + 0x48]
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
inc esi
mov rcx, qword [rax + 0x10]
lea edx, [r9 + 0x2e]
add rcx, 8
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call fcn.180024e80
cmp esi, eax
jl 0x18000fc40
jmp 0x18000fbd0
mov dword [rbp + 0x35a], 0x690064
mov word [rbp + 0x35e], dx
mov dword [rbp + 0x360], 0x200067
mov word [rbp + 0x364], r9w
jmp 0x18000fbd8
mov esi, 0x11
mov eax, esi
sub eax, 0xe
je 0x18000fd2f
sub eax, 2
je 0x18000fd4c
cmp eax, 1
jne 0x18000fd45
xor r8d, r8d
lea rcx, [rbp + 0x378]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
lea rdx, [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
jmp 0x18000fd45
cmp byte [0x180071521], 0
je 0x18000fd45
call qword [0x180071518]
mov byte [0x180071521], 0
dec esi
cmp esi, 0xe
ja 0x18000fcf7
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x50], rdi
jmp 0x18000fbd0
cmp ecx, 0x5cd9
je 0x180010431
cmp ecx, 0x7401
je 0x18000fdc7
cmp ecx, 0x8b29
je 0x18000fdae
cmp ecx, 0xa251
jne 0x18000fbd8
movzx eax, bl
mov rcx, qword [rbp + 0x9c0]
xor rcx, rsp
call fcn.18005b930
mov rbx, qword [rsp + 0xb18]
add rsp, 0xad0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 0x12]
call fcn.18000eeb0
movzx ebx, al
mov byte [rsp + 0x42], al
jmp 0x18000fbd4
xor esi, esi
mov r9d, SHRegGetIntW
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, r14
xor ecx, ecx
call fcn.180021620
test al, al
jne 0x180010385
mov r13d, esi
mov dword [rsp + 0x48], esi
cmp r13d, 0x17
ja case.default.0x18000fe0e
lea rdx, [0x180000000]
mov eax, r13d
mov ecx, dword [rdx + rax*4 + 0x10870]
add rcx, rdx
jmp rcx
mov eax, 0x61
mov dword [rbp + 0x2fa], 0x560074
mov word [rbp + 0x2fe], ax
jmp case.default.0x18000fe0e
mov r8d, 0xa
lea rdx, [rbp + 0x2c4]
lea ecx, [r8 - 6]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
mov r8d, 3
lea rdx, [0x180064350]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp case.default.0x18000fe0e
mov eax, 0x52
mov word [rbp + 0x2f0], ax
jmp case.default.0x18000fe0e
mov dword [rbp + 0x31c], 0x200068
mov word [rbp + 0x320], si
jmp case.default.0x18000fe0e
mov eax, dword [0x180064358]
lea rdx, [0x180064360]
mov dword [rbp + 0x29e], eax
lea rcx, [rbp + 0x2a2]
movzx eax, word [0x18006435c]
mov r8d, 4
mov word [rbp + 0x2a2], ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
movsd xmm0, qword [str.xpb8e]
mov eax, dword [0x180064370]
movsd qword [rbp + 0x2a8], xmm0
mov dword [rbp + 0x2b0], eax
jmp case.default.0x18000fe0e
cmp byte [rsp + 0x41], 0
mov dword [rsp + 0x70], 6
je case.default.0x18000fe0e
mov rdi, qword [rbp - 0x68]
mov r15d, 0x94
mov r13d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x5c]
cmp r15d, 0x258
ja 0x18000ffb6
je 0x18000ff99
mov eax, r15d
sub eax, 0x94
je 0x18000ff7c
sub eax, 0x71
je 0x18000ff55
sub eax, 0x71
je 0x18000ff44
cmp eax, 0x71
jne 0x1800100ac
mov eax, 0x6f
mov word [rbp + 0x28a], ax
jmp 0x1800100ac
mov eax, 0x6d
mov word [rbp + 0x289], ax
jmp 0x1800100ac
mov eax, 0x6369
mov dword [rbp + 0x285], 0x722065
mov word [rbp + 0x283], ax
mov eax, 0x65
mov word [rbp + 0x288], ax
jmp 0x1800100ac
mov eax, 0x44
mov word [rbp + 0x280], ax
mov eax, 0x7665
mov word [rbp + 0x281], ax
jmp 0x1800100ac
mov eax, 0x76
mov word [rbp + 0x28b], ax
mov eax, 0x643f
mov word [rbp + 0x28c], ax
jmp 0x1800100ac
mov eax, r15d
sub eax, 0x2c9
je 0x180010091
sub eax, 0x71
je 0x180010069
sub eax, 0x71
je 0x18000ffec
cmp eax, 0x71
jne 0x1800100ac
lea edx, [rax - 0x61]
mov rcx, rdi
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x1800100ac
mov r8d, r13d
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x280]
call qword [sym.imp.WINMM.dll_mmioOpenA]
mov r8d, ebx
lea rdx, [rbp - 0x28]
mov rcx, rdi
mov r14, rax
call qword [sym.imp.WINMM.dll_mmioCreateChunk]
test r14, r14
jne 0x180010020
xor r12b, r12b
jmp 0x1800100ac
test r12b, r12b
je 0x1800100ac
mov esi, 0xb3
nop
mov eax, esi
sub eax, 0xb3
je 0x18001004c
cmp eax, 1
jne 0x18001005b
lea edx, [rax + 0xf]
mov rcx, r14
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x18001005b
xor edx, edx
mov rcx, r14
lea r8d, [rdx + 1]
call qword [sym.imp.WINMM.dll_mmioSeek]
inc esi
cmp esi, 0xb5
jb 0x180010030
xor esi, esi
jmp 0x1800100ac
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov dword [rbp + 0x50], eax
mov r13d, esi
movups xmmword [rbp], xmm0
lea ebx, [rax + 0x20]
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
jmp 0x1800100ac
mov eax, 0x20
xorps xmm0, xmm0
mov word [rbp + 0x28e], ax
mov r12b, 1
xor eax, eax
mov dword [rbp - 0x18], eax
movups xmmword [rbp - 0x28], xmm0
add r15d, 0x71
cmp r15d, 0x48d
jb 0x18000ff03
mov rdi, qword [rbp - 0x78]
mov dword [rsp + 0x5c], ebx
movzx ebx, byte [rsp + 0x42]
mov dword [rsp + 0x60], r13d
mov r13d, dword [rsp + 0x48]
jmp case.default.0x18000fe0e
mov dword [rbp + 0x2f2], 0x670065
mov dword [rbp + 0x2f6], 0x650047
jmp case.default.0x18000fe0e
mov dword [rbp + 0x314], 0x770020
mov dword [rbp + 0x318], 0x740069
jmp case.default.0x18000fe0e
lea rcx, [rbp + 0x2c0]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x180010120
mov eax, dword [0x180064374]
lea rdx, [rbp + 0x2de]
mov r8d, 0xa
mov dword [rcx], eax
lea ecx, [r8 - 6]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov r8d, 2
lea rdx, [0x180064378]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp case.default.0x18000fe0e
mov r8d, dword [rsp + 0x64]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.WINMM.dll_mmioOpenW]
mov qword [rbp - 0x68], rax
jmp case.default.0x18000fe0e
mov eax, 0x77
lea rdx, [rbp + 0x2d8]
mov dword [rbp + 0x2d6], eax
lea r8d, [rax - 0x6d]
lea ecx, [rax - 0x6f]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltow]
mov dword [rbp + 0x2da], 0x78
jmp case.default.0x18000fe0e
mov r8d, 3
lea rdx, [0x180064380]
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp case.default.0x18000fe0e
mov eax, 0x6c
mov word [rbp + 0x300], ax
jmp case.default.0x18000fe0e
mov dword [rbp + 0x30c], 0x6c0069
mov dword [rbp + 0x310], 0x64003f
jmp case.default.0x18000fe0e
mov byte [rsp + 0x41], 1
mov dword [rsp + 0x74], esi
jmp case.default.0x18000fe0e
mov dword [rbp + 0x2cc], 0x48
jmp case.default.0x18000fe0e
mov eax, dword [0x180064388]
mov dword [rbp + 0x2ce], 0x4e
mov dword [rbp + 0x2d0], eax
mov dword [rbp + 0x2d4], 0x57
jmp case.default.0x18000fe0e
movzx eax, byte [rsp + 0x41]
mov ecx, esi
cmp qword [rbp - 0x68], 0
cmovne ecx, eax
mov byte [rsp + 0x41], cl
jmp case.default.0x18000fe0e
mov r8d, 2
lea rdx, [0x180064390]
lea rcx, [rbp + 0x2e4]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8d, 0xa
lea rdx, [rbp + 0x2e6]
lea ecx, [r8 - 1]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov dword [rbp + 0x2e8], 0x2f
jmp case.default.0x18000fe0e
mov eax, dword [0x1800643a0]
movsd xmm0, qword [str.gYrtS]
mov dword [rbp + 0x29a], eax
movzx eax, word [0x1800643a4]
mov dword [rbp + 0x290], 0x30
mov word [rbp + 0x29e], ax
mov dword [rbp + 0x2ea], 0x51
movsd qword [rbp + 0x292], xmm0
jmp case.default.0x18000fe0e
mov eax, 0x75
mov dword [rbp + 0x304], 0x200065
mov word [rbp + 0x302], ax
mov dword [rbp + 0x308], 0x610066
jmp case.default.0x18000fe0e
xorps xmm0, xmm0
mov dword [rsp + 0x64], esi
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0xc0], eax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
jmp case.default.0x18000fe0e
mov eax, dword [0x1800643ac]
mov dword [rbp + 0x2b2], 0x6b
mov dword [rbp + 0x2b4], eax
mov eax, dword [0x1800643b4]
mov dword [rbp + 0x2b8], eax
movzx eax, word [0x1800643b8]
mov word [rbp + 0x2bc], ax
inc r13d
mov dword [rsp + 0x48], r13d
lea eax, [r13 + 0xb3]
cmp eax, 0xcb
jb 0x18000fdf0
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp - 0x80]
movzx r15d, byte [rsp + 0x40]
test r15b, r15b
je 0x1800103fc
mov rdi, qword [rsp + 0x78]
mov esi, 0xab
nop word [rax + rax]
mov eax, esi
sub eax, 0xab
je 0x1800103dc
sub eax, 1
je 0x1800103c6
cmp eax, 1
jne 0x1800103e4
test r15b, r15b
je 0x1800103e4
mov edx, dword [rsp + 0x58]
mov ecx, edi
call qword [sym.imp.WINMM.dll_joySetThreshold]
jmp 0x1800103e4
lea rdx, [rsp + 0x58]
mov ecx, edi
call qword [sym.imp.WINMM.dll_joyGetThreshold]
test eax, eax
je 0x1800103e4
xor r15b, r15b
jmp 0x1800103e4
xor eax, eax
mov edi, eax
mov dword [rsp + 0x58], eax
inc esi
cmp esi, 0xae
jb 0x1800103a0
mov qword [rsp + 0x78], rdi
mov rdi, qword [rbp - 0x78]
mov byte [rsp + 0x40], r15b
mov r9d, 7
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0x5a0]
mov edx, 0x800
lea r8, [rbp + 0x340]
mov qword [rsp + 0x20], rax
lea ecx, [r9 + 0x78]
call qword [sym.imp.KERNEL32.dll_LCMapStringW]
jmp 0x18000fbd0
call qword [sym.imp.WINMM.dll_joyGetNumDevs]
mov eax, eax
mov ecx, 0x202
lea rdx, [rbp + 0xd0]
mov qword [rsp + 0x78], rax
call qword [rbp - 0x50]
test eax, eax
je 0x180010787
mov esi, 0x98
nop word [rax + rax]
cmp esi, 0x25718
ja 0x1800105b6
je 0x18001059f
cmp esi, 0x12bd8
ja 0x18001055b
je 0x180010548
cmp esi, 0x98
je 0x180010532
cmp esi, 0x4b68
je 0x1800104f8
cmp esi, 0x9638
je 0x1800104bf
cmp esi, 0xe108
jne 0x180010771
mov byte [rbp + 0x2a9], 0
mov dword [rbp - 0x28], 0x74737953
jmp 0x180010771
movzx eax, word [0x1800644b4]
mov word [rbp + 0x2a1], ax
movzx eax, byte [0x1800644b6]
mov byte [rbp + 0x2a3], al
mov eax, dword [0x18006450f]
mov dword [rbp + 0x2a4], eax
movzx eax, byte [0x180064513]
mov byte [rbp + 0x2a8], al
jmp 0x180010771
mov r8d, 5
mov dword [rbp + 0x294], 0x76727373
lea rdx, [0x18006440d]
mov byte [rbp + 0x298], 0
lea rcx, [rbp + 0x290]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov dword [rbp + 0x29d], 0x4d737365
jmp 0x180010771
mov dword [rbp + 0x290], 0x4663664e
mov byte [rbp + 0x294], 0
jmp 0x180010771
mov dword [rbp - 0x24], 0x5a6d65
mov dword [rbp - 0x21], 0x445349
jmp 0x180010771
cmp esi, 0x176a8
je 0x180010591
cmp esi, 0x1c178
je 0x180010585
cmp esi, 0x20c48
jne 0x180010771
mov eax, 0x43
mov word [rbp - 0x19], ax
jmp 0x180010771
mov dword [rbp - 0x1d], 0x5054533a
jmp 0x180010771
mov eax, 0x3a
mov word [rbp - 0x1e], ax
jmp 0x180010771
mov eax, 0x50
mov word [rbp - 0x18], ax
mov eax, 0x59
mov word [rbp - 0x17], ax
jmp 0x180010771
cmp esi, 0x3cd28
ja 0x1800106bc
je 0x1800106ac
cmp esi, 0x2a1e8
je 0x180010671
cmp esi, 0x2ecb8
je 0x180010641
cmp esi, 0x33788
je 0x1800105ff
cmp esi, 0x38258
jne 0x180010771
mov dword [rbp + 0x33c], 0x4c
jmp 0x180010771
mov eax, dword [0x180064440]
mov dword [rbp + 0x330], eax
movzx eax, word [0x180064444]
mov word [rbp + 0x334], ax
mov eax, dword [0x1800644a6]
mov dword [rbp + 0x336], eax
movzx eax, word [0x1800644aa]
mov word [rbp + 0x33a], ax
xor eax, eax
mov word [rbp + 0x33c], ax
jmp 0x180010771
movabs rax, 0x5a00580025
mov qword [rbp + 0x2d4], rax
movabs rax, 0x53005400550054
mov qword [rbp + 0x328], rax
xor eax, eax
mov word [rbp + 0x330], ax
jmp 0x180010771
movsd xmm0, qword [str.vfpc]
mov eax, dword [0x180064558]
movsd qword [rbp + 0x2c0], xmm0
movsd xmm0, qword [str.lassp]
mov dword [rbp + 0x2d0], eax
movsd qword [rbp + 0x2c8], xmm0
mov dword [rbp + 0x2d2], 0x64
jmp 0x180010771
mov r15b, 1
mov qword [rbp - 0x70], 0xffffffff80000001
jmp 0x18001076c
cmp esi, 0x417f8
je 0x180010737
cmp esi, 0x462c8
je 0x1800106dd
cmp esi, 0x4ad98
je 0x18000fd81
jmp 0x180010771
test r15b, r15b
je 0x180010706
mov eax, dword [rsp + 0x68]
lea r9, [rbp + 0x390]
mov rcx, qword [rbp - 0x70]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x290]
mov dword [rsp + 0x20], eax
call qword [sym.imp.SHLWAPI.dll_SHRegSetPathA]
xor eax, eax
mov dword [rsp + 0x28], 1
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x328]
call qword [sym.imp.KERNEL32.dll_CopyFileExW]
xor bl, bl
mov byte [rsp + 0x42], bl
jmp 0x180010771
mov rcx, qword [rbp - 0x70]
lea r9, [rbp + 0x390]
xor eax, eax
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x290]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.SHLWAPI.dll_SHRegGetPathA]
test eax, eax
movzx r15d, r15b
mov eax, 0
cmovne r15d, eax
mov dword [rsp + 0x54], r15d
add esi, 0x4ad0
cmp esi, 0x4f7d0
jbe 0x180010460
mov esi, dword [rsp + 0x50]
cmp qword [rsp + 0x78], 0xf
jbe 0x18000fbd4
xorps xmm0, xmm0
lea rdx, [rbp + 0x390]
mov ecx, 0x104
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor eax, eax
lea rdx, [rbp + 0x7b0]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rbp - 0x48]
mov r8d, 0x104
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rcx, [r9 - 1]
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_ReadDirectoryChangesW]
xor al, al
mov byte [rsp + 0x40], al
jmp 0x18000fbd4
mov r9d, dword [rsp + 0x70]
lea r8, [rbp + 0x290]
mov ecx, dword [rsp + 0x74]
lea rdx, [rbp + 0x2c0]
call qword [sym.imp.SHLWAPI.dll_IntlStrEqWorkerW]
xor al, al
jmp 0x18000fd84