Function at 0x3001b65b
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1c8]
sub esp, 0x248
mov eax, dword [0x30034be8]
push ebx
push esi
push edi
lea ecx, [ebp - 0x80]
mov dword [ebp + 0x1c4], eax
call fcn.3000cc94
lea ecx, [ebp - 0x64]
call fcn.3000cc94
lea ecx, [ebp - 0x6c]
call fcn.3000cc94
mov ebx, dword [ebp + 0x1dc]
mov eax, ebx
xor edi, edi
sub eax, edi
je 0x3001b7c3
dec eax
dec eax
je 0x3001b6b9
push 0x3000a7f0
call fcn.3000fe20
mov esi, 0xfffffda8
jmp 0x3001b9f0
push dword [ebp + 0x1d4]
lea eax, [ebp - 0x64]
push dword [ebp + 0x1d0]
push eax
call fcn.30019eca
mov esi, eax
cmp esi, edi
je 0x3001b6de
push 0x3000a7c0
jmp 0x3001b9b1
cmp dword [0x300771d0], edi
mov eax, 0x30008ee8
mov dword [ebp - 0x70], eax
jne 0x3001b860
lea ecx, [ebp + 0x1d0]
push ecx
push edi
push 0xa
lea ecx, [ebp + 0x1b0]
push ecx
push eax
mov dword [ebp + 0x1d0], edi
mov word [ebp + 0x1b0], di
call fcn.30011d70
cmp word [ebp + 0x1b0], di
je 0x3001b751
lea eax, [ebp + 0x1b0]
push eax
push 0x300059d0
call fcn.3000ff32
pop ecx
pop ecx
lea eax, [ebp + 0x1b0]
push eax
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
je 0x3001b751
push 0x30009214
jmp 0x3001b9b1
cmp dword [ebp + 0x1d0], edi
je 0x3001b76b
push 0x30005994
lea ecx, [ebp - 0x64]
call fcn.3000cf63
jmp 0x3001b860
lea ecx, [ebp - 0x78]
call fcn.3000cc94
push 0xa
lea ecx, [ebp - 0x78]
call fcn.3000cd95
push dword [0x30076cf4]
lea eax, [ebp - 0x78]
push eax
push 0x30005980
call fcn.3001185c
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x3001b7b6
push 0x3000a7ac
lea ecx, [ebp - 0x64]
call fcn.3000cf63
push dword [ebp - 0x78]
lea ecx, [ebp - 0x64]
call fcn.3000cf63
lea ecx, [ebp - 0x78]
call fcn.3000cc9e
jmp 0x3001b860
push dword [ebp + 0x1d0]
lea eax, [ebp - 0x64]
push eax
call fcn.30019dc8
mov esi, eax
cmp esi, edi
je 0x3001b7e2
push 0x3000a784
jmp 0x3001b9b1
push 0x30003ba8
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x70], 0x30008ed8
call fcn.3000cf63
mov esi, eax
cmp esi, edi
je 0x3001b806
push 0x300093d0
jmp 0x3001b9b1
push dword [0x30076cf4]
lea eax, [ebp - 0x6c]
push eax
call fcn.30011894
mov esi, eax
cmp esi, edi
je 0x3001b825
push 0x3000a760
jmp 0x3001b9b1
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x3001b860
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
je 0x3001b84d
push 0x3000a720
jmp 0x3001b9b1
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push 0x3000a6d0
call fcn.3000ff32
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.3000ccd8
mov esi, eax
cmp esi, edi
je 0x3001b878
push 0x3000a6a8
jmp 0x3001b9b1
push dword [0x30076cf0]
lea eax, [ebp - 0x6c]
push eax
call fcn.30011894
mov esi, eax
cmp esi, edi
je 0x3001b897
push 0x3000a68c
jmp 0x3001b9b1
push 0x30003ba8
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
jne 0x3001b7fc
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
je 0x3001b8c9
push 0x3000a658
jmp 0x3001b9b1
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push 0x3000a61c
call fcn.3000ff32
add esp, 0xc
push 0x30003ba8
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
jne 0x3001b7fc
push dword [ebp + 0x1d8]
lea ecx, [ebp - 0x64]
call fcn.3000cf63
mov esi, eax
cmp esi, edi
jne 0x3001b9f0
lea eax, [ebp - 0x80]
push eax
call fcn.30010d0f
mov esi, eax
cmp esi, edi
je 0x3001b924
push 0x3000a5f8
jmp 0x3001b9b1
push 0x105
lea eax, [ebp - 0x5c]
push eax
push 0x30002184
push 0x30008f1c
push dword [ebp - 0x70]
mov word [ebp - 0x5c], di
call fcn.3001038d
test eax, eax
je 0x3001b99a
cmp ebx, edi
jne 0x3001b99a
push 0x30008d18
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x70], edi
call fcn.300193fa
mov esi, eax
cmp esi, edi
je 0x3001b969
push 0x300038dc
jmp 0x3001b9b1
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
push edi
push 0x30008eac
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
cmp esi, edi
je 0x3001b99a
push 0x3000a5d0
jmp 0x3001b9b1
lea eax, [ebp + 0x1d0]
push eax
call fcn.30019474
mov esi, eax
cmp esi, edi
je 0x3001b9b9
push 0x3000a5b0
call fcn.3000fdf9
pop ecx
jmp 0x3001b9f0
mov ax, word [ebp - 0x5c]
neg ebx
sbb ebx, ebx
and ebx, 2
push ebx
push 0x30008d18
push edi
push edi
push edi
neg ax
push 0x30008ec8
push dword [ebp - 0x64]
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x80]
sbb eax, eax
and eax, ecx
push eax
push dword [ebp + 0x1d0]
call fcn.3001b3ee
mov esi, eax
lea ecx, [ebp - 0x6c]
call fcn.3000cc9e
lea ecx, [ebp - 0x64]
call fcn.3000cc9e
lea ecx, [ebp - 0x80]
call fcn.3000cc9e
mov ecx, dword [ebp + 0x1c4]
pop edi
mov eax, esi
pop esi
pop ebx
call fcn.3001f57d
add ebp, 0x1c8
leave
ret 0x10