Function at 0x180029dc0
Capabilities:
Persist via default file association registry key
Set registry value

Disassembly:
sub rsp, 0x28
lea rcx, [0x1800a3510]
xor edx, edx
mov r8d, 0x104
call fcn.180055310
cmp dword [reloc.WS2_32.dll_accept], 0
lea rcx, [0x180000000]
je 0x180029e57
mov rax, qword [rcx + 0x82030]
mov qword [0x1800a3510], rax
mov rax, qword [rcx + 0x82038]
mov qword [0x1800a3518], rax
mov rax, qword [rcx + 0x82040]
mov qword [0x1800a3520], rax
mov rax, qword [rcx + 0x82048]
mov qword [0x1800a3528], rax
mov rax, qword [rcx + 0x82050]
mov qword [0x1800a3530], rax
mov eax, dword [rcx + 0x82058]
mov dword [0x1800a3538], eax
movzx eax, word [rcx + 0x8205c]
mov word [0x1800a353c], ax
movzx eax, byte [rcx + 0x8205e]
mov byte [0x1800a353e], al
jmp 0x180029ec4
mov rax, qword [rcx + 0x82060]
mov qword [0x1800a3510], rax
mov rax, qword [rcx + 0x82068]
mov qword [0x1800a3518], rax
mov rax, qword [rcx + 0x82070]
mov qword [0x1800a3520], rax
mov rax, qword [rcx + 0x82078]
mov qword [0x1800a3528], rax
mov rax, qword [rcx + 0x82080]
mov qword [0x1800a3530], rax
mov rax, qword [rcx + 0x82088]
mov qword [0x1800a3538], rax
mov eax, dword [rcx + 0x82090]
mov dword [0x1800a3540], eax
movzx eax, byte [rcx + 0x82094]
mov byte [0x1800a3544], al
call fcn.180029ee0
lea rcx, [0x1800a3510]
mov edx, 0x400
add rsp, 0x28
jmp 0x180033a70
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x560
mov rax, qword [0x1800964f0]
xor rax, rsp
mov qword [rsp + 0x550], rax
mov rsi, rcx
lea rcx, [rsp + 0x41]
xor ebx, ebx
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x40], bl
call fcn.180055310
lea rcx, [rsp + 0x40]
mov edx, 0x104
call fcn.180033840
test eax, eax
je 0x180033c1f
movabs rax, 0x5c4449534c435c
lea rcx, [rsp + 0x158]
xor edx, edx
mov r8d, 0x3f8
mov qword [rsp + 0x578], rdi
mov qword [rsp + 0x150], rax
call fcn.180055310
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x150]
lea r8, [rsp + 0x40]
repne scasb al, byte [rdi]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
inc rdx
mov byte [rdi + rdx - 2], al
test al, al
jne 0x180033b10
cmp dword [0x1800a50f4], ebx
je 0x180033b59
xor eax, eax
lea rdi, [rsp + 0x150]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, qword [str._shellOpenCommand]
mov qword [rdi - 1], rax
mov rax, qword [0x180082ca8]
mov qword [rdi + 7], rax
mov eax, dword [0x180082cb0]
mov dword [rdi + 0xf], eax
jmp 0x180033b93
xor eax, eax
lea rdi, [rsp + 0x150]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, qword [str._shellOpenHomePageCommand]
mov qword [rdi - 1], rax
mov rax, qword [0x180082cc0]
mov qword [rdi + 7], rax
mov rax, qword [0x180082cc8]
mov qword [rdi + 0xf], rax
mov eax, dword [0x180082cd0]
mov dword [rdi + 0x17], eax
lea rax, [rsp + 0x30]
lea rdx, [rsp + 0x150]
mov r9d, 0xf013f
xor r8d, r8d
mov rcx, 0xffffffff80000000
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x180033bf4
mov rcx, qword [rsp + 0x30]
mov edi, 1
xor r8d, r8d
xor edx, edx
mov r9d, edi
mov dword [rsp + 0x28], 0x400
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetKeyValueA]
mov rcx, qword [rsp + 0x30]
test eax, eax
cmove ebx, edi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0x578]
mov eax, ebx
mov rcx, qword [rsp + 0x550]
xor rcx, rsp
call fcn.180050540
mov rbx, qword [rsp + 0x580]
add rsp, 0x560
pop rsi
ret
mov eax, ebx
jmp 0x180033bfe