Function at 0x4062c5
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x438358
push 0x433f28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1b8], ebx
mov byte [ebp - 0x2d8], 0x52
mov byte [ebp - 0x2d7], 0x45
mov byte [ebp - 0x2d6], 0x47
mov byte [ebp - 0x2d5], 0x5f
mov byte [ebp - 0x2d4], 0x53
mov byte [ebp - 0x2d3], 0x5a
mov byte [ebp - 0x2d2], bl
push 0x20
pop edi
push edi
push ebx
lea eax, [ebp - 0x1a4]
push eax
call sub.MSVCRT.dll_memset
mov esi, 0x104
push esi
push ebx
lea eax, [ebp - 0x15c]
push eax
call sub.MSVCRT.dll_memset
push esi
push ebx
lea eax, [ebp - 0x2bc]
push eax
call sub.MSVCRT.dll_memset
add esp, 0x24
mov byte [ebp - 0x2c], 0x25
mov byte [ebp - 0x2b], 0x2d
mov byte [ebp - 0x2a], 0x32
mov byte [ebp - 0x29], 0x34
mov byte [ebp - 0x28], 0x73
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x25
mov byte [ebp - 0x25], 0x2d
mov byte [ebp - 0x24], 0x31
mov byte [ebp - 0x23], 0x35
mov byte [ebp - 0x22], 0x73
mov byte [ebp - 0x21], 0x20
mov byte [ebp - 0x20], 0x25
mov byte [ebp - 0x1f], 0x73
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0xd
mov byte [ebp - 0x1c], 0x6e
mov byte [ebp - 0x1b], bl
mov byte [ebp - 0x48], 0x52
mov byte [ebp - 0x47], 0x45
mov byte [ebp - 0x46], 0x47
mov byte [ebp - 0x45], 0x5f
mov byte [ebp - 0x44], 0x42
mov byte [ebp - 0x43], 0x49
mov byte [ebp - 0x42], 0x4e
mov byte [ebp - 0x41], 0x41
mov byte [ebp - 0x40], 0x52
mov byte [ebp - 0x3f], 0x59
mov byte [ebp - 0x3e], bl
mov byte [ebp - 0x184], 0x25
mov byte [ebp - 0x183], 0x2d
mov byte [ebp - 0x182], 0x32
mov byte [ebp - 0x181], 0x34
mov byte [ebp - 0x180], 0x73
mov byte [ebp - 0x17f], 0x20
mov byte [ebp - 0x17e], 0x25
mov byte [ebp - 0x17d], 0x2d
mov byte [ebp - 0x17c], 0x31
mov byte [ebp - 0x17b], 0x35
mov byte [ebp - 0x17a], 0x73
mov byte [ebp - 0x179], 0x20
mov byte [ebp - 0x178], 0xd
mov byte [ebp - 0x177], 0xa
mov byte [ebp - 0x176], bl
mov byte [ebp - 0x174], 0x25
mov byte [ebp - 0x173], 0x2d
mov byte [ebp - 0x172], 0x32
mov byte [ebp - 0x171], 0x34
mov byte [ebp - 0x170], 0x73
mov byte [ebp - 0x16f], 0x20
mov byte [ebp - 0x16e], 0x25
mov byte [ebp - 0x16d], 0x2d
mov byte [ebp - 0x16c], 0x31
mov byte [ebp - 0x16b], 0x35
mov byte [ebp - 0x16a], 0x73
mov byte [ebp - 0x169], 0x20
mov byte [ebp - 0x168], 0x30
mov byte [ebp - 0x167], 0x78
mov byte [ebp - 0x166], 0x25
mov byte [ebp - 0x165], 0x78
mov byte [ebp - 0x164], 0x28
mov byte [ebp - 0x163], 0x25
mov byte [ebp - 0x162], 0x64
mov byte [ebp - 0x161], 0x29
mov byte [ebp - 0x160], 0x20
mov byte [ebp - 0x15f], 0xd
mov byte [ebp - 0x15e], 0xa
mov byte [ebp - 0x15d], bl
mov byte [ebp - 0x3c], 0x52
mov byte [ebp - 0x3b], 0x45
mov byte [ebp - 0x3a], 0x47
mov byte [ebp - 0x39], 0x5f
mov byte [ebp - 0x38], 0x4d
mov byte [ebp - 0x37], 0x55
mov byte [ebp - 0x36], 0x4c
mov byte [ebp - 0x35], 0x54
mov byte [ebp - 0x34], 0x49
mov byte [ebp - 0x33], 0x5f
mov byte [ebp - 0x32], 0x53
mov byte [ebp - 0x31], 0x5a
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x1b4], 0x52
mov byte [ebp - 0x1b3], 0x45
mov byte [ebp - 0x1b2], 0x47
mov byte [ebp - 0x1b1], 0x5f
mov byte [ebp - 0x1b0], 0x44
mov byte [ebp - 0x1af], 0x57
mov byte [ebp - 0x1ae], 0x4f
mov byte [ebp - 0x1ad], 0x52
mov byte [ebp - 0x1ac], 0x44
mov byte [ebp - 0x1ab], bl
mov byte [ebp - 0x2d0], 0x52
mov byte [ebp - 0x2cf], 0x45
mov byte [ebp - 0x2ce], 0x47
mov byte [ebp - 0x2cd], 0x5f
mov byte [ebp - 0x2cc], 0x45
mov byte [ebp - 0x2cb], 0x58
mov byte [ebp - 0x2ca], 0x50
mov byte [ebp - 0x2c9], 0x41
mov byte [ebp - 0x2c8], 0x4e
mov byte [ebp - 0x2c7], 0x44
mov byte [ebp - 0x2c6], 0x5f
mov byte [ebp - 0x2c5], 0x53
mov byte [ebp - 0x2c4], 0x5a
mov byte [ebp - 0x2c3], bl
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x2c0]
push eax
push 0x20019
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x406329
or dword [ebp - 0x54], 0xffffffff
jmp 0x40664f
mov eax, dword [ebp + 0x24]
sub eax, ebx
je 0x4064f6
dec eax
je 0x40647e
dec eax
je 0x406344
dec eax
jmp 0x406606
push edi
push ebx
lea eax, [ebp - 0x1a4]
push eax
call sub.MSVCRT.dll_memset
push esi
push ebx
lea eax, [ebp - 0x15c]
push eax
call sub.MSVCRT.dll_memset
push esi
push ebx
lea eax, [ebp - 0x2bc]
push eax
call sub.MSVCRT.dll_memset
add esp, 0x24
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x1b8]
inc dword [ebp - 0x1b8]
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
lea ecx, [ebp + 0x14]
push ecx
push ebx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x1a4]
push ecx
push eax
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x40664f
mov eax, dword [ebp + 0x14]
dec eax
je 0x406438
dec eax
je 0x406429
dec eax
je 0x406405
dec eax
je 0x4063d0
sub eax, 3
jne 0x406461
lea eax, [ebp - 0x3c]
jmp 0x406408
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x2bc]
push eax
call dword [0x44492c]
add esp, 0x18
jmp 0x406461
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2bc]
push eax
call dword [0x44492c]
add esp, 0x10
jmp 0x406461
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x2d0]
jmp 0x406445
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x2bc]
push eax
call dword [0x44492c]
add esp, 0x14
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
mov dword [ebp - 0x54], 1
jmp 0x406344
push esi
push ebx
lea eax, [ebp - 0x15c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x1b8]
inc dword [ebp - 0x1b8]
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
push eax
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x40664f
lea eax, [ebp - 0x15c]
push eax
push str.__s__r_n
lea eax, [ebp - 0x2bc]
push eax
call dword [0x44492c]
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcat
add esp, 0x14
mov dword [ebp - 0x54], 1
jmp 0x40647e
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
jbe 0x40664f
cmp ecx, 2
jbe 0x40660a
cmp ecx, 3
je 0x4065e3
push 4
pop eax
cmp ecx, eax
je 0x4065a3
cmp ecx, 7
jne 0x40664f
mov dword [ebp - 0x4c], esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp + 0x14]
push eax
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40664f
lea edi, [ebp - 0x15c]
mov dword [ebp - 0x58], edi
cmp byte [edi], bl
je 0x40658d
push esi
push edi
lea eax, [ebp - 0x2bc]
push eax
call sub.MSVCRT.dll_strncat
push esi
push 0x442528
lea eax, [ebp - 0x2bc]
push eax
call sub.MSVCRT.dll_strncat
push ebx
push edi
call sub.MSVCRT.dll_strchr
add esp, 0x20
inc eax
mov edi, eax
jmp 0x406557
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x406648
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp + 0x14]
push eax
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40664f
push dword [ebp - 0x1a8]
push 0x4425d4
push dword [ebp + 0x18]
call dword [0x44492c]
jmp 0x406645
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp + 0x14]
push eax
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40664f
jmp 0x406648
mov dword [ebp - 0x4c], esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp + 0x14]
push eax
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x2c0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40664f
lea eax, [ebp - 0x15c]
push eax
call fcn.00405fe6
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcpy
add esp, 0xc
mov dword [ebp - 0x54], 1
or dword [ebp - 4], 0xffffffff
call fcn.0040666a
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret