Function at 0x10013222
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2848
call fcn.10035de0
mov eax, dword [0x100ba410]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x280c], 0
push ebx
push esi
push edi
push eax
push edx
push str.KEY:__s_s_n
push 0xffffffffffffffff
mov dword [ebp - 0x2820], eax
mov edi, ecx
lea eax, [ebp - 0x2804]
mov dword [ebp - 0x2838], edx
push 0x2800
push eax
mov dword [ebp - 0x281c], edi
call fcn.1001f145
lea ecx, [ebp - 0x2804]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013280
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x2804]
mov esi, dword [sym.imp.WS2_32.dll_send]
sub ecx, edx
push 0
push ecx
push eax
push ebx
call esi
xor ecx, ecx
lea eax, [ebp - 0x2828]
push ecx
push ecx
push eax
lea eax, [ebp - 0x282c]
push eax
push ecx
push ecx
lea eax, [ebp - 0x2830]
push eax
lea eax, [ebp - 0x2844]
push eax
push ecx
push ecx
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
je 0x100132d6
xor eax, eax
jmp 0x1001368f
mov eax, dword [ebp - 0x2830]
inc eax
push eax
call fcn.1001ee58
mov ecx, dword [ebp - 0x282c]
inc ecx
mov dword [ebp - 0x2818], eax
push ecx
call fcn.1001ee58
mov ecx, dword [ebp - 0x2828]
inc ecx
mov dword [ebp - 0x2810], eax
push ecx
call fcn.1001ee58
mov edi, dword [ebp - 0x280c]
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x2808], ecx
mov eax, dword [ebp - 0x282c]
inc eax
mov dword [ebp - 0x2840], eax
mov eax, dword [ebp - 0x2828]
inc eax
mov dword [ebp - 0x2814], eax
lea eax, [ebp - 0x2814]
push eax
push ecx
lea eax, [ebp - 0x283c]
push eax
push 0
lea eax, [ebp - 0x2840]
push eax
push dword [ebp - 0x2810]
push edi
push dword [ebp - 0x281c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, 0x103
je 0x10013605
test eax, eax
jne 0x10013605
mov eax, dword [ebp - 0x283c]
inc edi
mov dword [ebp - 0x280c], edi
test eax, eax
je 0x100133a7
cmp eax, 2
jbe 0x10013580
cmp eax, 3
je 0x100134b0
cmp eax, 4
je 0x10013466
cmp eax, 7
je 0x10013580
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tOTHER:__s_t0x
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.1001f145
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100133d1
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
xor edi, edi
cmp dword [ebp - 0x2814], edi
jbe 0x10013449
mov eax, dword [ebp - 0x2808]
movsx eax, byte [edi + eax]
push eax
push 0x1009c894
push 0xffffffffffffffff
lea eax, [ebp - 0x2804]
push 0x2800
push eax
call fcn.1001f145
add esp, 0x14
lea eax, [ebp - 0x2804]
push 0
push 2
push eax
push ebx
call esi
mov ecx, dword [ebp - 0x2814]
lea eax, [ecx - 1]
cmp edi, eax
jae 0x10013444
push 0
push 1
push 0x100ac8fc
push ebx
call esi
mov ecx, dword [ebp - 0x2814]
inc edi
cmp edi, ecx
jb 0x100133f1
push 0
push 1
push 0x1009eb84
push ebx
call esi
mov edi, dword [ebp - 0x280c]
mov ecx, dword [ebp - 0x2808]
jmp 0x1001331a
mov eax, dword [ebp - 0x2808]
push dword [eax]
lea eax, [ebp - 0x2804]
push dword [ebp - 0x2810]
push str._tDWORD:__s_t0x_016x_n
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.1001f145
lea ecx, [ebp - 0x2804]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013498
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
jmp 0x1001345b
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tBINARY:__s_t
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.1001f145
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100134da
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
mov ecx, dword [ebp - 0x2814]
test ecx, ecx
jne 0x10013502
mov byte [ebp - 0x2804], cl
jmp 0x10013553
xor ebx, ebx
lea eax, [ebp - 0x2804]
mov edi, 0x27ff
test ecx, ecx
je 0x1001354a
mov esi, eax
test edi, edi
jle 0x10013544
mov eax, dword [ebp - 0x2808]
movzx eax, byte [ebx + eax]
push eax
push str._02x
push 0xffffffffffffffff
push edi
push esi
call fcn.1001f145
add esp, 0x14
sub edi, 3
add esi, 3
inc ebx
cmp ebx, dword [ebp - 0x2814]
jb 0x10013515
mov esi, dword [sym.imp.WS2_32.dll_send]
mov edi, dword [ebp - 0x280c]
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x2804]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001355c
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
push 0
push 1
push 0x1009eb84
jmp 0x100134ab
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tSTRING:__s_t
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.1001f145
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100135aa
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
mov eax, dword [ebp - 0x2808]
mov edi, eax
cmp byte [eax], 0
je 0x10013449
movsx eax, byte [edi]
push 0
push 1
sub eax, 7
je 0x100135f2
dec eax
je 0x100135f2
dec eax
je 0x100135f2
dec eax
je 0x100135f2
dec eax
je 0x100135f2
dec eax
je 0x100135f2
dec eax
je 0x100135f2
push edi
jmp 0x100135f7
push 0x100ac8fc
push ebx
call esi
inc edi
cmp byte [edi], 0
jne 0x100135d1
jmp 0x10013449
xor esi, esi
mov edi, dword [ebp - 0x2818]
mov eax, dword [ebp - 0x2830]
push 0
push 0
push 0
inc eax
push 0
mov dword [ebp - 0x2824], eax
lea eax, [ebp - 0x2824]
push eax
push edi
push esi
push dword [ebp - 0x281c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
cmp eax, 0x103
je 0x1001366d
test eax, eax
jne 0x1001366d
lea eax, [ebp - 0x2834]
inc esi
push eax
push 0x20019
push 0
push edi
push dword [ebp - 0x281c]
mov dword [ebp - 0x280c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x100136a0
cmp eax, 5
je 0x1001360d
push edi
call fcn.1001eabc
push dword [ebp - 0x2810]
call fcn.1001eabc
push dword [ebp - 0x2808]
call fcn.1001eabc
xor eax, eax
add esp, 0xc
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001e010
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x2820]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100136a9
sub ecx, edx
mov edx, edi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100136b7
sub edx, esi
lea edi, [ecx + 3]
add edi, edx
push edi
call fcn.1001ee58
mov edx, dword [ebp - 0x2820]
mov esi, eax
pop ecx
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x100136d7
push dword [ebp - 0x2818]
sub edx, eax
je 0x10013701
push dword [ebp - 0x2820]
push 0x1009e654
push 0xffffffffffffffff
push edi
push esi
call fcn.1001f145
add esp, 0x18
jmp 0x10013712
push 0x1009e65c
push 0xffffffffffffffff
push edi
push esi
call fcn.1001f145
add esp, 0x14
mov edx, dword [ebp - 0x2838]
mov ecx, dword [ebp - 0x2834]
push ebx
push esi
call fcn.10013222
push esi
call fcn.1001eabc
add esp, 0xc
push dword [ebp - 0x2834]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x280c]
jmp 0x10013607