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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rax, qword [0x1400ef0c8]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov rsi, r8
mov r12, rdx
mov r14, rcx
mov qword [rbp - 0x18], r8
mov rax, qword [0x1400ef018]
mov qword [rsp + 0x40], rax
mov rbx, qword [r8]
cmp dword [rbx - 0xc], 0
jl 0x14009e4dc
mov qword [rsp + 0x68], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009e502
mov qword [rsp + 0x68], rax
test rbx, rbx
jne 0x14009e4ea
xor eax, eax
jmp 0x14009e4f3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.14006b5e4
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.14009d37c
test eax, eax
jne 0x14009e544
lea rdx, str.Error_formatting_attachment_part_header.
lea rcx, [rbp - 0x60]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
or rdi, 0xffffffffffffffff
jmp 0x14009e992
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
and qword [rbp - 0x78], 0
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.14007a68c
mov rdi, rax
test rax, rax
jne 0x14009e5a7
lea rdx, str.Error_converting_attachment_part_header_to_ASCII.
lea rcx, [rbp - 0x58]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
lea rcx, [rsp + 0x78]
call fcn.14006c87c
nop
lea rcx, [rbx - 0xc]
or rdi, 0xffffffffffffffff
jmp 0x14009e99b
and dword [rsp + 0x50], 0
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
lea r9, [rsp + 0x50]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x14009e5fe
lea rdx, str.Error_uploading_attachment_part_header.
lea rcx, [rbp - 0x50]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
lea rcx, [rsp + 0x78]
call fcn.14006c87c
jmp 0x14009e53b
mov edx, dword [rsp + 0x50]
mov rcx, r14
call fcn.14009e43c
lea rdi, [r14 + 0x18]
mov r8, rsi
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.14008b070
mov rbx, qword [rbp]
cmp byte [rbx + 0x19], 0
jne 0x14009e638
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
jns 0x14009e63b
mov rbx, qword [rdi]
cmp rbx, qword [rdi]
jne 0x14009e64d
lea rdx, str.Error_searching_for_attachment_part_name.
lea rcx, [rbp - 0x48]
jmp 0x14009e5d7
lea rcx, [rbx + 0x28]
xor edx, edx
call fcn.14006dda4
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14006c728
nop
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
or rdi, 0xffffffffffffffff
cmp rax, rdi
jne 0x14009e6cb
lea rdx, str.Error_opening_attachment_file.
lea rcx, [rbp - 0x40]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
lea rcx, [rbx - 0xc]
jmp 0x14009e96c
and dword [rsp + 0x60], 0
jmp 0x14009e729
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x60]
mov r8d, 0x400
lea rdx, [rbp + 0x10]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14009e937
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x14009e762
and dword [rsp + 0x64], 0
lea r9, [rsp + 0x64]
lea rdx, [rbp + 0x10]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x14009e73b
mov edx, dword [rsp + 0x64]
mov rcx, r14
call fcn.14009e43c
mov rcx, qword [r14 + 0x28]
call fcn.140070030
test al, al
je 0x14009e6d2
jmp 0x14009e963
lea rdx, str.Error_uploading_attachment_part_data.
lea rcx, [rbp - 0x38]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
jmp 0x14009e963
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x70], rax
mov rbx, qword [rsi]
cmp dword [rbx - 0xc], 0
jl 0x14009e78a
mov qword [rsp + 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009e7b0
mov qword [rsp + 0x70], rax
test rbx, rbx
jne 0x14009e798
xor eax, eax
jmp 0x14009e7a1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.14006b5e4
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14009d32c
test eax, eax
jne 0x14009e817
lea rdx, str.Error_formatting_attachment_part_footer.
lea rcx, [rbp - 0x30]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
mov rcx, qword [rbp - 0x70]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e963
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e963
call fcn.1400b0a54
jmp 0x14009e963
mov rbx, qword [rbp - 0x70]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.14007a68c
mov r15, rax
test rax, rax
jne 0x14009e859
lea rdx, str.Error_converting_attachment_part_footer_to_ASCII.
lea rcx, [rbp - 0x28]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
nop
lea rcx, [rbx - 0xc]
jmp 0x14009e7f0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
lea r9, [rsp + 0x50]
mov rdx, r15
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x14009e886
lea rdx, str.Error_uploading_attachment_part_footer.
lea rcx, [rbp - 0x20]
jmp 0x14009e83b
mov edx, dword [rsp + 0x50]
mov rcx, r14
call fcn.14009e43c
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x1400ef010]
je 0x14009e8b2
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e8b2
call fcn.1400b0a54
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e8d6
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e8d6
call fcn.1400b0a54
nop
lea rcx, [rsp + 0x78]
call fcn.14006c87c
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e905
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e905
call fcn.1400b0a54
nop
mov rcx, qword [rsi]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e92d
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e92d
mov rcx, qword [rsi]
sub rcx, 0xc
call fcn.1400b0a54
mov eax, 1
jmp 0x14009e9e0
lea rdx, str.Error_reading_data_from_attachment_file.
lea rcx, [rbp - 0x68]
call fcn.14006c728
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r14 + 0x28]
call fcn.140070150
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e987
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e987
call fcn.1400b0a54
nop
lea rcx, [rsp + 0x78]
call fcn.14006c87c
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e9b6
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e9b6
call fcn.1400b0a54
nop
mov rcx, qword [rsi]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009e9de
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009e9de
mov rcx, qword [rsi]
sub rcx, 0xc
call fcn.1400b0a54
xor eax, eax
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.1400b0f60
add rsp, 0x520
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret