Function at 0x1021f40
Capabilities:
Get hostname

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x1039004]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
mov esi, ecx
lea eax, [esi + 0xd0]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x4d8]
push edi
lea edi, [esi + 0xb8]
mov dword [esp + 0x10], eax
mov dword [esi + 0x4d8], ecx
mov eax, dword [edi]
cmp eax, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
je 0x1021fa9
mov ebx, dword [eax + 0xc]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
test ebx, ebx
mov eax, ebx
jne 0x1021f95
xor ecx, ecx
mov dword [edi], ecx
lea ecx, [esp + 0x20]
lea eax, [esi + 0x42]
push ecx
push eax
mov dword [esi + 0xbc], edi
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
je 0x102210f
push esi
lea edi, [esp + 0x24]
lea ebx, [esp + 0x34]
mov dword [esp + 0x24], 0x80
call fcn.0101f0f0
test eax, eax
jne 0x1022056
test byte [0x103a4fc], 2
je 0x1022023
mov eax, dword [0x103b308]
test eax, eax
je 0x1022023
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x103b308]
mov edx, dword [0x103b110]
push eax
push ecx
push 0x1a0c00
push edx
call fcn.01024ec0
add esp, 0x14
push 0x101a3b8
push 0x36
push 0xc04e0001
call fcn.010240e0
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.01029f27
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0xc4]
lea edi, [esi + 0xc0]
push ecx
lea edx, [esp + 0x34]
mov dword [esp + 0x30], edi
call fcn.0101f760
test eax, eax
je 0x102210f
call fcn.0101fdb0
test eax, eax
mov edi, 0x101ab54
jne 0x102208b
mov edi, 0x101ab5c
mov ebx, esi
call fcn.0101fdb0
test eax, eax
lea eax, [ebx + 0x22]
jne 0x102209d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push ecx
push edi
push ebx
push eax
push 0x101ab68
push 0x400
lea edi, [esp + 0x40]
call fcn.01023c90
add esp, 0x18
test eax, eax
je 0x102210f
mov esi, dword [esp + 0x28]
push esi
push 0
xor ecx, ecx
call fcn.0101fac0
test eax, eax
je 0x1022034
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x14], esi
mov eax, 0x400
sub eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
cmp eax, 9
mov ecx, dword [esp + 0x24]
jb 0x1022119
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push ecx
mov edi, ebx
mov ecx, edi
call fcn.01021c90
test eax, eax
jne 0x102214a
mov edx, dword [esp + 0x10]
push edx
jmp 0x1022039
cmp eax, 8
lea eax, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
jb 0x102213d
mov esi, ebx
call fcn.01021810
test eax, eax
jne 0x1022148
mov edx, dword [esp + 0x10]
push edx
jmp 0x1022039
mov edx, ebx
call fcn.01021140
test eax, eax
je 0x102210f
mov edi, ebx
mov ebx, 2
cmp dword [esp + 0x18], ebx
jae 0x102219a
push 0xea
call dword [sym.imp.KERNEL32.dll_SetLastError]
test byte [0x103a4fc], bl
je 0x1022034
mov eax, dword [0x103b30c]
test eax, eax
je 0x1022034
mov ecx, dword [0x103b30c]
mov edx, dword [0x103b114]
push edi
push ecx
push 0x1ae400
push edx
call fcn.01024ec0
add esp, 0x10
jmp 0x1022034
mov esi, dword [esp + 0x14]
mov ecx, esi
sub ecx, edi
push ebx
sub ecx, 0xd0
push ecx
xor ecx, ecx
mov ebx, edi
call fcn.0101fac0
test eax, eax
je 0x1022034
mov edx, dword [esp + 0x10]
mov word [esi], 0x3b3b
add esi, 2
sub esi, edi
sub esi, 0xd0
push edx
mov dword [edi + 0x4d0], esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.01029f27
mov esp, ebp
pop ebp
ret