Function at 0x1002b2f0
Capabilities:
Get hostname
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1004efa2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x62bc
call fcn.10036fa0
mov eax, dword [0x1005d330]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x62c0], eax
push edi
xor eax, eax
mov ecx, 0x400
lea edi, [esp + 0x291]
mov byte [esp + 0x290], 0
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x1002b8e2
lea ecx, [esp + 0x20]
call fcn.1001b740
lea ecx, [esp + 0x20]
push ecx
push 2
mov ecx, 0x1005ff80
mov dword [esp + 0x62dc], 0
call fcn.10030070
mov ecx, dword [0x10078d54]
xor eax, eax
test ecx, ecx
je 0x1002b39f
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x10]
push edx
mov edx, dword [ecx + 4]
lea eax, [esp + 0x74]
push eax
push edx
mov dword [esp + 0x1c], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
push 0x19
push ecx
push ebx
mov ecx, esi
call fcn.10017d80
test eax, eax
jne 0x1002b484
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov dword [esp + 0x62d4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1002b3e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002b405
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002b423
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002b441
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002b45f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002b47d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
xor eax, eax
jmp 0x1002bb3f
mov edi, dword [ebp + 8]
cmp dword [edi], 2
jne 0x1002b4e5
lea esp, [esp]
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002b4e5
push 0x1000
lea eax, [esp + 0x294]
push eax
push ebx
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002b759
push 3
lea ecx, [esp + 0x294]
push 0x10052084
push ecx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002b759
cmp byte [esp + 0x293], 0x20
je 0x1002b4e5
cmp dword [edi], 2
je 0x1002b490
xor eax, eax
mov byte [esp + 0x80], 0
mov ecx, 0x40
lea edi, [esp + 0x81]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x1c], 0x100
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov al, byte [esp + 0x80]
test al, al
jne 0x1002b53d
mov ecx, dword [str.CCProxy]
mov edx, dword [0x10052d88]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x294]
push str.EHLO__s_r_n
push ecx
call fcn.10036e11
add esp, 0xc
lea edx, [esp + 0x290]
push edx
push ebx
mov ecx, esi
call fcn.10017670
mov edi, dword [ebp + 8]
cmp dword [edi], 2
jne 0x1002b5c7
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002b5c7
push 0x1000
lea eax, [esp + 0x294]
push eax
push ebx
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002b759
push 3
lea ecx, [esp + 0x294]
push 0x10052d74
push ecx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002b759
cmp byte [esp + 0x293], 0x20
je 0x1002b5c7
cmp dword [edi], 2
je 0x1002b572
lea edx, [esp + 0x290]
push str.AUTH_LOGIN_r_n
push edx
call fcn.10036e11
add esp, 8
lea eax, [esp + 0x290]
push eax
push ebx
mov ecx, esi
call fcn.10017670
cmp dword [edi], 2
jne 0x1002b646
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002b646
push 0x1000
lea ecx, [esp + 0x294]
push ecx
push ebx
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002b759
push 3
lea edx, [esp + 0x294]
push 0x10052d60
push edx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002b759
cmp byte [esp + 0x293], 0x20
je 0x1002b646
cmp dword [edi], 2
je 0x1002b5f1
xor eax, eax
mov ecx, 0x400
lea edi, [esp + 0x22a1]
mov byte [esp + 0x22a0], 0
rep stosd dword es:[edi], eax
mov byte [esp + 0x1298], al
mov ecx, 0x400
lea edi, [esp + 0x1299]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b680
push 0x1001
lea ecx, [esp + 0x22a4]
push ecx
sub eax, edx
mov edx, dword [ebp + 0x14]
push eax
push edx
mov ecx, esi
call fcn.10017010
mov ecx, dword [ebp + 0x18]
mov eax, ecx
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1002b6b0
push 0x1001
lea edx, [esp + 0x129c]
push edx
sub eax, edi
push eax
push ecx
mov ecx, esi
call fcn.10017010
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x32a9]
mov byte [esp + 0x32a8], 0
rep stosd dword es:[edi], eax
jmp 0x1002b6f0
mov cl, byte [esp + eax + 0x294]
mov byte [esp + eax + 0x32a8], cl
inc eax
test cl, cl
jne 0x1002b6f0
lea eax, [esp + 0x32a8]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b710
sub eax, edx
push eax
lea eax, [esp + 0x32ac]
push eax
mov ecx, esi
call fcn.10016f70
push 8
lea ecx, [esp + 0x32ac]
push str.USERNAME
push ecx
call fcn.10040b84
add esp, 0xc
test eax, eax
lea eax, [esp + 0x290]
jne 0x1002b769
mov edi, 1
lea edx, [esp + 0x22a0]
jmp 0x1002b772
lea ecx, [esp + 0x20]
call fcn.1001b6e0
xor eax, eax
jmp 0x1002bb3f
xor edi, edi
lea edx, [esp + 0x1298]
push edx
push str._s_r_n
push eax
call fcn.10036e11
add esp, 0xc
lea ecx, [esp + 0x290]
push ecx
mov ecx, esi
push ebx
call fcn.10017670
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x1002b7f4
lea esp, [esp]
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002b7f4
push 0x1000
lea eax, [esp + 0x294]
push eax
push ebx
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002b759
push 3
lea ecx, [esp + 0x294]
push 0x10052d60
push ecx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002b759
cmp byte [esp + 0x293], 0x20
je 0x1002b7f4
mov edx, dword [ebp + 8]
cmp dword [edx], 2
je 0x1002b7a0
test edi, edi
je 0x1002b80f
lea eax, [esp + 0x1298]
push eax
push str._s_r_n
lea ecx, [esp + 0x298]
push ecx
jmp 0x1002b824
lea edx, [esp + 0x22a0]
push edx
push str._s_r_n
lea eax, [esp + 0x298]
push eax
call fcn.10036e11
add esp, 0xc
lea ecx, [esp + 0x290]
push ecx
push ebx
mov ecx, esi
call fcn.10017670
mov edx, dword [ebp + 0x14]
xor eax, eax
mov byte [esp + 0x42b0], 0
mov ecx, 0x400
lea edi, [esp + 0x42b1]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x42b8]
push str.Connect_Host:_s_User:_s
push ecx
call fcn.10036e11
add esp, 0xc
lea edx, [esp + 0x42b4]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.100047c0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.SMTP
mov byte [esp + 0x62e0], 1
call fcn.100047c0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x10050713
mov byte [esp + 0x62e4], 2
call fcn.100047c0
mov edi, dword [ebp + 8]
push edi
mov ecx, 0x1005ed60
mov byte [esp + 0x62e4], 0
call fcn.1000cbb0
mov eax, dword [ebp + 0xc]
push eax
push ebx
push edi
mov ecx, esi
call fcn.100176b0
lea ecx, [esp + 0x20]
jmp 0x1002bb35
lea ecx, [esp + 0x48]
call fcn.1001b740
lea ecx, [esp + 0x48]
push ecx
push 2
mov ecx, 0x1005ff80
mov dword [esp + 0x62dc], 3
call fcn.10030070
mov ecx, dword [0x10078d54]
mov ebx, dword [ebp + 8]
xor eax, eax
test ecx, ecx
je 0x1002b936
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x74]
push eax
push ecx
mov dword [esp + 0x1c], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [esp + 0x74]
mov edi, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x1c]
lea edx, [esp + 0x4c]
push edx
push 0x19
push eax
push edi
mov ecx, esi
call fcn.10017d80
cmp dword [ebx], 2
jne 0x1002b9a7
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002b9a7
push 0x1000
lea ecx, [esp + 0x294]
push ecx
push edi
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002bb62
push 3
lea edx, [esp + 0x294]
push 0x10052084
push edx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002bb62
cmp byte [esp + 0x293], 0x20
je 0x1002b9a7
cmp dword [ebx], 2
je 0x1002b952
xor eax, eax
mov byte [esp + 0x188], 0
mov ecx, 0x40
lea edi, [esp + 0x189]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18c]
push ecx
mov dword [esp + 0x20], 0x100
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov al, byte [esp + 0x188]
test al, al
jne 0x1002b9fe
mov edx, dword [str.CCProxy]
mov eax, dword [0x10052d88]
mov dword [esp + 0x188], edx
mov dword [esp + 0x18c], eax
lea ecx, [esp + 0x188]
push ecx
lea edx, [esp + 0x294]
push str.HELO__s_r_n
push edx
call fcn.10036e11
mov edi, dword [ebp + 0x10]
add esp, 0xc
lea eax, [esp + 0x290]
push eax
push edi
mov ecx, esi
call fcn.10017670
cmp dword [ebx], 2
jne 0x1002ba88
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1002ba88
push 0x1000
lea ecx, [esp + 0x294]
push ecx
push edi
mov ecx, esi
call fcn.10017210
test eax, eax
je 0x1002bb62
push 3
lea edx, [esp + 0x294]
push 0x10052d74
push edx
call fcn.10040b84
add esp, 0xc
test eax, eax
jne 0x1002bb62
cmp byte [esp + 0x293], 0x20
je 0x1002ba88
cmp dword [ebx], 2
je 0x1002ba33
mov eax, dword [ebp + 0xc]
push str.235_OK_r_n
push eax
mov ecx, esi
call fcn.10017670
xor eax, eax
mov byte [esp + 0x52b8], 0
mov ecx, 0x400
lea edi, [esp + 0x52b9]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [esp + 0x52bc]
push str.Connect_Host:_s
push edx
call fcn.10036e11
add esp, 8
lea eax, [esp + 0x52bc]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.100047c0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.SMTP
mov byte [esp + 0x62e0], 4
call fcn.100047c0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x10050713
mov byte [esp + 0x62e4], 5
call fcn.100047c0
push ebx
mov ecx, 0x1005ed60
mov byte [esp + 0x62e4], 3
call fcn.1000cbb0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push ebx
mov ecx, esi
call fcn.100176b0
lea ecx, [esp + 0x48]
call fcn.1001b6e0
mov eax, 1
mov ecx, dword [esp + 0x62cc]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x62c4]
call fcn.10036c09
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
lea ecx, [esp + 0x48]
call fcn.1001b6e0
xor eax, eax
jmp 0x1002bb3f