Function at 0x1050060
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xd38
mov rax, qword [0x010667f0]
xor rax, rsp
mov qword [rsp + 0xd28], rax
lea rax, [rsp + 0xcd0]
lea rcx, [0x0100c938]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x38
rep movsb byte [rdi], byte [rsi]
movzx eax, word [0x01001c50]
mov word [rsp + 0x450], ax
lea rax, [rsp + 0x452]
mov rdi, rax
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
movzx eax, word [0x01001c50]
mov word [rsp + 0x50], ax
lea rax, [rsp + 0x52]
mov rdi, rax
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
movzx eax, word [0x01001c50]
mov word [rsp + 0x860], ax
lea rax, [rsp + 0x862]
mov rdi, rax
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
movzx eax, word [0x01001c50]
mov word [rsp + 0xc70], ax
lea rax, [rsp + 0xc72]
mov rdi, rax
xor eax, eax
mov ecx, SQLBindParameter
rep stosb byte [rdi], al
mov dword [rsp + 0xcc4], 0
mov dword [rsp + 0xcc0], 0
mov qword [rsp + 0xd08], 0
mov qword [rsp + 0x858], 0
mov dword [rsp + 0xcc8], 0
mov dword [rsp + 0xc60], 0
mov dword [rsp + 0x850], 0
mov dword [rsp + 0xccc], 0
mov rdx, qword [rsp + 0xd50]
lea rcx, [0x0100c8f0]
call fcn.01053b10
mov rax, qword [rsp + 0xd60]
mov eax, dword [rax + 4]
mov dword [rsp + 0xd10], eax
cmp dword [rsp + 0xd10], 6
je 0x10501ea
cmp dword [rsp + 0xd10], 7
je 0x1050299
cmp dword [rsp + 0xd10], 8
je 0x10502c5
cmp dword [rsp + 0xd10], 9
je 0x1050541
jmp 0x10507e1
mov r9, qword [rsp + 0xd50]
lea r8, [0x0100c880]
mov edx, 0x200
lea rcx, [rsp + 0x450]
call fcn.01016110
movsxd rax, dword [rsp + 0xd70]
lea rcx, [rsp + 0xcd0]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xd68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xcc8]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, 1
lea rdx, [rsp + 0x450]
mov rcx, qword [rsp + 0xd58]
call fcn.01021550
test eax, eax
je 0x1050294
cmp dword [rsp + 0xcc8], 0
je 0x105027b
mov dword [rsp + 0xd14], 0
jmp 0x1050286
mov dword [rsp + 0xd14], 1
mov eax, dword [rsp + 0xd14]
mov dword [rsp + 0xcc4], eax
jmp 0x1050827
cmp qword [rsp + 0xd80], 0
je 0x10502c0
mov dword [rsp + 0xcc4], 1
mov rax, qword [rsp + 0xd80]
mov ecx, dword [rsp + 0xcc4]
mov dword [rax], ecx
jmp 0x1050827
mov rax, qword [rsp + 0xd50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
mov r9d, 2
mov r8d, 0xc00000d6
mov edx, 2
mov ecx, 3
call fcn.010341e0
lea rcx, [0x01066ad8]
call qword [0x01069178]
test eax, eax
jne 0x1050339
cmp dword [0x010689c0], 0
je 0x105032c
cmp dword [0x01068484], 0
je 0x105032c
lea rdx, [0x0100c938]
lea rcx, [0x01001b80]
call qword [sym.imp.MSVCR80.dll_wprintf]
lea rcx, [0x01066ad8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x010689c0], 0
je 0x105035f
cmp dword [0x01068484], 0
je 0x105035f
lea rdx, [0x0100c938]
lea rcx, [0x01001b48]
call qword [sym.imp.MSVCR80.dll_wprintf]
mov rax, qword [rsp + 0xd60]
add rax, 0xc
lea rdx, [rsp + 0xc70]
mov rcx, rax
call fcn.01049060
mov rax, qword [rsp + 0xd50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc70]
lea r8, [0x0100c740]
mov edx, 0x200
lea rcx, [rsp + 0x450]
call fcn.01016110
movsxd rax, dword [rsp + 0xd70]
lea rcx, [rsp + 0xcd0]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xd68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xcc8]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, 1
lea rdx, [rsp + 0x450]
mov rcx, qword [rsp + 0xd58]
call fcn.01021550
test eax, eax
je 0x1050432
cmp dword [rsp + 0xcc8], 0
je 0x1050419
mov dword [rsp + 0xd18], 0
jmp 0x1050424
mov dword [rsp + 0xd18], 1
mov eax, dword [rsp + 0xd18]
mov dword [rsp + 0xcc4], eax
cmp dword [rsp + 0xcc4], 0
je 0x1050509
mov dword [rsp + 0xc60], 0
jmp 0x105045e
mov eax, dword [rsp + 0xc60]
add eax, 1
mov dword [rsp + 0xc60], eax
mov eax, dword [0x01066dd4]
cmp dword [rsp + 0xc60], eax
jge 0x10504f2
mov qword [rsp + 0xd08], 0
mov edx, dword [rsp + 0xc60]
lea rcx, [0x01066dc8]
call qword [sym.imp.SQLSVC.dll_SHRecMemLock]
mov qword [rsp + 0xd08], rax
cmp qword [rsp + 0xd08], 0
je 0x10504ed
mov rax, qword [rsp + 0xd08]
mov dword [rax + 0x364], 0
mov rax, qword [rsp + 0xd08]
mov dword [rax + 0x360], 0
lea r9, [rsp + 0xcd0]
lea r8, [rsp + 0xcc0]
mov rdx, qword [rsp + 0xd08]
mov rcx, qword [rsp + 0xd58]
call fcn.01047f70
jmp 0x105044d
call fcn.01046810
mov r8d, 0x131
xor edx, edx
mov ecx, 3
call fcn.01034b80
lea rcx, [0x01066ad8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x010689c0], 0
je 0x105053c
cmp dword [0x01068484], 0
je 0x105053c
lea rdx, [0x0100c938]
lea rcx, [0x01001b10]
call qword [sym.imp.MSVCR80.dll_wprintf]
jmp 0x1050827
lea rax, [rsp + 0x858]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001b
xor r8d, r8d
lea rdx, [0x01068c20]
mov rcx, 0xffffffff80000002
call fcn.01053a20
mov dword [rsp + 0xccc], eax
cmp dword [rsp + 0xccc], 0
jne 0x10506e6
mov rax, qword [rsp + 0xd60]
movzx eax, byte [rax + 0x1b]
and rax, 0xff
movzx eax, al
mov rcx, qword [rsp + 0xd60]
movzx ecx, byte [rcx + 0x1a]
and rcx, 0xff
movzx ecx, cl
shl ecx, 8
or eax, ecx
movzx eax, ax
mov dword [rsp + 0x850], eax
cmp dword [rsp + 0x850], 0
je 0x105069c
cmp dword [rsp + 0x850], 0xa
jl 0x105069c
cmp dword [rsp + 0x850], 0x7080
jg 0x105069c
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x850]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, [0x01008550]
mov rcx, qword [rsp + 0x858]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0xccc], eax
cmp dword [rsp + 0xccc], 0
jne 0x1050637
mov dword [rsp + 0xd1c], 1
jmp 0x1050642
mov dword [rsp + 0xd1c], 0
mov eax, dword [rsp + 0xd1c]
mov dword [rsp + 0xcc4], eax
cmp dword [rsp + 0xcc4], 0
je 0x105069a
mov eax, dword [rsp + 0x850]
mov dword [0x01068498], eax
cmp qword [rsp + 0xd78], 0
je 0x1050680
mov rax, qword [rsp + 0xd78]
mov dword [rax], 1
mov r9d, dword [rsp + 0x850]
mov r8d, 0x15b
xor edx, edx
mov ecx, 3
call fcn.01034b80
jmp 0x10506d8
mov r9d, 0x200
lea r8, [rsp + 0x50]
mov edx, 0x160
mov rcx, qword [0x01069158]
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9d, dword [rsp + 0x850]
lea r8, [rsp + 0x50]
mov edx, 0x200
lea rcx, [rsp + 0x860]
call fcn.01016110
mov rcx, qword [rsp + 0x858]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0xcc4], 0
jne 0x10507df
mov r9d, 0x200
lea r8, [rsp + 0x50]
mov edx, 0x142
mov rcx, qword [0x01069158]
call qword [sym.imp.USER32.dll_LoadStringW]
cmp dword [rsp + 0xccc], 0
je 0x1050737
mov r8d, 0x400
lea rdx, [rsp + 0x860]
mov ecx, dword [rsp + 0xccc]
call fcn.01053650
jmp 0x1050763
movzx eax, word [rsp + 0x860]
test eax, eax
jne 0x1050763
mov r9d, 0x200
lea r8, [rsp + 0x860]
mov edx, 0x17
mov rcx, qword [0x01069158]
call qword [sym.imp.USER32.dll_LoadStringW]
lea rcx, [rsp + 0x860]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov qword [rsp + 0xd20], rax
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov rcx, qword [rsp + 0xd20]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0xd70]
cmp rax, rcx
jae 0x10507df
movsxd rax, dword [rsp + 0xd70]
lea r9, [rsp + 0x860]
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, qword [rsp + 0xd68]
call fcn.01016110
mov r9, qword [rsp + 0xd68]
xor r8d, r8d
lea rdx, [0x01001bcc]
mov ecx, 1
call fcn.01034b80
jmp 0x1050827
mov r9d, 0x200
lea r8, [rsp + 0x50]
mov edx, 0x124
mov rcx, qword [0x01069158]
call qword [sym.imp.USER32.dll_LoadStringW]
movsxd rax, dword [rsp + 0xd70]
mov rcx, qword [rsp + 0xd60]
mov r9d, dword [rcx + 4]
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, qword [rsp + 0xd68]
call fcn.01016110
mov eax, dword [rsp + 0xcc4]
mov rcx, qword [rsp + 0xd28]
xor rcx, rsp
call fcn.01059ab0
add rsp, 0xd38
pop rdi
pop rsi
ret