Function at 0x14003b340
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0xd8
mov dword [rsp + 0xd0], edx
mov qword [rsp + 0xc8], rcx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x7c], eax
call fcn.1400300f0
mov edx, dword [rsp + 0x7c]
mov ecx, eax
call fcn.140030110
test al, 1
jne 0x14003b38b
jmp 0x14003b3b5
mov rax, qword [0x140096310]
add rax, 1
mov qword [0x140096310], rax
mov ecx, dword [rsp + 0xd0]
call fcn.140030140
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
cmp rax, 0
je 0x14003b44e
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140096318]
add rax, 1
mov qword [0x140096318], rax
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov rcx, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
jae 0x14003b44e
mov rax, qword [0x140096320]
add rax, 1
mov qword [0x140096320], rax
mov ecx, dword [rsp + 0xd0]
call fcn.1400301c0
mov rcx, qword [rsp + 0x70]
mov byte [rsp + 0x67], al
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov cl, byte [rsp + 0x67]
mov byte [rax], cl
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x80], 0
jne 0x14003b484
mov rax, qword [0x140096328]
add rax, 1
mov qword [0x140096328], rax
call fcn.1400300f0
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rcx, qword [rsp + 0x70]
call fcn.14003a450
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x68], 0
jne 0x14003b521
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x58], rax
mov ecx, dword [rsp + 0xd0]
call fcn.1400301c0
mov rdx, qword [rsp + 0x58]
mov cl, al
call fcn.14003c890
test al, 1
jne 0x14003b4d4
jmp 0x14003b4f6
mov rax, qword [0x140096330]
add rax, 1
mov qword [0x140096330], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x54], eax
jmp 0x14003b511
mov rax, qword [0x140096338]
add rax, 1
mov qword [0x140096338], rax
call fcn.1400300f0
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov qword [rsp + 0xc0], 0x20
mov ecx, dword [rsp + 0xd0]
call fcn.1400301c0
mov rdx, qword [rsp + 0x70]
mov byte [rsp + 0x9f], al
mov rcx, qword [rdx + 0x68]
lea r8, [rsp + 0xc0]
lea r9, [rsp + 0xa0]
add rdx, 0x74
mov rax, rsp
lea r10, [rsp + 0x88]
mov qword [rax + 0x38], r10
mov qword [rax + 0x30], r8
lea r8, [rsp + 0xa0]
mov qword [rax + 0x28], r8
lea r8, [rsp + 0x90]
mov qword [rax + 0x20], r8
mov rax, qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
lea r8, [rsp + 0x9f]
call rax
mov ecx, eax
mov dword [rsp + 0x50], ecx
test eax, eax
je 0x14003b5d5
jmp 0x14003b5ac
mov eax, dword [rsp + 0x50]
sub eax, 1
je 0x14003b5d0
jmp 0x14003b5be
mov eax, dword [rsp + 0x50]
sub eax, 3
je 0x14003b6e1
jmp 0x14003b753
jmp 0x14003b5d5
mov rax, qword [rsp + 0x88]
lea rcx, [rsp + 0xa0]
sub rax, rcx
mov qword [rsp + 0x80], rax
xor eax, eax
cmp rax, qword [rsp + 0x80]
jae 0x14003b67a
mov rax, qword [rsp + 0x70]
mov rcx, qword [0x140096348]
add rcx, 1
mov qword [0x140096348], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x48], rcx
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0xa0]
mov edx, 1
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, rax
mov rax, qword [rsp + 0x48]
cmp rax, rcx
je 0x14003b67a
mov rax, qword [0x140096350]
add rax, 1
mov qword [0x140096350], rax
call fcn.1400300f0
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x71], 1
lea rax, [rsp + 0x9f]
cmp qword [rsp + 0x90], rax
je 0x14003b6be
mov rax, qword [0x140096358]
add rax, 1
mov qword [0x140096358], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rax, qword [0x140096360]
add rax, 1
mov qword [0x140096360], rax
call fcn.1400300f0
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x80]
mov cl, byte [rsp + 0x9f]
call fcn.14003c890
test al, 1
jne 0x14003b706
jmp 0x14003b728
mov rax, qword [0x140096368]
add rax, 1
mov qword [0x140096368], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x44], eax
jmp 0x14003b743
mov rax, qword [0x140096370]
add rax, 1
mov qword [0x140096370], rax
call fcn.1400300f0
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0xd4], eax
jmp 0x14003b771
mov rax, qword [0x140096340]
add rax, 1
mov qword [0x140096340], rax
call fcn.1400300f0
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
add rsp, 0xd8
ret