Function at 0x1801c45f0
Capabilities:
Get proxy
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
mov qword [rbp + 7], 0xfffffffffffffffe
xor r15d, r15d
mov dword [rcx], r15d
call fcn.180110a90
mov rcx, rax
test rax, rax
je 0x1801c5054
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x31], rbx
mov qword [rbp - 0x21], r15
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionInternet_Settings
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1801c4749
mov dword [rbp + 0x77], r15d
mov dword [rbp + 0x6f], 4
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ProxyEnable
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x77], r15d
je 0x1801c473f
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x801
or eax, ecx
jge 0x1801c46d0
mov edx, 0x801
lea rcx, [rbp - 0x31]
call fcn.1801c0a60
mov rbx, qword [rbp - 0x31]
cmp dword [rbx - 0xc], 0x801
jl 0x1801c505f
mov dword [rbx - 0x10], 0x801
mov word [rbx + 0x1002], r15w
mov dword [rbp + 0x6f], 0x1000
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ProxyServer
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1801de444
test eax, eax
js 0x1801c506a
cmp eax, dword [rbx - 0xc]
jg 0x1801c506a
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r15w
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r13d, 0xffffffff
lea r12, [rbx - 0x10]
mov eax, dword [r12]
test eax, eax
je 0x1801c5011
mov esi, 2
jg 0x1801c476b
mov r14d, r13d
jmp 0x1801c478b
mov edx, Ordinal_60
mov rcx, rbx
call fcn.1801c9464
mov r14, rax
test rax, rax
jne 0x1801c4785
mov r14d, r13d
jmp 0x1801c478b
sub r14, rbx
sar r14, 1
call fcn.180110a90
mov rcx, rax
test rax, rax
je 0x1801c5049
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x7f], rdi
cmp r14d, 0xffffffff
jne 0x1801c4871
lea rsi, [rbx - 0x18]
lea r14, [rdi - 0x18]
cmp rsi, r14
je 0x1801c4818
cmp dword [r14 + 0x10], 0
jl 0x1801c4804
mov rax, qword [r14]
cmp qword [rsi], rax
jne 0x1801c4804
mov rcx, rsi
call fcn.1801c5760
mov rdi, rax
mov ecx, r13d
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1801c47f6
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rdi, 0x18
mov qword [rbp + 0x7f], rdi
mov rbx, qword [rbp - 0x31]
jmp 0x1801c4818
mov r8d, dword [r12]
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.1801c0860
mov rdi, qword [rbp + 0x7f]
mov r14, qword [rsi]
cmp dword [rsi + 8], 0
je 0x1801c4993
cmp dword [rsi + 0x10], 0
jge 0x1801c4842
cmp dword [rbx - 0xc], 0
jl 0x1801c5075
mov dword [r12], r15d
mov word [rbx], r15w
jmp 0x1801c4993
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x1801c485b
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x31], rax
jmp 0x1801c498f
test r14d, r14d
cmovns r15d, r14d
cmp r15d, dword [r12]
jl 0x1801c4891
lea rcx, [rbx - 0x18]
call fcn.1801c5760
lea rsi, [rax + 0x18]
mov qword [rbp - 0x19], rsi
jmp 0x1801c490b
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x1801c48a5
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
jne 0x1801c48bc
call fcn.180110a90
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
je 0x1801c503e
mov r9, qword [rax]
mov r8d, esi
mov edx, r15d
mov rcx, rax
call qword [r9]
test rax, rax
je 0x1801c50f5
lea rsi, [rax + 0x18]
mov qword [rbp - 0x19], rsi
test r15d, r15d
js 0x1801c50ea
cmp r15d, dword [rsi - 0xc]
jg 0x1801c50ea
mov dword [rsi - 0x10], r15d
movsxd rdx, r15d
xor eax, eax
mov word [rsi + rdx*2], ax
mov r9d, r15d
mov r8, rbx
mov rcx, rsi
call fcn.1801c09d0
nop
lea rbx, [rsi - 0x18]
add rdi, 0xffffffffffffffe8
cmp rbx, rdi
je 0x1801c4966
cmp dword [rdi + 0x10], 0
jl 0x1801c4955
mov rax, qword [rdi]
cmp qword [rbx], rax
jne 0x1801c4955
mov rcx, rbx
call fcn.1801c5760
mov rsi, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x1801c494b
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rbp + 0x7f], rax
jmp 0x1801c4966
mov r8d, dword [rsi - 0x10]
mov rdx, rsi
lea rcx, [rbp + 0x7f]
call fcn.1801c0860
nop
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1801c497f
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [r14 + 1]
lea rcx, [rbp - 0x31]
call fcn.1801c54d0
xor r15d, r15d
mov rdi, qword [rbp + 0x7f]
cmp dword [rdi - 0x10], 0
jg 0x1801c499e
mov r14d, r13d
jmp 0x1801c49be
mov edx, 0x3d
mov rcx, rdi
call fcn.1801c9464
mov r14, rax
test rax, rax
jne 0x1801c49b8
mov r14d, r13d
jmp 0x1801c49be
sub r14, rdi
sar r14, 1
call fcn.180110a90
mov rcx, rax
test rax, rax
je 0x1801c50df
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea rsi, [rax + 0x18]
mov qword [rbp - 0x29], rsi
cmp r14d, 0xffffffff
je 0x1801c4b1b
test r14d, r14d
cmovns r15d, r14d
cmp r15d, dword [rdi - 0x10]
jl 0x1801c4a10
lea rcx, [rdi - 0x18]
call fcn.1801c5760
lea rbx, [rax + 0x18]
mov qword [rbp - 0x11], rbx
mov r12d, 2
jmp 0x1801c4a90
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x1801c4a24
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
jne 0x1801c4a3b
call fcn.180110a90
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
je 0x1801c5091
mov r9, qword [rax]
mov r12d, 2
mov r8d, r12d
mov edx, r15d
mov rcx, rax
call qword [r9]
test rax, rax
je 0x1801c508b
lea rbx, [rax + 0x18]
mov qword [rbp - 0x11], rbx
test r15d, r15d
js 0x1801c5080
cmp r15d, dword [rbx - 0xc]
jg 0x1801c5080
mov dword [rbx - 0x10], r15d
movsxd rdx, r15d
xor eax, eax
mov word [rbx + rdx*2], ax
mov r9d, r15d
mov r8, rdi
mov rcx, rbx
call fcn.1801c09d0
nop
lea rdi, [rbx - 0x18]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x1801c4aeb
cmp dword [rsi + 0x10], 0
jl 0x1801c4ada
mov rax, qword [rsi]
cmp qword [rdi], rax
jne 0x1801c4ada
mov rcx, rdi
call fcn.1801c5760
mov rbx, rax
mov ecx, r13d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1801c4ad0
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x29], rax
jmp 0x1801c4aeb
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.1801c0860
nop
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x1801c4b04
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [r14 + 1]
lea rcx, [rbp + 0x7f]
call fcn.1801c54d0
mov rdi, qword [rbp + 0x7f]
mov rsi, qword [rbp - 0x29]
jmp 0x1801c4b21
mov r12d, 2
call fcn.180110a90
mov rcx, rax
test rax, rax
je 0x1801c50d4
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea r14, [rax + 0x18]
mov qword [rbp - 0x39], r14
xor r15d, r15d
mov ecx, r15d
lea rdx, [0x18026b1f8]
nop dword [rax]
movzx eax, word [rsi + rcx*2]
inc rcx
cmp ax, word [rdx + rcx*2 - 2]
jne 0x1801c4bb4
cmp rcx, 5
jne 0x1801c4b50
cmp dword [rdi - 0x10], r15d
jle 0x1801c4f1e
mov edx, Ordinal_60
mov rcx, rdi
call fcn.1801c9464
mov rsi, rax
test rax, rax
je 0x1801c4f1e
sub rsi, rdi
sar rsi, 1
test esi, esi
js 0x1801c4f1e
cmp esi, dword [rdi - 0x10]
jl 0x1801c4e17
lea rcx, [rdi - 0x18]
call fcn.1801c5760
lea rbx, [rax + 0x18]
mov qword [rbp - 1], rbx
jmp 0x1801c4e84
cmp dword [rsi - 0x10], r15d
je 0x1801c4b64
mov rcx, r15
lea rdx, [0x18026b208]
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rsi + rcx*2]
inc rcx
cmp ax, word [rdx + rcx*2 - 2]
jne 0x1801c4c2e
cmp rcx, 6
jne 0x1801c4bd0
cmp dword [rdi - 0x10], r15d
jle 0x1801c4d9e
lea edx, [rcx + 0x34]
mov rcx, rdi
call fcn.1801c9464
mov rsi, rax
test rax, rax
je 0x1801c4d9e
sub rsi, rdi
sar rsi, 1
test esi, esi
js 0x1801c4d9e
cmp esi, dword [rdi - 0x10]
jl 0x1801c4c8f
lea rcx, [rdi - 0x18]
call fcn.1801c5760
lea rbx, [rax + 0x18]
mov qword [rbp - 9], rbx
jmp 0x1801c4cfc
lea rdx, [r14 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c4c49
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c4c68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c4c86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x31]
jmp 0x1801c474f
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x1801c4ca3
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
jne 0x1801c4cba
call fcn.180110a90
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
je 0x1801c50ad
mov r9, qword [rax]
mov r8d, r12d
mov edx, esi
mov rcx, rax
call qword [r9]
test rax, rax
je 0x1801c50a7
lea rbx, [rax + 0x18]
mov qword [rbp - 9], rbx
cmp esi, dword [rbx - 0xc]
jg 0x1801c509c
mov dword [rbx - 0x10], esi
movsxd rdx, esi
mov word [rbx + rdx*2], r15w
mov r9d, esi
mov r8, rdi
mov rcx, rbx
call fcn.1801c09d0
nop
lea rdi, [rbx - 0x18]
add r14, 0xffffffffffffffe8
cmp rdi, r14
je 0x1801c4d59
cmp dword [r14 + 0x10], 0
jl 0x1801c4d48
mov rax, qword [r14]
cmp qword [rdi], rax
jne 0x1801c4d48
mov rcx, rdi
call fcn.1801c5760
mov rbx, rax
mov ecx, r13d
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1801c4d3e
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x39], rax
jmp 0x1801c4d59
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.1801c0860
nop
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x1801c4d72
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [rsi + 1]
lea rcx, [rbp + 0x7f]
call fcn.1801c54d0
mov rcx, qword [rbp + 0x7f]
call fcn.1801d178c
mov ebx, eax
mov r14, qword [rbp - 0x39]
test ax, ax
je 0x1801c4e07
mov r12d, 3
jmp 0x1801c4f7e
lea rcx, [rdi - 0x18]
lea rbx, [r14 - 0x18]
cmp rcx, rbx
je 0x1801c4e07
cmp dword [rbx + 0x10], r15d
jl 0x1801c4df3
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1801c4df3
call fcn.1801c5760
mov r14, rax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1801c4ddb
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add r14, 0x18
mov qword [rbp - 0x39], r14
mov ebx, 0x438
mov r12d, 3
jmp 0x1801c4f7e
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.1801c0860
mov r14, qword [rbp - 0x39]
mov ebx, 0x438
mov r12d, 3
jmp 0x1801c4f7e
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x1801c4e2b
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
jne 0x1801c4e42
call fcn.180110a90
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WLDAP32.dll_Ordinal_32]
test rax, rax
je 0x1801c50c9
mov r9, qword [rax]
mov r8d, r12d
mov edx, esi
mov rcx, rax
call qword [r9]
test rax, rax
je 0x1801c50c3
lea rbx, [rax + 0x18]
mov qword [rbp - 1], rbx
cmp esi, dword [rbx - 0xc]
jg 0x1801c50b8
mov dword [rbx - 0x10], esi
movsxd rdx, esi
mov word [rbx + rdx*2], r15w
mov r9d, esi
mov r8, rdi
mov rcx, rbx
call fcn.1801c09d0
nop
lea rdi, [rbx - 0x18]
add r14, 0xffffffffffffffe8
cmp rdi, r14
je 0x1801c4ee1
cmp dword [r14 + 0x10], 0
jl 0x1801c4ed0
mov rax, qword [r14]
cmp qword [rdi], rax
jne 0x1801c4ed0
mov rcx, rdi
call fcn.1801c5760
mov rbx, rax
mov ecx, r13d
lock xadd dword [r14 + 0x10], ecx
sub ecx, 1
jg 0x1801c4ec6
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x39], rax
jmp 0x1801c4ee1
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.1801c0860
nop
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x1801c4efa
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [rsi + 1]
lea rcx, [rbp + 0x7f]
call fcn.1801c54d0
mov rcx, qword [rbp + 0x7f]
call fcn.1801d178c
movzx ebx, ax
mov r14, qword [rbp - 0x39]
test ax, ax
je 0x1801c4f79
jmp 0x1801c4f7e
lea rcx, [rdi - 0x18]
lea rbx, [r14 - 0x18]
cmp rcx, rbx
je 0x1801c4f79
cmp dword [rbx + 0x10], r15d
jl 0x1801c4f65
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1801c4f65
call fcn.1801c5760
mov r14, rax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1801c4f5b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add r14, 0x18
mov qword [rbp - 0x39], r14
jmp 0x1801c4f79
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.1801c0860
mov r14, qword [rbp - 0x39]
mov ebx, 0x50
mov rdi, qword [rbp + 0x67]
mov dword [rdi], r12d
lea rcx, [rdi + 4]
mov r8, r14
mov edx, 0x1005
call fcn.1801d0678
mov word [rdi + 0x200e], bx
mov word [rdi + 0x2010], r15w
mov word [rdi + 0x2052], r15w
mov word [rdi + 0x2094], r15w
lea rdx, [r14 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c4fd0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c4fef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801c500d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x31]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x1801c502a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80070057
call fcn.180110f80
int3
mov ecx, 0x80070057
call fcn.180110f80
nop
mov ecx, 0x80070057
call fcn.180110f80
nop
mov ecx, 0x80070057
call fcn.180110f80
int3
call fcn.1801c0bd0
int3
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80070057
call fcn.180110f80
int3
call fcn.1801c0bd0
int3
mov ecx, 0x80004005
call fcn.180110f80
int3
mov ecx, 0x80070057
call fcn.180110f80
int3
call fcn.1801c0bd0
int3
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80004005
call fcn.180110f80
nop
mov ecx, 0x80004005
call fcn.180110f80
int3
mov ecx, 0x80070057
call fcn.180110f80
int3
call fcn.1801c0bd0
int3