Function at 0x429ef0
Capabilities:
Get hostname

Disassembly:
mov eax, 0x6124
call fcn.00458680
mov al, byte [0x494b70]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov byte [esp + 0x11c], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x11d]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x6144]
mov edi, 0x1000
mov dword [esp + 0x10], edi
cmp byte [ecx], 0
je 0x42a405
mov edx, dword [esp + 0x614c]
mov ebx, dword [esp + 0x6138]
mov esi, dword [esp + 0x6140]
push 2
push 0x19
push edx
push ebx
push esi
mov ecx, ebp
call fcn.00426140
test eax, eax
jne 0x429f6b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6124
ret 0x18
cmp dword [ebx + 0x1c], 2
jne 0x429fc1
mov eax, dword [ebp + 8]
test eax, eax
je 0x429fc1
lea eax, [esp + 0x10]
lea ecx, [esp + 0x11c]
push eax
push ecx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], edi
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea edx, [esp + 0x120]
push 0x49005c
push edx
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x429fc1
cmp dword [ebx + 0x1c], 2
je 0x429f71
mov al, byte [0x494b70]
mov ecx, 0x40
mov byte [esp + 0x18], al
xor eax, eax
lea edi, [esp + 0x19]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0x100
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov al, byte [esp + 0x18]
test al, al
jne 0x42a024
mov edi, 0x48f40c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x6140]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x11c]
push ecx
push str.EHLO__s_r_n
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x11c]
mov ecx, ebp
push eax
push esi
call fcn.0041c670
mov eax, dword [ebx + 0x1c]
mov edi, 2
cmp eax, edi
jne 0x42a0b5
mov eax, dword [ebp + 8]
test eax, eax
je 0x42a0b5
lea ecx, [esp + 0x10]
lea edx, [esp + 0x11c]
push ecx
push edx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea eax, [esp + 0x120]
push 0x490664
push eax
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x42a0b5
cmp dword [ebx + 0x1c], edi
je 0x42a05a
lea ecx, [esp + 0x11c]
push str.AUTH_LOGIN_r_n
push ecx
call fcn.004585a3
add esp, 8
lea edx, [esp + 0x11c]
mov ecx, ebp
push edx
push esi
call fcn.0041c670
cmp dword [ebx + 0x1c], edi
jne 0x42a13a
mov eax, dword [ebp + 8]
test eax, eax
je 0x42a13a
lea eax, [esp + 0x10]
lea ecx, [esp + 0x11c]
push eax
push ecx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea edx, [esp + 0x120]
push 0x490650
push edx
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x42a13a
cmp dword [ebx + 0x1c], edi
je 0x42a0df
mov dl, byte [0x494b70]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x2125]
mov byte [esp + 0x2124], dl
mov byte [esp + 0x412c], dl
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x6144]
mov ecx, 0x400
lea edi, [esp + 0x412d]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x2124]
push ecx
push edx
push eax
call fcn.00412f30
mov edx, dword [esp + 0x6154]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x413c]
push edx
push ecx
call fcn.00412f30
mov dl, byte [0x494b70]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x5149]
mov byte [esp + 0x5148], dl
rep stosd dword es:[edi], eax
lea eax, [esp + 0x138]
lea ecx, [esp + 0x5148]
push eax
push ecx
call fcn.00413050
mov edi, str.USERNAME
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x5150]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.USERNAME
push edx
call fcn.0045a6b0
add esp, 0x2c
test eax, eax
jne 0x42a217
mov edi, 1
lea eax, [esp + 0x2124]
jmp 0x42a220
xor edi, edi
lea eax, [esp + 0x412c]
push eax
lea ecx, [esp + 0x120]
push str._s_r_n
push ecx
call fcn.004585a3
add esp, 0xc
lea edx, [esp + 0x11c]
mov ecx, ebp
push edx
push esi
call fcn.0041c670
cmp dword [ebx + 0x1c], 2
jne 0x42a2a8
mov eax, dword [ebp + 8]
test eax, eax
je 0x42a2a8
lea eax, [esp + 0x10]
lea ecx, [esp + 0x11c]
push eax
push ecx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea edx, [esp + 0x120]
push 0x490650
push edx
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x42a2a8
cmp dword [ebx + 0x1c], 2
je 0x42a24c
test edi, edi
je 0x42a2c3
lea eax, [esp + 0x412c]
lea ecx, [esp + 0x11c]
push eax
push str._s_r_n
push ecx
jmp 0x42a2d8
lea edx, [esp + 0x2124]
lea eax, [esp + 0x11c]
push edx
push str._s_r_n
push eax
call fcn.004585a3
add esp, 0xc
lea ecx, [esp + 0x11c]
push ecx
push esi
mov ecx, ebp
call fcn.0041c670
mov dl, byte [0x494b70]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x1121]
mov byte [esp + 0x1120], dl
mov edx, dword [ebx + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x42a353
mov ecx, dword [ebp + 4]
mov edi, dword [ecx + 0x364d8]
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
lea ecx, [edi + eax*4]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea edx, [esp + 0x1128]
push str._s__s_SMTP
push edx
call fcn.004585a3
add esp, 0x10
jmp 0x42a370
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [esp + 0x1124]
push str._s_unknown_SMTP
push eax
call fcn.004585a3
add esp, 0xc
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 0xa558]
test eax, eax
je 0x42a3f9
mov dl, byte [0x494b70]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x3129]
mov byte [esp + 0x3128], dl
lea edx, [esp + 0x3128]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x6144]
mov ecx, dword [esp + 0x614c]
push eax
push ecx
push str.LOGIN:_s__s
push edx
call fcn.004585a3
lea edi, [esp + 0x3138]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1120]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
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 + 0x6140]
lea eax, [esp + 0x1120]
jmp 0x42a6a6
mov edx, dword [esp + 0x614c]
mov ebx, dword [esp + 0x6138]
mov esi, dword [esp + 0x6140]
mov edi, 2
push edi
push 0x19
push edx
push ebx
push esi
mov ecx, ebp
call fcn.00426140
cmp dword [ebx + 0x1c], edi
jne 0x42a48c
mov eax, dword [ebp + 8]
test eax, eax
je 0x42a48c
lea eax, [esp + 0x10]
lea ecx, [esp + 0x11c]
push eax
push ecx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea edx, [esp + 0x120]
push 0x49005c
push edx
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x42a48c
cmp dword [ebx + 0x1c], edi
je 0x42a431
mov al, byte [0x494b70]
mov ecx, 0x40
mov byte [esp + 0x18], al
xor eax, eax
lea edi, [esp + 0x19]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0x100
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov al, byte [esp + 0x18]
test al, al
jne 0x42a4ef
mov edi, 0x48f40c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x6140]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x11c]
push ecx
push str.HELO__s_r_n
push edx
call fcn.004585a3
add esp, 0xc
lea eax, [esp + 0x11c]
mov ecx, ebp
push eax
push esi
call fcn.0041c670
mov eax, dword [ebx + 0x1c]
mov edi, 2
cmp eax, edi
jne 0x42a580
mov eax, dword [ebp + 8]
test eax, eax
je 0x42a580
lea ecx, [esp + 0x10]
lea edx, [esp + 0x11c]
push ecx
push edx
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0041ced0
test eax, eax
je 0x429f5c
push 3
lea eax, [esp + 0x120]
push 0x490664
push eax
call fcn.0045a6b0
add esp, 0xc
test eax, eax
jne 0x429f5c
cmp byte [esp + 0x11f], 0x20
je 0x42a580
cmp dword [ebx + 0x1c], edi
je 0x42a525
mov ecx, dword [esp + 0x613c]
push str.235_OK_r_n
push ecx
mov ecx, ebp
call fcn.0041c670
mov dl, byte [0x494b70]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x1121]
mov byte [esp + 0x1120], dl
mov edx, dword [ebx + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x42a5f7
mov ecx, dword [ebp + 4]
mov edi, dword [ecx + 0x364d8]
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
lea ecx, [edi + eax*4]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea edx, [esp + 0x1128]
push str._s__s_SMTP
push edx
call fcn.004585a3
add esp, 0x10
jmp 0x42a614
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [esp + 0x1124]
push str._s_unknown_SMTP
push eax
call fcn.004585a3
add esp, 0xc
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0xa558]
test eax, eax
je 0x42a69f
mov cl, byte [0x494b70]
xor eax, eax
mov byte [esp + 0x3128], cl
mov ecx, 0x400
lea edi, [esp + 0x3129]
rep stosd dword es:[edi], eax
mov eax, dword [edx + 0xa560]
test eax, eax
je 0x42a665
mov edx, dword [esp + 0x614c]
lea eax, [esp + 0x3128]
push edx
push str.LOGIN:_s
push eax
call fcn.004585a3
add esp, 0xc
lea edi, [esp + 0x3128]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1120]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
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 + 0x6140]
lea eax, [esp + 0x1120]
push eax
call fcn.00430d10
mov ecx, dword [esp + 0x6140]
add esp, 4
push 0
push ecx
push esi
push ebx
mov ecx, ebp
call fcn.00423f50
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x6124
ret 0x18