Function at 0x14004f980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r12, rcx
xor r13d, r13d
mov dword [rcx], r13d
add rcx, 8
call fcn.140055560
nop
mov qword [r12 + 0x28], rbx
mov qword [r12 + 0x30], rdi
mov eax, dword [rsi]
mov dword [r12 + 0x38], eax
mov eax, dword [rsi + 4]
mov dword [r12 + 0x3c], eax
mov eax, dword [rsi + 8]
mov dword [r12 + 0x40], eax
mov eax, dword [rsi + 0xc]
mov dword [r12 + 0x44], eax
mov eax, dword [rsi + 0x10]
mov dword [r12 + 0x48], eax
movzx eax, word [rsi + 0x14]
mov word [r12 + 0x4c], ax
mov eax, dword [rsi + 0x18]
mov dword [r12 + 0x50], eax
mov eax, dword [rsi + 0x1c]
mov dword [r12 + 0x54], eax
mov eax, dword [rsi + 0x20]
mov dword [r12 + 0x58], eax
mov eax, dword [rsi + 0x24]
mov dword [r12 + 0x5c], eax
mov eax, dword [rsi + 0x28]
mov dword [r12 + 0x60], eax
movzx eax, word [rsi + 0x2c]
mov word [r12 + 0x64], ax
mov eax, dword [rsi + 0x30]
mov dword [r12 + 0x68], eax
mov qword [r12 + 0x88], reloc.WS2_32.dll_ntohs
mov qword [r12 + 0x80], r13
mov byte [r12 + 0x70], r13b
mov qword [r12 + 0xb0], reloc.WS2_32.dll_ntohs
mov qword [r12 + 0xa8], r13
mov byte [r12 + 0x98], r13b
mov qword [r12 + 0xd8], reloc.WS2_32.dll_ntohs
mov qword [r12 + 0xd0], r13
mov byte [r12 + 0xc0], r13b
lea rax, str.MAIL_FROM:
mov qword [r12 + 0xe8], rax
mov dword [r12 + 0xf0], 0xa
lea rax, str.RCPT_TO:
mov qword [r12 + 0xf8], rax
mov dword [r12 + 0x100], 8
lea rax, str.DATA
mov qword [r12 + 0x108], rax
mov dword [r12 + 0x110], 4
lea rax, str._r_n._r_n
mov qword [r12 + 0x118], rax
mov dword [r12 + 0x120], 5
lea rcx, [r12 + 0x128]
call fcn.140038fe0
nop
lea ecx, [r13 + 0x10]
call fcn.140095cd8
mov rdi, rax
test rax, rax
je 0x14004fb1e
mov qword [rax], r12
lea rax, [0x14004f1f0]
mov qword [rdi + 8], rax
jmp 0x14004fb21
mov rdi, r13
mov rbx, qword [r12 + 0x10]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x29], 0
jne 0x14004fb3c
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x14004fb30
cmp rbx, qword [r12 + 0x10]
je 0x14004fb49
cmp dword [rbx + 0x18], 0
jbe 0x14004fb7c
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x30], r13
lea rdx, [rsp + 0x28]
lea rcx, [r12 + 8]
call fcn.14004f160
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [r12 + 8]
call fcn.14004ef40
mov rbx, qword [rsp + 0x78]
mov qword [rbx + 0x20], rdi
mov ecx, reloc.WS2_32.dll_recv
call fcn.140095cd8
mov rdi, rax
test rax, rax
je 0x14004fba2
mov qword [rax], r12
lea rax, [0x14004f330]
mov qword [rdi + 8], rax
jmp 0x14004fba5
mov rdi, r13
mov rbx, qword [r12 + 0x10]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x29], 0
jne 0x14004fbcc
cmp dword [rax + 0x18], 1
jae 0x14004fbc0
mov rax, qword [rax + 0x10]
jmp 0x14004fbc6
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x14004fbb4
cmp rbx, qword [r12 + 0x10]
je 0x14004fbd9
cmp dword [rbx + 0x18], 1
jbe 0x14004fc0f
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x30], r13
lea rdx, [rsp + 0x28]
lea rcx, [r12 + 8]
call fcn.14004f160
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [r12 + 8]
call fcn.14004ef40
mov rbx, qword [rsp + 0x78]
mov qword [rbx + 0x20], rdi
mov ecx, reloc.WS2_32.dll_recv
call fcn.140095cd8
mov rdi, rax
test rax, rax
je 0x14004fc35
mov qword [rax], r12
lea rax, [0x14004e720]
mov qword [rdi + 8], rax
jmp 0x14004fc38
mov rdi, r13
mov rbx, qword [r12 + 0x10]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x29], 0
jne 0x14004fc5f
cmp dword [rax + 0x18], 2
jae 0x14004fc53
mov rax, qword [rax + 0x10]
jmp 0x14004fc59
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x14004fc47
cmp rbx, qword [r12 + 0x10]
je 0x14004fc6c
cmp dword [rbx + 0x18], 2
jbe 0x14004fca2
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x30], r13
lea rdx, [rsp + 0x28]
lea rcx, [r12 + 8]
call fcn.14004f160
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [r12 + 8]
call fcn.14004ef40
mov rbx, qword [rsp + 0x78]
mov qword [rbx + 0x20], rdi
mov ecx, reloc.WS2_32.dll_recv
call fcn.140095cd8
mov rdi, rax
test rax, rax
je 0x14004fcc8
mov qword [rax], r12
lea rax, [0x14004f660]
mov qword [rdi + 8], rax
jmp 0x14004fccb
mov rdi, r13
mov rbx, qword [r12 + 0x10]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x29], 0
jne 0x14004fcf8
nop word [rax + rax]
cmp dword [rax + 0x18], 3
jae 0x14004fcec
mov rax, qword [rax + 0x10]
jmp 0x14004fcf2
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x14004fce0
cmp rbx, qword [r12 + 0x10]
je 0x14004fd05
cmp dword [rbx + 0x18], 3
jbe 0x14004fd3b
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x30], r13
lea rdx, [rsp + 0x28]
lea rcx, [r12 + 8]
call fcn.14004f160
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [r12 + 8]
call fcn.14004ef40
mov rbx, qword [rsp + 0x78]
mov qword [rbx + 0x20], rdi
mov rax, r12
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret