Function at 0x402cb0
Capabilities:
Get hostname

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x34]
push ebx
push ebp
push esi
cmp eax, 1
push edi
mov byte [esp + 0x12], 0
mov byte [esp + 0x11], 0
jg 0x402ce1
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push ecx
call fcn.00402ad0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, 1
mov byte [0x410480], 0
mov dword [esp + 0x18], 1
jle 0x40320f
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x14], 2
lea ebx, [ebp + 4]
add ebp, 8
mov edi, dword [ebx]
mov cl, byte [edi]
movsx eax, cl
sub eax, 0x2d
je 0x402d92
sub eax, 2
je 0x402d92
cmp cl, 0x5c
jne 0x402d5f
cmp byte [edi + 1], cl
jne 0x402d5f
mov al, byte [esp + 0x11]
test al, al
jne 0x4032a3
add edi, 2
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x11], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x40f7f8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4031e3
cmp cl, 0x40
jne 0x4032d6
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x11], 1
mov eax, ecx
mov esi, edi
mov edi, 0x40f7f8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4031e3
mov al, byte [edi + 1]
mov esi, 1
test al, al
je 0x4031e3
movsx ecx, byte [edi + esi]
push ecx
call fcn.00404730
add eax, 0xffffffbf
add esp, 4
cmp eax, 0x15
ja case.0x402dbb.66
jmp dword [eax*4 + 0x4032f0]
test byte [0x410110], 8
jne case.0x402dbb.66
mov eax, dword [0x410110]
or al, 8
jmp 0x402ea2
mov byte [0x4106a4], 1
jmp 0x402ea7
mov ecx, dword [0x410110]
mov eax, 0x100
test eax, ecx
jne 0x4032a3
or ecx, eax
mov dword [0x410110], ecx
jmp 0x402ea7
test byte [0x410110], 0x40
jne 0x4032d6
mov eax, dword [0x410110]
or al, 0x40
jmp 0x402ea2
test byte [0x410110], 0x80
jne case.0x402dbb.66
mov eax, dword [0x410110]
or al, 0x80
jmp 0x402ea2
test byte [0x410110], 0x10
jne 0x4032a3
mov eax, dword [0x410110]
or al, 0x10
jmp 0x402ea2
test byte [0x410110], 1
jne 0x4032d6
mov eax, dword [0x410110]
or al, 1
jmp 0x402ea2
test byte [0x410110], 4
jne case.0x402dbb.66
mov eax, dword [0x410110]
or al, 4
jmp 0x402ea2
test byte [0x410110], 0x20
jne 0x4032a3
mov eax, dword [0x410110]
or al, 0x20
jmp 0x402ea2
test byte [0x410110], 2
jne case.0x402dbb.66
mov eax, dword [0x410110]
or al, 2
mov dword [0x410110], eax
mov edi, dword [ebx]
inc esi
cmp byte [edi + esi], 0
je 0x4031e3
jmp 0x402da2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmp edx, eax
je case.0x402dbb.66
mov eax, dword [0x410114]
test eax, eax
jne case.0x402dbb.66
mov esi, dword [esp + 0x18]
mov eax, edx
inc esi
add ebx, 4
add ebp, 4
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
push eax
mov dword [esp + 0x1c], esi
call fcn.0040a846
mov eax, dword [ebx]
add esp, 4
mov cl, byte [eax]
cmp cl, 0x55
je 0x402f09
cmp cl, 0x50
jne 0x4032a3
lea ecx, [esp + 0x24]
lea edx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x17]
push edx
push ecx
push str._c:_d:_d
push eax
call fcn.004046fc
add esp, 0x14
cmp eax, 3
jne 0x4032d6
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x13]
or ah, 4
sub dl, 0x55
mov ecx, dword [esp + 0x24]
shl eax, 0x10
neg dl
sbb edx, edx
and edx, 0x80000000
or eax, edx
or eax, ecx
mov dword [0x410114], eax
jmp 0x4031e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
je 0x4032d6
mov eax, dword [0x410108]
test eax, eax
jne 0x4032d6
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp]
mov eax, dword [esp + 0x14]
inc esi
add ebx, 4
add ebp, 4
inc eax
mov dword [0x410108], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
jmp 0x4031e3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmp edx, eax
je 0x4032a3
cmp dword [0x40d3f4], 0xffffffff
jne 0x4032a3
mov eax, dword [ebp]
push 0x40d3f4
push 0x40e7dc
push eax
call fcn.004046fc
add esp, 0xc
test eax, eax
je case.0x402dbb.66
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc esi
add ebx, 4
add ebp, 4
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
jmp 0x4031e3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmp ecx, eax
je case.0x402dbb.66
cmp dword [0x40d3f8], 0xffffffff
jne case.0x402dbb.66
mov edx, dword [ebp]
push 0x40d3f8
push 0x40e7dc
push edx
call fcn.004046fc
add esp, 0xc
test eax, eax
je 0x4032d6
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc esi
add ebx, 4
add ebp, 4
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
jmp 0x4031e3
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x4032a3
mov al, byte [0x40fff8]
test al, al
jne 0x4032a3
mov edi, dword [ebp]
or ecx, 0xffffffff
xor eax, eax
add ebx, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x14]
mov edx, ecx
mov esi, edi
mov edi, 0x40fffc
add ebp, 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov byte [0x40fff8], 1
inc esi
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
jmp 0x4031e3
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x4032d6
mov al, byte [0x410100]
test al, al
jne 0x4032d6
mov edi, dword [ebp]
or ecx, 0xffffffff
xor eax, eax
add ebx, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x14]
mov edx, ecx
mov esi, edi
mov edi, 0x410480
add ebp, 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov byte [0x410100], 1
inc esi
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
jmp 0x4031e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
je 0x4032a3
mov ecx, dword [ebp]
push 0x3a
push ecx
call fcn.00404640
add esp, 8
test eax, eax
je 0x4031b5
mov ecx, dword [ebp]
lea edx, [esp + 0x28]
lea eax, [esp + 0x1c]
push edx
push eax
push str._d:_d
push ecx
call fcn.004046fc
add esp, 0x10
cmp eax, 2
jne 0x4032d6
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
and ecx, 0xffff
cmp eax, ecx
jl 0x403190
cmp eax, ecx
jne 0x403197
mov ecx, dword [esp + 0x3a]
and ecx, 0xffff
cmp edx, ecx
jge 0x403197
add eax, 0x18
mov dword [esp + 0x1c], eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
mov ecx, eax
mov eax, edx
shl eax, 4
sub eax, edx
neg eax
shl eax, 2
sub eax, ecx
jmp 0x4031c1
mov ecx, dword [ebp]
push ecx
call fcn.0040461a
add esp, 4
mov esi, dword [esp + 0x18]
mov dword [0x410104], eax
mov eax, dword [esp + 0x14]
inc esi
add ebx, 4
add ebp, 4
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
inc eax
add ebx, 4
add ebp, 4
inc edx
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jl 0x402d0b
mov al, byte [esp + 0x11]
test al, al
jne 0x403227
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0x800
push edx
push 0x40f7f8
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov ecx, dword [0x410110]
xor eax, eax
test cl, 1
je 0x403239
mov eax, 1
test cl, 4
je 0x40323f
inc eax
test cl, 2
je 0x403245
inc eax
test cl, 8
je 0x40324b
inc eax
test cl, 0x10
je 0x403251
inc eax
test cl, 0x20
je 0x403257
inc eax
test cl, 0x80
je 0x40325d
inc eax
test ch, 1
je 0x403263
inc eax
cmp eax, 1
je 0x403279
test eax, eax
jne case.0x402dbb.66
or ecx, 0x10
mov dword [0x410110], ecx
test cl, 0xd
je 0x4032ba
mov eax, dword [0x410114]
test eax, eax
jne 0x4032d6
mov eax, dword [0x410104]
test eax, eax
jne 0x4032d6
mov eax, dword [0x410108]
test eax, eax
jne 0x4032d6
test cl, 0x40
je 0x4032ba
test cl, 4
jne 0x4032ba
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
push eax
call fcn.00402ad0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov al, byte [esp + 0x12]
test al, al
jne 0x4032cc
mov dword [0x410104], 0x14
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x30
ret
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
push edx
call fcn.00402ad0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret