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

Disassembly:
push 0xffffffffffffffff
push 0x4142ff
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x41c404]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x41c404]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0xec], 0
mov dword [esp + 0xd0], 6
je 0x4107c3
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x100]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4107c3
lea ecx, [esp + 0x8c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov ebp, dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x74]
push str.MAIL_FROM:_
push edx
mov byte [esp + 0xdc], 7
call ebp
mov edi, dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
push 0x417964
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0xe8], 8
call edi
add esp, 0x18
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 9
call dword [0x41511c]
lea ecx, [esp + 0x54]
mov byte [esp + 0xd0], 8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x70]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x4104b0
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
push 0
push ecx
push eax
push edx
call dword [sym.imp.WS2_32.dll_send]
or esi, 0xffffffff
cmp eax, esi
jne 0x410598
mov eax, dword [ebx + 4]
push 2
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [ebx + 4]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd8]
mov byte [esp + 0xd0], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd0], 4
call fcn.00404d20
lea ecx, [esp + 0x10c]
mov byte [esp + 0xd0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x160]
mov byte [esp + 0xd0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x17c]
mov dword [esp + 0xd0], esi
call fcn.00404d20
xor al, al
jmp 0x411253
push 0x41778c
mov ecx, ebx
call fcn.0040fc80
test al, al
je 0x4104ec
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x100]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor esi, esi
add eax, edx
je 0x4106c3
jmp 0x4105e0
push esi
lea ecx, [esp + 0xf8]
call fcn.004100d0
push eax
lea ecx, [esp + 0x58]
push str.RCPT_To:_
push ecx
call ebp
push 0x417964
push eax
lea edx, [esp + 0x84]
push edx
mov byte [esp + 0xe8], 0xa
call edi
add esp, 0x18
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0xb
call dword [0x41511c]
lea ecx, [esp + 0x70]
mov byte [esp + 0xd0], 0xa
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x54]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x410667
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
push 0
push ecx
push eax
push edx
call dword [sym.imp.WS2_32.dll_send]
mov ecx, ebx
cmp eax, 0xffffffff
je 0x4107a9
push 0x41778c
call fcn.0040fc80
test al, al
je 0x4107ae
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x100]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
cmp esi, eax
jb 0x4105e0
mov ecx, dword [ebx + 4]
push 0
push 6
push str.DATA_r_n
push ecx
call dword [sym.imp.WS2_32.dll_send]
or esi, 0xffffffff
cmp eax, esi
jne 0x41085e
mov edx, dword [ebx + 4]
push 2
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebx + 4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd8]
mov byte [esp + 0xd0], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd0], 4
call fcn.00404d20
lea ecx, [esp + 0x10c]
mov byte [esp + 0xd0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x160]
mov byte [esp + 0xd0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x17c]
mov dword [esp + 0xd0], esi
call fcn.00404d20
xor al, al
jmp 0x411253
call fcn.0040fc60
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd8]
mov byte [esp + 0xd0], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd0], 4
call fcn.00404d20
lea ecx, [esp + 0x10c]
mov byte [esp + 0xd0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x160]
mov byte [esp + 0xd0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x17c]
mov dword [esp + 0xd0], 0xffffffff
call fcn.00404d20
xor al, al
jmp 0x411253
push 0x41794c
mov ecx, ebx
call fcn.0040fc80
test al, al
je 0x4104ec
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 0x20]
push str.From:
push edx
call ebp
push 0x417940
push eax
lea eax, [esp + 0x4c]
push eax
mov byte [esp + 0xe8], 0xc
call edi
lea ecx, [esp + 0xf0]
push ecx
push eax
lea edx, [esp + 0x74]
push edx
mov byte [esp + 0xf4], 0xd
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0x417964
push eax
lea eax, [esp + 0x9c]
mov bl, 0xe
push eax
mov byte [esp + 0x100], bl
call edi
add esp, 0x30
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0xf
call dword [0x41511c]
lea ecx, [esp + 0x70]
mov byte [esp + 0xd0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x54]
mov byte [esp + 0xd0], 0xd
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0xc
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xa8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x100]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
xor esi, esi
add ecx, edx
mov byte [esp + 0xd0], 0x10
je 0x410a2a
mov bl, 0x11
push esi
lea ecx, [esp + 0xf8]
call fcn.004100d0
push eax
lea edx, [esp + 0x3c]
push str.To:_
push edx
call ebp
push 0x417964
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0xe8], bl
call edi
add esp, 0x18
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0xd4], 0x12
call dword [0x41511c]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
jae 0x4109f2
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x100]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
cmp esi, ecx
jb 0x410970
lea edx, [esp + 0x144]
push edx
lea eax, [esp + 0x3c]
push str.Subject:
push eax
call ebp
push 0x417720
push eax
lea ecx, [esp + 0x30]
mov bl, 0x13
push ecx
mov byte [esp + 0xe8], bl
call edi
add esp, 0x18
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x14
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push str.MIME_Version:1.0_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.X_Mailer:
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Smtp_Client_By_zwcad_chinaweal
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x417720
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.MIME_Version:1.0_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Content_type:multipart_mixed_Boundary
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.www.zwcad.com
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str._r_n_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x90]
mov ebp, 0x10
cmp dword [esp + 0xa4], ebp
jae 0x410b3c
lea eax, [esp + 0x90]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x18]
mov esi, dword [sym.imp.WS2_32.dll_send]
push 0
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call esi
cmp eax, 0xffffffff
jne 0x410b7d
mov ecx, ebx
call fcn.0040fc60
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x4107ae
push 0x4178b0
lea ecx, [esp + 0x90]
call dword [0x415138]
push str.www.zwcad.com
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x417720
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp byte [esp + 0x194], 0
mov eax, str.Content_type:text_html_Charsetgb2312_r_n
jne 0x410bc7
mov eax, str.Content_type:text_plain_Charsetgb2312_r_n
push eax
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Content_Transfer_Encoding:8bit_r_n_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str._r_n_r_n
lea ecx, [esp + 0x164]
push ecx
lea edx, [esp + 0x24]
push edx
call edi
add esp, 0xc
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x15
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], ebp
jae 0x410c3d
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
push 0
push ecx
push eax
push edx
call esi
cmp eax, 0xffffffff
je 0x410b5c
mov ecx, dword [esp + 0x18c]
sub ecx, dword [esp + 0x188]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x411022
push 0x4178b0
lea ecx, [esp + 0x90]
call dword [0x415138]
push str.www.zwcad.com
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x417720
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Content_Type:application_octet_stream_Name
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov esi, dword [ecx]
push edi
lea ecx, [esp + 0x180]
call fcn.004100d0
push 1
push esi
push 0x417808
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_last_of_char_const___unsigned_int__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [edx]
push ecx
inc eax
push eax
lea edx, [esp + 0x24]
push edx
push edi
lea ecx, [esp + 0x18c]
call fcn.004100d0
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0xd0], 0x16
cmp dword [eax + 0x18], ebp
jb 0x410d24
mov eax, dword [eax + 4]
jmp 0x410d27
add eax, 4
push eax
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x417720
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Content_Disposition:attachment_FileName
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov esi, dword [eax]
push edi
lea ecx, [esp + 0x180]
call fcn.004100d0
push 1
push esi
push 0x417808
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_last_of_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
push edx
inc eax
push eax
lea eax, [esp + 0x24]
push eax
push edi
lea ecx, [esp + 0x18c]
call fcn.004100d0
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0xd0], 0x17
cmp dword [eax + 0x18], ebp
jb 0x410dc6
mov eax, dword [eax + 4]
jmp 0x410dc9
add eax, 4
push eax
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x417720
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.Content_Transfer_Encoding:Base64_r_n_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], ebp
jae 0x410e24
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
push 0
push ecx
push eax
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x410b5c
push edi
lea ecx, [esp + 0x180]
mov dword [esp + 0x1c], 0
call fcn.004100d0
cmp dword [eax + 0x18], ebp
jb 0x410e61
mov eax, dword [eax + 4]
jmp 0x410e64
add eax, 4
push 0x4177b0
push eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.MSVCR90.dll_fopen_s]
push 0x2c89
call sub.mfc90.dll_Ordinal_265
push 0x2c89
mov esi, eax
push 0
push esi
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x34]
add esp, 0x1c
test eax, eax
je 0x410ff2
push eax
push 0x2c88
push 1
push esi
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 0x2c88
jne 0x410f5b
lea ebx, [ebx]
push eax
push esi
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x23]
call fcn.0040fa20
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x18
call dword [0x41511c]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], ebp
jae 0x410f0f
lea eax, [esp + 0x90]
mov edx, dword [esp + 0xa0]
push 0
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x410b5c
push 0x2c89
push 0
push esi
call sub.MSVCR90.dll_memset
mov ecx, dword [esp + 0x24]
push ecx
push 0x2c88
push 1
push esi
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x1c
cmp eax, 0x2c88
je 0x410ec0
test eax, eax
jle 0x410fde
push eax
push esi
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x23]
call fcn.0040fa20
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xd4], 0x19
call dword [0x41511c]
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0x10
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push str._r_n_r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], ebp
jae 0x410fc0
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
push 0
push ecx
push eax
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x410b5c
push esi
call sub.mfc90.dll_Ordinal_266
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 8
mov ecx, dword [esp + 0x18c]
sub ecx, dword [esp + 0x188]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc edi
add ecx, edx
cmp edi, ecx
jb 0x410c80
mov esi, dword [sym.imp.WS2_32.dll_send]
push 0x4178b0
lea ecx, [esp + 0x90]
call dword [0x415138]
push str.www.zwcad.com
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push str.___r_n._r_n
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], ebp
jae 0x41106f
lea eax, [esp + 0x90]
mov edx, dword [esp + 0xa0]
push 0
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call esi
or edi, 0xffffffff
mov ecx, ebx
cmp eax, edi
jne 0x411153
call fcn.0040fc60
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd8]
mov byte [esp + 0xd0], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd0], 4
call fcn.00404d20
lea ecx, [esp + 0x10c]
mov byte [esp + 0xd0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x160]
mov byte [esp + 0xd0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x17c]
mov dword [esp + 0xd0], edi
call fcn.00404d20
xor al, al
jmp 0x411253
push 0x41778c
call fcn.0040fc80
test al, al
je 0x411092
mov ecx, dword [ebx + 4]
push 0
push 6
push str.QUIT_r_n
push ecx
call esi
mov ecx, ebx
cmp eax, edi
je 0x41108d
push 0x41779c
call fcn.0040fc80
test al, al
je 0x411092
mov ecx, ebx
call fcn.0040fc60
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd8]
mov byte [esp + 0xd0], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd0], 4
call fcn.00404d20
lea ecx, [esp + 0x10c]
mov byte [esp + 0xd0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x160]
mov byte [esp + 0xd0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x17c]
mov dword [esp + 0xd0], edi
call fcn.00404d20
mov al, 1
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00411bf6
add esp, 0xc0
ret 0xc0