Function at 0x1400108f0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
test rdx, rdx
mov rbp, rcx
mov rsi, rdx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
je 0x1400108b0
mov rcx, rdx
xor edi, edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
mov rbx, rax
je 0x14001088e
lea r12, [rax + 1]
mov rdi, rax
add rdi, 9
js 0x1400108c7
cmp rdi, r12
jb 0x1400108c7
test rdi, rdi
js 0x1400108cc
lea rcx, [0x140064380]
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rdx, rdi
mov rcx, rax
call fcn.140009b00
mov r8, r12
mov rdx, rsi
mov qword [rax], rbx
lea rcx, [rax + 8]
mov rdi, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsp + 0x30], rbx
mov rax, rbp
mov qword [rsp + 0x38], rdi
movdqa xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp], xmm0
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movdqa xmm1, xmmword [rsp + 0x20]
mov rax, rbp
movups xmmword [rcx], xmm1
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call fcn.14000bf40
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rdi
call fcn.14000c7d0
nop
nop word cs:[rax + rax]
nop dword [rax]
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
xor ecx, ecx
mov qword [rsp + 0x48], 0
call fcn.140059e40
lea rax, [0x140065780]
mov qword [rsp + 0x60], 0x2d
lea rcx, [0x140064280]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], 0
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rbx, qword [rax]
mov rsi, rax
test rbx, rbx
je 0x140010a4b
mov rax, qword [rbx - 0x10]
add rax, 0x10
jo 0x140010a46
mov qword [rbx - 0x10], rax
lea rcx, [0x140064300]
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x140010a20
mov rcx, rbx
call rax
test al, al
jne 0x140010a20
lea rbx, [rsp + 0x30]
mov edi, 0x2e
mov esi, 0x2d
mov rdx, rdi
mov rcx, rbx
call fcn.14000d0a0
mov rbx, qword [rsp + 0x30]
test rsi, rsi
mov rbp, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp + rbx + 8]
je 0x1400109cb
add rdx, 8
mov r8, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add rbx, rsi
jo 0x140010a50
lea rcx, [rbp + rbx + 8]
mov esi, 0xa
add rbx, 1
mov word [rcx], si
jo 0x140010a41
lea rdi, [rbp + 8]
test rbx, rbx
mov ecx, 2
lea rax, [0x1400652c3]
cmove rdi, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
mov r8, rbx
mov edx, 1
mov rcx, rdi
mov rsi, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rcx, rsi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
mov ecx, 1
call fcn.14005aac0
nop
mov rax, qword [0x140074468]
test rax, rax
je 0x140010a39
mov rcx, rbx
call rax
test al, al
je 0x14001097e
mov rcx, rbx
call fcn.14000eba0
call fcn.14000bf40
call fcn.14000bf40
call fcn.14000f1c0
call fcn.14000bf40
mov rbx, rax
mov rsi, rdx
xor ebp, ebp
lea rdi, [rsp + 0x58]
cmp qword [rsp + 0x50], 0
je 0x140010a74
lea rcx, [rsp + 0x50]
call fcn.140059e50
sub rsi, 1
mov rcx, rbx
jne 0x140010dcb
call sub.libstdc_6.dll___cxa_begin_catch
mov rcx, rdi
call fcn.140059e38
mov rax, qword [rsp + 0x48]
xor ecx, ecx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rcx
test rax, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rdx
je 0x140010ab8
lea rcx, [rsp + 0x70]
call fcn.140059e50
cmp qword [rsp + 0x58], 0
je 0x140010ac8
mov rcx, rdi
call fcn.140059e50
call sub.libstdc_6.dll___cxa_end_catch
jmp 0x140010e0f
call sub.libstdc_6.dll___cxa_begin_catch
mov rcx, rdi
call fcn.140059e38
xor eax, eax
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
test rax, rax
mov qword [rsp + 0x70], rax
je 0x140010e02
lea rcx, [rsp + 0x70]
call fcn.140059e50
cmp qword [rsp + 0x58], 0
jne 0x140010e80
call sub.libstdc_6.dll___cxa_end_catch
test rbp, rbp
je 0x140010e31
test byte [rbp + 7], 0x40
jne 0x140010e31
lea rcx, [0x140064380]
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rdx, rbp
mov rcx, rax
call fcn.14000a980
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140010e58
test byte [rbx + 7], 0x40
jne 0x140010e58
lea rcx, [0x140064380]
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rdx, rbx
mov rcx, rax
call fcn.14000a980
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140010fc3
lea rsi, [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov rcx, rsi
call fcn.140059e48
mov rcx, rsi
call fcn.140059e30
mov rcx, rdi
call fcn.140059e50
jmp 0x140010e0a
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret