Function at 0x4736e0
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x5a8c38
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x5f13cc]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f13cc]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x6c]
mov edi, edx
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x64], ebx
call fcn.00472c20
test eax, eax
jne 0x4737bd
call fcn.00472cc0
test eax, eax
jne 0x4737bd
lea eax, [esp + 0x18]
push eax
push 0x2001f
push ebx
push esi
push closesocket
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x473767
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp 0x473784
push esi
push closesocket
xor edx, edx
lea esi, [esp + 0x1c]
call fcn.0040cb60
test eax, eax
jne 0x4738ad
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
mov esi, ebp
call fcn.00472ba0
cmp edi, ebx
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, eax
je 0x4737a6
push edi
call ebp
xor edi, edi
xor eax, eax
cmp esi, ebx
sete al
cmp edi, ebx
mov esi, eax
je 0x4737b6
push edi
call ebp
mov eax, esi
jmp 0x473934
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 1
call fcn.00472d40
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x44]
mov byte [esp + 0x6c], 2
call fcn.0040b6f0
mov byte [esp + 0x64], 1
cmp dword [esp + 0x38], 8
jb 0x473806
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00578327
add esp, 4
push 1
push 0x5bd0e8
lea ecx, [esp + 0x44]
call fcn.0040f950
mov eax, esi
lea edx, [eax + 2]
jmp 0x473820
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x473820
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.0040f950
mov eax, dword [esp + 0x40]
mov esi, 8
cmp dword [esp + 0x54], esi
jae 0x47384d
lea eax, [esp + 0x40]
lea edx, [esp + 0x18]
push edx
push 0x2001f
push ebx
push eax
push reloc.WS2_32.dll_closesocket
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x473876
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jmp 0x4738c4
cmp dword [esp + 0x54], esi
mov eax, dword [esp + 0x40]
jae 0x473884
lea eax, [esp + 0x40]
push eax
push reloc.WS2_32.dll_closesocket
xor edx, edx
lea esi, [esp + 0x1c]
call fcn.0040cb60
test eax, eax
je 0x4738c0
cmp dword [esp + 0x54], 8
jb 0x4738ad
mov eax, dword [esp + 0x40]
push eax
call fcn.00578327
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4738bc
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x473934
mov esi, dword [esp + 0x14]
cmp ebp, ebx
jne 0x4738d2
push 0x80004005
call fcn.00404550
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
lea ecx, [eax + eax]
push ecx
push ebp
push 1
push ebx
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp esi, ebx
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, eax
je 0x4738fd
push esi
call ebp
xor esi, esi
xor edx, edx
cmp edi, ebx
sete dl
cmp dword [esp + 0x54], 8
mov edi, edx
jb 0x47391a
mov eax, dword [esp + 0x40]
push eax
call fcn.00578327
add esp, 4
cmp esi, ebx
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
je 0x473932
push esi
call ebp
mov eax, edi
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005787fd
add esp, 0x54
ret