Function at 0x14013fa10
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x980]
sub rsp, 0xa80
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0xad8], rbx
mov rax, qword [0x1403ad830]
xor rax, rsp
mov qword [rbp + 0x970], rax
mov r15, r8
mov qword [rsp + 0x38], r8
mov r13, rdx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x70], r8
call sub.KERNEL32.dll_GetTickCount
mov r12d, eax
mov dword [rsp + 0x34], eax
mov dword [rbp - 0x68], eax
mov byte [r15], 0
lea rcx, [r15 + 8]
call fcn.14001f170
cmp byte [r14], 0
jne 0x14013fabb
lea rdx, str.param_NOT_set
lea rcx, [rbp + 0x1e0]
call fcn.14001c950
nop
lea rdx, [rbp + 0x1e0]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x1e0]
call fcn.14001d440
jmp 0x14014133f
mov rcx, r13
call fcn.14001f680
test al, al
je 0x14013fafd
lea rdx, str.subject_NOT_set
lea rcx, [rbp + 0x208]
call fcn.14001c950
nop
lea rdx, [rbp + 0x208]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x208]
call fcn.14001d440
jmp 0x14014133f
lea rcx, [r13 + 0x58]
call fcn.14001f680
test al, al
je 0x14013fb40
lea rdx, str.content_NOT_set
lea rcx, [rbp + 0x230]
call fcn.14001c950
nop
lea rdx, [rbp + 0x230]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x230]
call fcn.14001d440
jmp 0x14014133f
mov rcx, qword [r13 + 0x30]
sub rcx, qword [r13 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x14013fb9b
lea rdx, str.sendto_NOT_set
lea rcx, [rbp + 0x258]
call fcn.14001c950
nop
lea rdx, [rbp + 0x258]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x258]
call fcn.14001d440
jmp 0x14014133f
lea rcx, [rbp + 0x30]
call fcn.14001cac0
nop
xor edi, edi
mov dword [rbp + 0x58], edi
mov byte [rbp + 0x5c], dil
lea rcx, [rbp + 0x60]
call fcn.14001cac0
mov qword [rbp + 0x88], 0xffffffffffffffff
mov qword [rbp + 0x90], rdi
mov byte [rbp + 0x98], dil
mov byte [rbp + 0x99], dil
mov byte [rbp + 0x9a], 1
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
lea rbx, [r14 + 8]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.14001d690
mov eax, dword [r14 + 0x30]
mov dword [rbp + 0x58], eax
lea rcx, [rbp + 0x30]
call fcn.1400ef400
test eax, eax
je 0x14013fce9
lea r8d, [rdi + 0xa]
mov edx, dword [r14 + 0x30]
lea rcx, [rbp + 0x2a8]
call fcn.14001c580
nop
lea rdx, [0x1402d1d24]
lea rcx, [rbp + 0x280]
call fcn.14001c950
nop
lea rdx, str.cannot_connect
lea rcx, [rbp + 0x470]
call fcn.14001c950
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x448]
call fcn.14001da00
nop
lea r8, [rbp + 0x280]
mov rdx, rax
lea rcx, [rbp + 0x420]
call fcn.14001da00
nop
lea r8, [rbp + 0x2a8]
mov rdx, rax
lea rcx, [rbp + 0x3f8]
call fcn.14001da00
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x3f8]
call fcn.14001d440
nop
lea rcx, [rbp + 0x420]
call fcn.14001d440
nop
lea rcx, [rbp + 0x448]
call fcn.14001d440
nop
lea rcx, [rbp + 0x470]
call fcn.14001d440
nop
lea rcx, [rbp + 0x280]
call fcn.14001d440
nop
lea rcx, [rbp + 0x2a8]
jmp 0x14014132f
lea rcx, [rbp]
call fcn.14001cac0
nop
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.14013f8d0
test al, al
jne 0x14013fd3e
lea rdx, str.network_error__recv_first_resp_failed
lea rcx, [rbp + 0x498]
call fcn.14001c950
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x498]
call fcn.14001d440
jmp 0x14014132b
cmp dword [rsp + 0x30], 0xdc
je 0x14013fd9b
lea rdx, str.SMTP_responce_error:
lea rcx, [rbp + 0x4e8]
call fcn.14001c950
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x4c0]
call fcn.14001da00
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x4c0]
call fcn.14001d440
nop
lea rcx, [rbp + 0x4e8]
call fcn.14001d440
jmp 0x14014132b
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp + 0xc0], xmm0
mov byte [rbp + 0xb0], 0
mov r12d, reloc.WS2_32.dll_ntohs
mov r8d, r12d
lea rdx, str.EHLO_BlowSnow_r_n
lea rcx, [rbp + 0xb0]
call fcn.140004c40
nop
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
movzx ebx, al
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x14013fe23
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013fe1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014137b
call fcn.140283144
test bl, bl
jne 0x14013fe59
lea rdx, str.network_error__send_EHLO_failed
lea rcx, [rbp + 0x510]
call fcn.14001c950
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x510]
call fcn.14001d440
jmp 0x140141326
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.14013f8d0
test al, al
jne 0x14013fea4
lea rdx, str.network_error__recv_EHLO_resp_failed
lea rcx, [rbp + 0x538]
call fcn.14001c950
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x538]
call fcn.14001d440
jmp 0x140141326
cmp dword [rsp + 0x30], 0xfa
je 0x14013ff01
lea rdx, str.SMTP_responce_error:
lea rcx, [rbp + 0x588]
call fcn.14001c950
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x560]
call fcn.14001da00
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x560]
call fcn.14001d440
nop
lea rcx, [rbp + 0x588]
call fcn.14001d440
jmp 0x140141326
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
lea rdx, [rsp + 0x70]
lea rcx, [rbp]
call fcn.14013f630
test al, al
je 0x14013ff75
lea rdx, str.LOGIN
lea rcx, [rbp + 0x2d0]
call fcn.14001c950
nop
lea rdx, [rbp + 0x2d0]
lea rcx, [rsp + 0x70]
call fcn.14013f580
movzx ebx, al
lea rcx, [rbp + 0x2d0]
call fcn.14001d440
test bl, bl
je 0x14013ffbf
lea r9, [r15 + 8]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140141b70
test al, al
je 0x14014131c
lea rdx, [r14 + 0xc8]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
test al, al
jne 0x14014008e
lea rdx, str.network_error__send_MAIL_FROM_failed
lea rcx, [rbp + 0x600]
call fcn.14001c950
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x600]
call fcn.14001d440
jmp 0x14014131c
lea rdx, str.PLAIN
lea rcx, [rbp + 0x2f8]
call fcn.14001c950
nop
lea rdx, [rbp + 0x2f8]
lea rcx, [rsp + 0x70]
call fcn.14013f580
movzx ebx, al
lea rcx, [rbp + 0x2f8]
call fcn.14001d440
test bl, bl
je 0x140140019
lea r9, [r15 + 8]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140141ed0
test al, al
jne 0x14013ff75
jmp 0x14014131c
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x320]
call fcn.14001c210
nop
lea rdx, str.NOT_support_auth_:
lea rcx, [rbp + 0x5d8]
call fcn.14001c950
nop
lea r8, [rbp + 0x320]
mov rdx, rax
lea rcx, [rbp + 0x5b0]
call fcn.14001da00
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x5b0]
call fcn.14001d440
nop
lea rcx, [rbp + 0x5d8]
call fcn.14001d440
nop
lea rcx, [rbp + 0x320]
call fcn.14001d440
jmp 0x14014131c
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.14013f8d0
test al, al
jne 0x1401400d9
lea rdx, str.network_error__recv_MAIL_FROM_resp_failed
lea rcx, [rbp + 0x628]
call fcn.14001c950
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x628]
call fcn.14001d440
jmp 0x14014131c
cmp dword [rsp + 0x30], 0xfa
je 0x140140136
lea rdx, str.SMTP_responce_error:
lea rcx, [rbp + 0x678]
call fcn.14001c950
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x650]
call fcn.14001da00
nop
mov rdx, rax
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x650]
call fcn.14001d440
nop
lea rcx, [rbp + 0x678]
call fcn.14001d440
jmp 0x14014131c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov r15, rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rdi
mov r14d, edi
mov rcx, qword [r13 + 0x30]
sub rcx, qword [r13 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rsi, qword [rsp + 0x48]
je 0x1401402f6
mov rbx, rdi
lea rdx, [0x1402f9ae0]
lea rcx, [rbp + 0x348]
call fcn.14001c950
nop
lea rdx, str.RCPT_TO:__
lea rcx, [rbp + 0x6c8]
call fcn.14001c950
nop
lea rdx, [rbx + rbx*4]
mov rcx, qword [r13 + 0x28]
lea r8, [rcx + rdx*8]
mov rdx, rax
lea rcx, [rbp + 0x6a0]
call fcn.14001da00
nop
lea r8, [rbp + 0x348]
mov rdx, rax
lea rcx, [rbp + 0x7e0]
call fcn.14001da00
nop
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.140020d90
nop
cmp r15, rsi
je 0x14014021c
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
mov byte [rax], 0
add rsi, 0x20
mov qword [rsp + 0x48], rsi
jmp 0x14014023b
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14003dc30
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0x10
jb 0x14014027c
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140140277
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140141381
call fcn.140283144
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], r12
mov byte [rbp + 0xd0], 0
lea rcx, [rbp + 0x7e0]
call fcn.14001d440
nop
lea rcx, [rbp + 0x6a0]
call fcn.14001d440
nop
lea rcx, [rbp + 0x6c8]
call fcn.14001d440
nop
lea rcx, [rbp + 0x348]
call fcn.14001d440
inc r14d
mov rcx, qword [r13 + 0x30]
sub rcx, qword [r13 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rbx, r14d
cmp rbx, rdx
jb 0x140140180
mov r14d, edi
mov rcx, qword [r13 + 0x48]
sub rcx, qword [r13 + 0x40]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401404a6
mov rbx, rdi
nop word [rax + rax]
lea rdx, [0x1402f9ae0]
lea rcx, [rbp + 0x370]
call fcn.14001c950
nop
lea rdx, str.RCPT_TO:__
lea rcx, [rbp + 0x740]
call fcn.14001c950
nop
lea rdx, [rbx + rbx*4]
mov rcx, qword [r13 + 0x40]
lea r8, [rcx + rdx*8]
mov rdx, rax
lea rcx, [rbp + 0x718]
call fcn.14001da00
nop
lea r8, [rbp + 0x370]
mov rdx, rax
lea rcx, [rbp + 0x6f0]
call fcn.14001da00
nop
lea rdx, [rbp + 0xf0]
mov rcx, rax
call fcn.140020d90
nop
cmp r15, rsi
je 0x1401403cc
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
mov byte [rax], 0
add rsi, 0x20
mov qword [rsp + 0x48], rsi
jmp 0x1401403eb
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14003dc30
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x14014042c
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140140427
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014138d
call fcn.140283144
mov qword [rbp + 0x100], rdi
mov qword [rbp + 0x108], r12
mov byte [rbp + 0xf0], 0
lea rcx, [rbp + 0x6f0]
call fcn.14001d440
nop
lea rcx, [rbp + 0x718]
call fcn.14001d440
nop
lea rcx, [rbp + 0x740]
call fcn.14001d440
nop
lea rcx, [rbp + 0x370]
call fcn.14001d440
inc r14d
mov rcx, qword [r13 + 0x48]
sub rcx, qword [r13 + 0x40]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rbx, r14d
cmp rbx, rdx
jb 0x140140330
mov r14d, edi
mov r15, rsi
mov rax, qword [rsp + 0x40]
sub r15, rax
sar r15, 5
test r15, r15
je 0x140140508
mov rbx, rdi
shl rbx, 5
lea rdx, [rbx + rax]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
test al, al
je 0x14014064a
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, qword [rsp + 0x60]
call fcn.14013f8d0
test al, al
je 0x1401405cc
inc r14d
movsxd rbx, r14d
cmp rbx, r15
mov rax, qword [rsp + 0x40]
jb 0x1401404c0
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp + 0x120], xmm0
mov byte [rbp + 0x110], 0
mov r8d, 6
lea rdx, str.DATA_r_n
lea rcx, [rbp + 0x110]
call fcn.140004c40
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x14014058d
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140140588
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140141387
call fcn.140283144
test bl, bl
jne 0x1401406c8
lea rdx, str.network_error__send_DATA_failed
lea rcx, [rbp + 0x808]
call fcn.14001c950
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x808]
call fcn.14001d440
jmp 0x1401412e8
mov rdi, qword [rsp + 0x40]
lea rdx, [rbx + rdi]
lea rcx, [rbp + 0x190]
call fcn.14001c140
nop
lea rdx, str.network_error__recv_RCPT_TO_resp_failed
lea rcx, [rbp + 0x790]
call fcn.14001c950
nop
lea r8, [rbp + 0x190]
mov rdx, rax
lea rcx, [rbp + 0x768]
call fcn.14001da00
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x768]
call fcn.14001d440
nop
lea rcx, [rbp + 0x790]
call fcn.14001d440
nop
lea rcx, [rbp + 0x190]
call fcn.14001d440
jmp 0x1401412ed
mov rdi, qword [rsp + 0x40]
lea rdx, [rbx + rdi]
lea rcx, [rbp + 0x1b8]
call fcn.14001c140
nop
lea rdx, str.network_error__send_RCPT_TO_failed
lea rcx, [rbp + 0x948]
call fcn.14001c950
nop
lea r8, [rbp + 0x1b8]
mov rdx, rax
lea rcx, [rbp + 0x7b8]
call fcn.14001da00
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x7b8]
call fcn.14001d440
nop
lea rcx, [rbp + 0x948]
call fcn.14001d440
nop
lea rcx, [rbp + 0x1b8]
call fcn.14001d440
jmp 0x1401412ed
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14013f8d0
test al, al
jne 0x14014071d
lea rdx, str.network_error__recv_DATA_resp_failed
lea rcx, [rbp + 0x830]
call fcn.14001c950
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x830]
call fcn.14001d440
jmp 0x1401412e8
cmp dword [rsp + 0x30], 0x162
je 0x14014077f
lea rdx, str.SMTP_responce_error:
lea rcx, [rbp + 0x880]
call fcn.14001c950
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x858]
call fcn.14001da00
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x858]
call fcn.14001d440
nop
lea rcx, [rbp + 0x880]
call fcn.14001d440
jmp 0x1401412e8
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
lea r9, [rbx + 0xe8]
cmp qword [rbx + 0x100], 0x10
jb 0x1401407a8
mov r9, qword [rbx + 0xe8]
mov rbx, qword [rbx + 0xf8]
lea rcx, [rbp - 0x60]
cmp rbx, 0xf
ja 0x1401407cf
mov qword [rbp - 0x50], rbx
mov r8, rbx
mov rdx, r9
call fcn.140284ff0
mov byte [rbp + rbx - 0x60], 0
jmp 0x1401407df
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
call fcn.14001b7c0
mov r8, rdi
mov qword [rbp - 0x10], rdi
mov r9, r12
mov qword [rbp - 8], r12
mov byte [rbp - 0x20], r8b
mov r15d, edi
mov rcx, qword [r13 + 0x30]
sub rcx, qword [r13 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140140a4c
mov r14, rdi
test r8, r8
je 0x14014088c
mov rax, r9
sub rax, r8
cmp rax, 4
jb 0x140140864
lea rax, [r8 + 4]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp r9, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, r8
mov r8d, 4
lea rdx, str.__r_n_t
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 4], 0
jmp 0x140140884
mov qword [rsp + 0x20], 4
lea r9, str.__r_n_t
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x20]
call fcn.14001b7c0
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp - 8]
mov rax, r9
sub rax, r8
cmp rax, 1
jb 0x1401408cb
lea rax, [r8 + 1]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp r9, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, r8
mov r8d, 1
lea rdx, [0x1402f2e24]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 1], 0
jmp 0x1401408eb
mov qword [rsp + 0x20], 1
lea r9, [0x1402f2e24]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x20]
call fcn.14001b7c0
lea rcx, [r14 + r14*4]
mov rax, qword [r13 + 0x28]
lea rcx, [rax + rcx*8]
lea rdx, [rbp + 0x150]
call fcn.140020d90
nop
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x140140911
mov r9, qword [rax]
mov r14, qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x140140955
lea rax, [rcx + r14]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8, r14
mov rdx, r9
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + r14], 0
jmp 0x14014096a
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.14001b7c0
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x1401409ab
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401409a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140141393
call fcn.140283144
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1401409f2
lea rax, [rcx + 1]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8d, 1
lea rdx, [0x1402eb1dc]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 1], 0
jmp 0x140140a12
mov qword [rsp + 0x20], 1
lea r9, [0x1402eb1dc]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x20]
call fcn.14001b7c0
inc r15d
mov rcx, qword [r13 + 0x30]
sub rcx, qword [r13 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd r14, r15d
mov r9, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
cmp r14, rdx
jb 0x140140820
mov rax, r9
sub rax, r8
cmp rax, 2
jb 0x140140a8b
lea rax, [r8 + 2]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp r9, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, r8
mov r8d, 2
lea rdx, [0x1402d4598]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 2], 0
jmp 0x140140aab
mov qword [rsp + 0x20], 2
lea r9, [0x1402d4598]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x20]
call fcn.14001b7c0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140140af2
lea rax, [rcx + 4]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8d, 4
lea rdx, str.To:
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 4], 0
jmp 0x140140b12
mov qword [rsp + 0x20], 4
lea r9, str.To:
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
lea r9, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r9, qword [rbp - 0x20]
mov r14, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x140140b64
lea rax, [rcx + r14]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8, r14
mov rdx, r9
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + r14], 0
jmp 0x140140b78
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
mov rcx, qword [r13 + 0x48]
sub rcx, qword [r13 + 0x40]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140140f4e
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x40], 0
mov r15d, edi
mov r14, rdi
test rdi, rdi
je 0x140140c1f
mov rax, r12
sub rax, rdi
cmp rax, 4
jb 0x140140bf7
lea rax, [rdi + 4]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp r12, 0x10
cmovae rbx, qword [rbp - 0x40]
add rbx, rdi
mov r8d, 4
lea rdx, str.__r_n_t
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 4], 0
jmp 0x140140c17
mov qword [rsp + 0x20], 4
lea r9, str.__r_n_t
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x40]
call fcn.14001b7c0
mov rdi, qword [rbp - 0x30]
mov r12, qword [rbp - 0x28]
mov rax, r12
sub rax, rdi
cmp rax, 1
jb 0x140140c5e
lea rax, [rdi + 1]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp r12, 0x10
cmovae rbx, qword [rbp - 0x40]
add rbx, rdi
mov r8d, 1
lea rdx, [0x1402f2e24]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 1], 0
jmp 0x140140c7e
mov qword [rsp + 0x20], 1
lea r9, [0x1402f2e24]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x40]
call fcn.14001b7c0
lea rcx, [r14 + r14*4]
mov rax, qword [r13 + 0x40]
lea rcx, [rax + rcx*8]
lea rdx, [rbp + 0x170]
call fcn.140020d90
nop
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x140140ca4
mov r9, qword [rax]
mov rdi, qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140140ce7
lea rax, [rcx + rdi]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x40]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + rdi], 0
jmp 0x140140cfc
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.14001b7c0
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x140140d3d
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140140d38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140141399
call fcn.140283144
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140140d84
lea rax, [rcx + 1]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x40]
add rbx, rcx
mov r8d, 1
lea rdx, [0x1402eb1dc]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 1], 0
jmp 0x140140da4
mov qword [rsp + 0x20], 1
lea r9, [0x1402eb1dc]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x40]
call fcn.14001b7c0
inc r15d
mov rcx, qword [r13 + 0x48]
sub rcx, qword [r13 + 0x40]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd r14, r15d
cmp r14, rdx
jae 0x140140ddf
mov r12, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x30]
jmp 0x140140bb3
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140140e26
lea rax, [rcx + 2]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x40]
add rbx, rcx
mov r8d, 2
lea rdx, [0x1402d4598]
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 2], 0
jmp 0x140140e46
mov qword [rsp + 0x20], 2
lea r9, [0x1402d4598]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x40]
call fcn.14001b7c0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140140e8d
lea rax, [rcx + 4]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8d, 4
lea rdx, str.Cc:
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 4], 0
jmp 0x140140ead
mov qword [rsp + 0x20], 4
lea r9, str.Cc:
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
lea r9, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r9, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140140efe
lea rax, [rcx + rdi]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + rdi], 0
jmp 0x140140f13
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140140f4e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140140f49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140141375
call fcn.140283144
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 0x13
jb 0x140140f95
lea rax, [rcx + 0x13]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Subject:__utf_8_B_
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 0x13], 0
jmp 0x140140fb5
mov qword [rsp + 0x20], reloc.WS2_32.dll_send
lea r9, str.Subject:__utf_8_B_
xor r8d, r8d
lea edx, [r8 + 0x13]
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
lea rdx, [rbp + 0x3b8]
mov rcx, r13
call fcn.140020d90
nop
mov rdx, rax
lea rcx, [rbp + 0x398]
call fcn.1401b7ac0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140140fe2
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14001eab0
nop
lea rcx, [rbp + 0x398]
call fcn.140004370
nop
lea rcx, [rbp + 0x3b8]
call fcn.140004370
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140141050
lea rax, [rcx + 4]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8d, 4
lea rdx, str.__r_n
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 4], 0
jmp 0x140141070
mov qword [rsp + 0x20], 4
lea r9, str.__r_n
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 0x13
jb 0x1401410b7
lea rax, [rcx + 0x13]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x60]
add rbx, rcx
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.MIME_Version:_1.0_r_n
mov rcx, rbx
call fcn.140284ff0
mov byte [rbx + 0x13], 0
jmp 0x1401410d7
mov qword [rsp + 0x20], reloc.WS2_32.dll_send
lea r9, str.MIME_Version:_1.0_r_n
xor r8d, r8d
lea edx, [r8 + 0x13]
lea rcx, [rbp - 0x60]
call fcn.14001b7c0
mov r8d, 0x29
lea rdx, str.Content_Type:_text_plain__charsetutf_8_r_n
lea rcx, [rbp - 0x60]
call fcn.14001eab0
mov r8d, 2
lea rdx, [0x1402d4598]
lea rcx, [rbp - 0x60]
call fcn.14001eab0
lea rdx, [rbp + 0x3d8]
lea rcx, [r13 + 0x58]
call fcn.140020d90
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140141121
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14001eab0
nop
lea rcx, [rbp + 0x3d8]
call fcn.140004370
mov r8d, 2
lea rdx, [0x1402d4598]
lea rcx, [rbp - 0x60]
call fcn.14001eab0
mov r8d, 5
lea rdx, str._r_n._r_n
lea rcx, [rbp - 0x60]
call fcn.14001eab0
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
test al, al
jne 0x1401411af
lea rdx, str.network_error__send_CONTENT_failed
lea rcx, [rbp + 0x8a8]
call fcn.14001c950
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x8a8]
call fcn.14001d440
jmp 0x1401412d5
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.14013f8d0
test al, al
jne 0x140141204
lea rdx, str.network_error__recv_CONTENT_resp_failed
lea rcx, [rbp + 0x8d0]
call fcn.14001c950
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x8d0]
call fcn.14001d440
jmp 0x1401412d5
cmp dword [rsp + 0x30], 0xfa
je 0x140141263
lea rdx, str.SMTP_responce_error:
lea rcx, [rbp + 0x920]
call fcn.14001c950
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x8f8]
call fcn.14001da00
nop
mov rdx, rax
mov r15, qword [rsp + 0x38]
lea rcx, [r15 + 8]
call fcn.14001d690
nop
lea rcx, [rbp + 0x8f8]
call fcn.14001d440
nop
lea rcx, [rbp + 0x920]
call fcn.14001d440
jmp 0x1401412d5
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp + 0x140], xmm0
mov byte [rbp + 0x130], 0
mov r8d, 6
lea rdx, str.QUIT_r_n
lea rcx, [rbp + 0x130]
call fcn.140004c40
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x30]
call fcn.1400efce0
movzx ebx, al
lea rcx, [rbp + 0x130]
call fcn.140004370
test bl, bl
je 0x1401412cc
lea r9, [rbp]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.14013f8d0
mov r15, qword [rsp + 0x38]
mov byte [r15], 1
lea rcx, [rbp - 0x20]
call fcn.140004370
nop
lea rcx, [rbp - 0x60]
call fcn.140004370
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14014131c
lea r8, [rsp + 0x40]
mov rdx, rsi
mov rcx, rdi
call fcn.14001a480
mov r8, qword [rsp + 0x58]
sub r8, rdi
sar r8, 5
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14001f420
nop
lea rcx, [rsp + 0x70]
call fcn.140002cd0
mov r12d, dword [rsp + 0x34]
lea rcx, [rbp]
call fcn.14001d440
nop
lea rcx, [rbp + 0x30]
call fcn.1400ef350
nop
call sub.KERNEL32.dll_GetTickCount
sub eax, r12d
mov dword [r15 + 0x30], eax
mov rcx, qword [rbp + 0x970]
xor rcx, rsp
call fcn.140283120
mov rbx, qword [rsp + 0xad8]
add rsp, 0xa80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140287d84
nop
call fcn.140287d84
nop
call fcn.140287d84
nop
call fcn.140287d84
nop
call fcn.140287d84
nop
call fcn.140287d84
nop
call fcn.140287d84
int3