Function at 0x10028a73
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.10030170
mov eax, dword [0x10069410]
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.10006991
lea ecx, [ebp - 0x2804]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028ad1
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 0x10028b27
xor eax, eax
jmp 0x10028ee0
mov eax, dword [ebp - 0x2830]
inc eax
push eax
call fcn.10001835
mov ecx, dword [ebp - 0x282c]
inc ecx
mov dword [ebp - 0x2818], eax
push ecx
call fcn.10001835
mov ecx, dword [ebp - 0x2828]
inc ecx
mov dword [ebp - 0x2810], eax
push ecx
call fcn.10001835
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 0x10028e56
test eax, eax
jne 0x10028e56
mov eax, dword [ebp - 0x283c]
inc edi
mov dword [ebp - 0x280c], edi
test eax, eax
je 0x10028bf8
cmp eax, 2
jbe 0x10028dd1
cmp eax, 3
je 0x10028d01
cmp eax, 4
je 0x10028cb7
cmp eax, 7
je 0x10028dd1
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tOTHER:__s_t0x
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.10006991
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028c22
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 0x10028c9a
mov eax, dword [ebp - 0x2808]
movsx eax, byte [edi + eax]
push eax
push 0x100510f0
push 0xffffffffffffffff
lea eax, [ebp - 0x2804]
push 0x2800
push eax
call fcn.10006991
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 0x10028c95
push 0
push 1
push 0x10061064
push ebx
call esi
mov ecx, dword [ebp - 0x2814]
inc edi
cmp edi, ecx
jb 0x10028c42
push 0
push 1
push 0x10053334
push ebx
call esi
mov edi, dword [ebp - 0x280c]
mov ecx, dword [ebp - 0x2808]
jmp 0x10028b6b
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.10006991
lea ecx, [ebp - 0x2804]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028ce9
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
jmp 0x10028cac
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tBINARY:__s_t
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.10006991
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028d2b
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 0x10028d53
mov byte [ebp - 0x2804], cl
jmp 0x10028da4
xor ebx, ebx
lea eax, [ebp - 0x2804]
mov edi, 0x27ff
test ecx, ecx
je 0x10028d9b
mov esi, eax
test edi, edi
jle 0x10028d95
mov eax, dword [ebp - 0x2808]
movzx eax, byte [ebx + eax]
push eax
push str._02x
push 0xffffffffffffffff
push edi
push esi
call fcn.10006991
add esp, 0x14
sub edi, 3
add esi, 3
inc ebx
cmp ebx, dword [ebp - 0x2814]
jb 0x10028d66
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 0x10028dad
push 0
sub ecx, edx
lea eax, [ebp - 0x2804]
push ecx
push eax
push ebx
call esi
push 0
push 1
push 0x10053334
jmp 0x10028cfc
push dword [ebp - 0x2810]
lea eax, [ebp - 0x2804]
push str._tSTRING:__s_t
push 0xffffffffffffffff
push 0x2800
push eax
call fcn.10006991
lea ecx, [ebp - 0x2804]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028dfb
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 0x10028c9a
movsx eax, byte [edi]
push 0
push 1
sub eax, 7
je 0x10028e43
dec eax
je 0x10028e43
dec eax
je 0x10028e43
dec eax
je 0x10028e43
dec eax
je 0x10028e43
dec eax
je 0x10028e43
dec eax
je 0x10028e43
push edi
jmp 0x10028e48
push 0x10061064
push ebx
call esi
inc edi
cmp byte [edi], 0
jne 0x10028e22
jmp 0x10028c9a
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 0x10028ebe
test eax, eax
jne 0x10028ebe
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 0x10028ef1
cmp eax, 5
je 0x10028e5e
push edi
call fcn.100186aa
push dword [ebp - 0x2810]
call fcn.100186aa
push dword [ebp - 0x2808]
call fcn.100186aa
xor eax, eax
add esp, 0xc
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000adad
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 0x10028efa
sub ecx, edx
mov edx, edi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10028f08
sub edx, esi
lea edi, [ecx + 3]
add edi, edx
push edi
call fcn.10001835
mov edx, dword [ebp - 0x2820]
mov esi, eax
pop ecx
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10028f28
push dword [ebp - 0x2818]
sub edx, eax
je 0x10028f52
push dword [ebp - 0x2820]
push 0x10052e04
push 0xffffffffffffffff
push edi
push esi
call fcn.10006991
add esp, 0x18
jmp 0x10028f63
push 0x10052e0c
push 0xffffffffffffffff
push edi
push esi
call fcn.10006991
add esp, 0x14
mov edx, dword [ebp - 0x2838]
mov ecx, dword [ebp - 0x2834]
push ebx
push esi
call fcn.10028a73
push esi
call fcn.100186aa
add esp, 0xc
push dword [ebp - 0x2834]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x280c]
jmp 0x10028e58