Function at 0x412911
Capabilities:
Read and send data from client to server
Read file on windows
Send data
Send data on socket

Disassembly:
push 0xa4
mov eax, 0x44ea2d
call fcn.00439dcc
mov esi, ecx
mov dword [ebp - 0x30], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
push ebx
cmp dword [ebp + 0x1c], ebx
jne 0x4129a1
xor esi, esi
inc esi
push esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 5
call fcn.0040799a
lea eax, [ebp + 0x24]
push eax
mov byte [ebp - 4], 4
call fcn.0040d4f4
push ebx
push esi
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 3
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 2
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x7c]
mov byte [ebp - 4], 1
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x98]
mov byte [ebp - 4], bl
call fcn.0040799a
or dword [ebp - 4], 0xffffffff
lea eax, [ebp + 0xb4]
push eax
call fcn.0040d4f4
xor al, al
call fcn.00439e4f
ret 0xd0
cmp dword [ebp + 0x40], ebx
jbe 0x412930
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.004082dd
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x78]
push str.MAIL_FROM:_
push eax
mov byte [ebp - 4], 7
call fcn.004132a6
push 0x463bb4
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 8
call fcn.004132f9
add esp, 0x18
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.004078e5
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 8
call fcn.0040799a
push ebx
push edi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 7
call fcn.0040799a
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412a22
lea eax, [ebp - 0x28]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x412a94
call fcn.00412502
push ebx
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.0040799a
push ebx
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 5
call fcn.0040799a
lea eax, [ebp + 0x24]
push eax
mov byte [ebp - 4], 4
call fcn.0040d4f4
push ebx
push edi
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 3
call fcn.0040799a
push ebx
push edi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 2
call fcn.0040799a
push ebx
push edi
lea ecx, [ebp + 0x7c]
mov byte [ebp - 4], 1
call fcn.0040799a
push ebx
push edi
jmp 0x412979
mov esi, dword [ebp - 0x30]
mov edi, 0x463b98
call fcn.0041251c
test al, al
jne 0x412abc
push ebx
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.0040799a
push ebx
jmp 0x412933
mov dword [ebp - 0x38], ebx
cmp dword [ebp + 0x40], ebx
jbe 0x412b74
push dword [ebp - 0x38]
lea eax, [ebp + 0x24]
call fcn.0041325f
push eax
lea eax, [ebp - 0xb0]
push str.RCPT_To:_
push eax
call fcn.004132a6
push 0x463bb4
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0xa
call fcn.004132f9
add esp, 0x18
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.004078e5
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.0040799a
push ebx
push edi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 7
call fcn.0040799a
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412b39
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412a35
mov edi, 0x463b98
call fcn.0041251c
test al, al
je 0x412aa5
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp + 0x40]
jb 0x412ac8
mov esi, dword [ebp - 0x30]
push ebx
push 6
push str.DATA_r_n
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x412b97
call fcn.00412502
jmp 0x412aa5
mov edi, 0x463bd8
call fcn.0041251c
test al, al
je 0x412aa5
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x5c]
push str.From:
push eax
call fcn.004132a6
push 0x460f94
push eax
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0xc
call fcn.004132f9
lea ecx, [ebp + 8]
push ecx
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xd
call fcn.00413347
push 0x463bb4
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0xe
call fcn.004132f9
add esp, 0x30
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.004078e5
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xe
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xd
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xc
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.0040799a
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x94]
push str.Subject:
push eax
call fcn.004132a6
mov edi, 0x460ff8
push edi
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x10
call fcn.004132f9
add esp, 0x18
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.0041243a
mov byte [ebp - 4], 0x10
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.0040799a
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 7
call fcn.0040799a
mov esi, str.MIME_Version:1.0_r_n
push esi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.X_Mailer:
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Smtp_Client_By_ZhangLuduo
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push esi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Content_type:multipart_mixed_Boundary
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.www.oopfans.com
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
mov esi, str._r_n_r_n
push esi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412d1f
lea eax, [ebp - 0x28]
push ebx
push dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x412d3d
mov esi, dword [ebp - 0x30]
jmp 0x412b8d
push 0x463c6c
lea ecx, [ebp - 0x2c]
call fcn.00407977
push str.www.oopfans.com
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
mov eax, str.Content_type:text_html_Charsetgb2312_r_n
cmp byte [ebp + 0xd4], bl
jne 0x412d74
mov eax, str.Content_type:text_plain_Charsetgb2312_r_n
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Content_Transfer_Encoding:8bit_r_n_r_n
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push esi
lea eax, [ebp + 0x98]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004132f9
add esp, 0xc
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.0041243a
push ebx
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.0040799a
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412dca
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412b8d
mov dword [ebp - 0x3c], ebx
cmp dword [ebp + 0xd0], ebx
jbe 0x41308d
push 0x463c6c
lea ecx, [ebp - 0x2c]
call fcn.00407977
push str.www.oopfans.com
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Content_Type:application_octet_stream_Name
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push dword [ebp - 0x3c]
lea eax, [ebp + 0xb4]
call fcn.0041325f
mov ebx, eax
call fcn.004131a9
inc eax
push eax
push dword [ebp - 0x3c]
lea eax, [ebp + 0xb4]
call fcn.0041325f
push eax
lea esi, [ebp - 0x5c]
call fcn.00413232
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x18], 0x10
jb 0x412e63
mov eax, dword [eax + 4]
jmp 0x412e66
add eax, 4
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push 0
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.0040799a
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Content_Disposition:attachment_FileName
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push dword [ebp - 0x3c]
lea eax, [ebp + 0xb4]
call fcn.0041325f
mov ebx, eax
call fcn.004131a9
inc eax
push eax
push dword [ebp - 0x3c]
lea eax, [ebp + 0xb4]
call fcn.0041325f
push eax
lea esi, [ebp - 0x5c]
call fcn.00413232
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x412ed5
mov eax, dword [eax + 4]
jmp 0x412ed8
add eax, 4
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.0040799a
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.Content_Transfer_Encoding:Base64_r_n_r_n
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412f17
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412b8d
push dword [ebp - 0x3c]
lea eax, [ebp + 0xb4]
call fcn.0041325f
cmp dword [eax + 0x18], 0x10
jb 0x412f4a
mov eax, dword [eax + 4]
jmp 0x412f4d
add eax, 4
push 0x460ed8
push eax
call fcn.00436f59
mov esi, 0x2c89
push esi
mov dword [ebp - 0x40], eax
call fcn.00416ada
push esi
push ebx
push eax
mov dword [ebp - 0x38], eax
call fcn.00439ec0
push dword [ebp - 0x40]
dec esi
push esi
push 1
push dword [ebp - 0x38]
call fcn.0043778c
add esp, 0x28
jmp 0x412ff6
mov ecx, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004121ba
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
call fcn.004078e5
push ebx
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.0040799a
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x412fbd
lea eax, [ebp - 0x28]
push ebx
push dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412d35
push 0x2c89
push ebx
push dword [ebp - 0x38]
call fcn.00439ec0
push dword [ebp - 0x40]
push esi
push 1
push dword [ebp - 0x38]
call fcn.0043778c
add esp, 0x1c
cmp eax, esi
je 0x412f85
cmp eax, ebx
jle 0x413064
mov ecx, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.004121ba
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x16
call fcn.004078e5
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 7
call fcn.0040799a
push str._r_n_r_n
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x41304a
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412b8d
push dword [ebp - 0x38]
call fcn.00416ae5
push dword [ebp - 0x40]
call fcn.00437156
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
cmp eax, dword [ebp + 0xd0]
jb 0x412df3
mov esi, dword [ebp - 0x30]
xor ebx, ebx
push 0x463c6c
lea ecx, [ebp - 0x2c]
call fcn.00407977
push str.www.oopfans.com
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
push str.___r_n._r_n
lea eax, [ebp - 0x2c]
push eax
call fcn.00412336
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x4130c2
lea eax, [ebp - 0x28]
push ebx
push dword [ebp - 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412b8d
mov esi, dword [ebp - 0x30]
mov edi, 0x463b98
call fcn.0041251c
push ebx
test al, al
je 0x412aa6
push 6
push str.QUIT_r_n
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x412b8d
mov edi, 0x463d78
call fcn.0041251c
test al, al
jne 0x41319b
mov byte [ebp - 0x31], bl
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 5
call fcn.0040799a
lea eax, [ebp + 0x24]
push eax
mov byte [ebp - 4], 4
call fcn.0040d4f4
push ebx
push esi
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 3
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 2
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x7c]
mov byte [ebp - 4], 1
call fcn.0040799a
push ebx
push esi
lea ecx, [ebp + 0x98]
mov byte [ebp - 4], bl
call fcn.0040799a
or dword [ebp - 4], 0xffffffff
lea eax, [ebp + 0xb4]
push eax
call fcn.0040d4f4
mov al, byte [ebp - 0x31]
jmp 0x412999
call fcn.00412502
mov byte [ebp - 0x31], 1
jmp 0x41311d