Function at 0x14009cd18
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1401080e0]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov rdi, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
xor r13d, r13d
mov qword [rbp - 0x20], r13
cmp dword [rcx + 0xb4], 0xffffffff
jne 0x14009cd8f
lea rdx, str.Sending_error_report_over_SMAPI_is_disabled__negative_priority___skipping.
lea rcx, [rbp + 0x38]
call fcn.14006874c
lea rcx, [rdi + 0x5d8]
mov r9b, 1
xor r8d, r8d
jmp 0x14009cebf
mov rax, qword [rcx + 0x38]
cmp dword [rax - 8], r13d
jne 0x14009cda6
lea rdx, str.No_E_mail_address_is_specified_for_sending_error_report_over_Simple_MAPI__skipping.
lea rcx, [rbp + 0x40]
jmp 0x14009cd78
cmp dword [rcx + 0x80], r13d
je 0x14009cdbc
lea rdx, str.Simple_MAPI_may_require_user_interaction__not_acceptable_for_non_GUI_mode___skipping.
lea rcx, [rbp]
jmp 0x14009cd78
lea rdx, str.Sending_error_report_using_Simple_MAPI
lea rcx, [rbp + 0x30]
call fcn.14006874c
lea r12, [rdi + 0x5d8]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.14006caa0
lea rdx, str.Initializing_MAPI
lea rcx, [rbp - 0x18]
call fcn.14006874c
mov r9b, 1
mov r8d, 1
mov rdx, rax
mov rcx, r12
call fcn.14006caa0
lea r14, [rdi + 0x728]
mov rcx, r14
call fcn.1400ac2e8
test eax, eax
jne 0x14009ce2c
lea rdx, [rbp + 0x50]
mov rcx, r14
call fcn.14009ac80
jmp 0x14009ceb5
cmp dword [rdi + 0x5d0], r13d
je 0x14009ce9c
cmp dword [rdi + 0x808], r13d
jne 0x14009ce9c
lea rdx, str._confirm_launch_email_client_
lea rcx, [rbp + 0x20]
call fcn.14006874c
mov r9b, 1
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.14006caa0
mov dword [rsp + 0x28], 1
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.14006cbec
cmp dword [rsp + 0x28], r13d
je 0x14009ce92
mov dword [rdi + 0x808], 2
lea rdx, str.Cancelled_by_user
lea rcx, [rbp - 0x10]
jmp 0x14009ceb0
mov dword [rdi + 0x808], 1
cmp dword [rdi + 0x808], 1
je 0x14009cecf
lea rdx, str.Not_allowed_to_launch_E_mail_client.
lea rcx, [rbp - 8]
call fcn.14006874c
xor r9d, r9d
lea r8d, [r9 + 0x64]
mov rcx, r12
mov rdx, rax
call fcn.14006caa0
mov ebx, r13d
jmp 0x14009d5a4
mov rax, qword [0x140108018]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.1400ac124
mov r8, qword [rsp + 0x60]
lea rdx, str.Launching_the_default_email_client___s_
lea rcx, [rbp - 0x58]
call fcn.140069514
mov rbx, qword [rbp - 0x58]
lea r15, [rbx - 0xc]
cmp dword [r15], r13d
jl 0x14009cf16
mov qword [rsp + 0x68], rbx
lock inc dword [r15]
jmp 0x14009cf3a
mov rax, qword [0x140108018]
mov qword [rsp + 0x68], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.140067304
mov r9b, 1
mov r8d, 0xa
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.14006caa0
lea rcx, [rdi + 8]
mov edx, dword [rdi + 0x5c4]
call fcn.140077180
mov rcx, rax
lea rdx, [rbp + 8]
call fcn.140076828
mov rdx, rax
mov rcx, r14
call fcn.1400ac788
mov rbx, qword [rdi + 0x38]
cmp dword [rbx - 0xc], r13d
jl 0x14009cf8b
mov qword [rsp + 0x30], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009cfba
mov rax, qword [0x140108018]
mov qword [rsp + 0x30], rax
test rbx, rbx
jne 0x14009cfa1
mov eax, r13d
jmp 0x14009cfaa
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.140067304
nop
movabs rax, 0x20002c003b
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x60]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.MSVCR120.dll_wcstok_s]
or esi, 0xffffffff
jmp 0x14009d04a
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.14006874c
nop
mov r8, rax
lea rdx, str.SMTP:
lea rcx, [rbp + 0x18]
call fcn.140094b9c
mov rdx, rax
mov rcx, r14
call fcn.1400ac034
nop
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d03a
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d03a
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x60]
xor ecx, ecx
call qword [sym.imp.MSVCR120.dll_wcstok_s]
test rax, rax
jne 0x14009cfe4
mov rbx, qword [rdi + 0x40]
cmp dword [rbx - 0xc], r13d
jl 0x14009d063
mov qword [rbp - 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d08f
mov rax, qword [0x140108018]
mov qword [rbp - 0x70], rax
test rbx, rbx
jne 0x14009d078
mov eax, r13d
jmp 0x14009d081
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x70]
call fcn.140067304
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.1400ac8d8
mov rbx, qword [rdi + 0x7f0]
cmp dword [rbx - 0xc], r13d
jl 0x14009d0b3
mov qword [rsp + 0x20], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d0e2
mov rax, qword [0x140108018]
mov qword [rsp + 0x20], rax
test rbx, rbx
jne 0x14009d0c9
mov eax, r13d
jmp 0x14009d0d2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140067304
nop
mov ebx, VarDateFromDisp
mov r8d, ebx
lea edx, [rbx - 0x2d]
lea rcx, [rsp + 0x20]
call fcn.14009bc28
mov edx, ebx
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_wcsrchr]
test rax, rax
je 0x14009d166
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14009d166
lea r8d, [rax + 1]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x20]
call fcn.14006a8f0
nop
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140068904
nop
mov rcx, qword [rbp - 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d161
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d161
mov rcx, qword [rbp - 0x50]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov rbx, qword [rsp + 0x20]
mov rax, qword [rdi + 0x48]
cmp dword [rax - 8], r13d
jne 0x14009d189
lea rdx, [rbp + 0x28]
mov rcx, rdi
call fcn.14009a468
mov rdx, rax
mov rcx, r14
call fcn.1400ac830
jmp 0x14009d1dc
mov rsi, rax
cmp dword [rax - 0xc], r13d
jl 0x14009d1a1
mov qword [rbp - 0x80], rax
lock inc dword [rax - 0xc]
mov rbx, qword [rsp + 0x20]
jmp 0x14009d1cd
mov rax, qword [0x140108018]
mov qword [rbp - 0x80], rax
test rsi, rsi
jne 0x14009d1b6
mov eax, r13d
jmp 0x14009d1bf
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rsi
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.140067304
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.1400ac830
or esi, 0xffffffff
lea rax, [rsp + 0x50]
mov qword [rbp - 0x38], rax
cmp dword [rbx - 0xc], r13d
jl 0x14009d1f6
mov qword [rsp + 0x50], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d21b
mov rax, qword [0x140108018]
mov qword [rsp + 0x50], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140067304
nop
mov rbx, qword [rdi + 0x7f0]
cmp dword [rbx - 0xc], r13d
jl 0x14009d233
mov qword [rsp + 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d262
mov rax, qword [0x140108018]
mov qword [rsp + 0x70], rax
test rbx, rbx
jne 0x14009d249
mov eax, r13d
jmp 0x14009d252
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140067304
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.1400abec0
mov rax, qword [0x140108018]
mov qword [rbp - 0x68], rax
mov rbx, qword [rdi + 0x7f0]
cmp dword [rbx - 0xc], r13d
jl 0x14009d297
mov qword [rsp + 0x78], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d2be
mov qword [rsp + 0x78], rax
test rbx, rbx
jne 0x14009d2a6
mov eax, r13d
jmp 0x14009d2af
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x78]
call fcn.140067304
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.140095098
lea rcx, str..md5
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, str..md5
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140068ed8
mov rax, qword [0x140108018]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.14006bec4
lea r8, [0x1400c7534]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.140068a74
nop
lea r8, [rsp + 0x20]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140074ae0
nop
mov rcx, qword [rbp - 0x48]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d358
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d358
mov rcx, qword [rbp - 0x48]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov qword [rsp + 0x58], r13
lea r8, [0x1400c78f0]
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x58]
call qword [sym.imp.MSVCR120.dll__wfopen_s]
cmp qword [rsp + 0x58], r13
je 0x14009d454
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.140069bfc
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.14007c9ac
mov rbx, rax
mov rcx, rax
call sub.MSVCR120.dll_strlen
mov rdx, rax
mov r9, qword [rsp + 0x58]
mov r8d, 1
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_fwrite]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.MSVCR120.dll_fclose]
lea rax, [rsp + 0x48]
mov qword [rbp - 0x38], rax
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 0xc], r13d
jl 0x14009d3e2
mov qword [rsp + 0x48], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d40b
mov rax, qword [0x140108018]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140067304
nop
mov rbx, qword [rsp + 0x38]
cmp dword [rbx - 0xc], r13d
jl 0x14009d420
mov qword [rbp - 0x78], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009d443
mov rax, qword [0x140108018]
mov qword [rbp - 0x78], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x78]
call fcn.140067304
nop
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.1400abec0
mov rcx, r14
call fcn.1400ac48c
mov ebx, eax
test eax, eax
jne 0x14009d470
lea rdx, [rbp + 0x48]
mov rcx, r14
call fcn.14009ac80
jmp 0x14009d480
lea rdx, str.Sent_OK
lea rcx, [rbp + 0x58]
call fcn.14006874c
xor r9d, r9d
lea r8d, [r9 + 0x64]
mov rdx, rax
mov rcx, r12
call fcn.14006caa0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d4c0
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d4c0
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d4ed
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d4ed
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d510
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d510
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d534
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d534
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d558
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d558
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009d585
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
test eax, eax
jg 0x14009d585
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
cmp r15, qword [0x140108010]
je 0x14009d5a4
mov edx, esi
lock xadd dword [r15], edx
add edx, esi
test edx, edx
jg 0x14009d5a4
mov rcx, r15
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
lea rcx, [rbp - 0x30]
call fcn.140068890
mov eax, ebx
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1400bf530
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret