Function at 0x1004c4450
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ebp, r8d
mov rcx, rdx
mov rbx, r9
test rsi, rsi
je 0x1004c45a8
mov r12, qword [rsi]
test rdx, rdx
je 0x1004c4618
call sub.msys_2.0.dll_strdup
mov rdi, rax
test rax, rax
je 0x1004c449c
mov rcx, rax
call sub.msys_2.0.dll_strlen
cmp rax, 0x200
jbe 0x1004c44d0
test rbx, rbx
je 0x1004c4747
mov dword [rbx], 0xffffffff
mov rcx, rdi
call sub.msys_2.0.dll_free
mov eax, 0xffffffff
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp ebp, 1
je 0x1004c46d0
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x1004c44f7
test r12, r12
je 0x1004c44f7
movsx eax, word [r12 + 0x48]
cmp eax, ebp
je 0x1004c45d0
mov edx, 0x328
mov ecx, 1
call sub.msys_2.0.dll_calloc
mov r13, rax
test rax, rax
je 0x1004c46fc
mov r14, qword [sym.bash.exe__nc_globals]
mov ecx, 0x44
mov r12, rax
add dword [r14 + 0x120], 1
call sub.msys_2.0.dll_sysconf
cmp rax, 0x800
jg 0x1004c46c0
mov eax, 0x800
cmp dword [r14 + 0x58], eax
jl 0x1004c45c0
mov word [r13 + 0x48], bp
mov r8, rbx
mov rdx, rdi
mov rcx, r13
mov rax, qword [sym.bash.exe__nc_get_driver]
mov qword [r14 + 0x1b8], rax
call sym.bash.exe__nc_get_driver
test eax, eax
je 0x1004c4648
test rbx, rbx
jne 0x1004c44ab
call sub.msys_2.0.dll___getreent
mov r8, rdi
lea rdx, str._s:_Could_not_find_any_driver_to_handle_terminal._n
mov rcx, qword [rax + 0x18]
call sub.msys_2.0.dll_fprintf
mov rcx, rdi
call sub.msys_2.0.dll_free
mov ecx, 1
call sym.bash.exe_exit_terminfo
nop dword [rax]
test r9, r9
je 0x1004c471d
mov dword [r9], 0xffffffff
jmp 0x1004c44b3
mov dword [r14 + 0x58], eax
jmp 0x1004c4545
mov rcx, qword [r12 + 0xa8]
test rcx, rcx
je 0x1004c44f7
mov rdx, rdi
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x1004c44f7
mov rcx, qword [r12 + 0x290]
lea r8, [0x100540624]
mov rdx, rdi
call sym.bash.exe__nc_name_match
test eax, eax
jne 0x1004c4657
jmp 0x1004c44f7
lea rcx, str.TERM
call sym.bash.exe_getenv
mov rcx, rax
test rax, rax
je 0x1004c46f0
cmp byte [rax], 0
lea rax, [0x1005405c1]
cmove rcx, rax
jmp 0x1004c447f
mov rcx, rdi
call sub.msys_2.0.dll_strdup
mov qword [r13 + 0xa8], rax
mov qword [rsi], r12
mov rdx, r12
xor ecx, ecx
call sym.bash.exe_set_curterm_sp
mov rax, qword [r12 + 0x2d8]
mov rcx, r12
call qword [rax + 0x18]
mov esi, dword [r12 + 0x2ec]
mov rcx, r12
mov rax, qword [r12 + 0x2d8]
lea r8, [sym.bash.exe_COLS]
lea rdx, [sym.bash.exe_LINES]
call qword [rax + 0x28]
mov dword [sym.bash.exe_TABSIZE], esi
test rbx, rbx
je 0x1004c46a7
mov dword [rbx], 1
mov rcx, rdi
call sub.msys_2.0.dll_free
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov ecx, 0x44
call sub.msys_2.0.dll_sysconf
jmp 0x1004c453f
mov ecx, 1
call sym.bash.exe__nc_mingw_isatty
test eax, eax
mov eax, 2
cmove ebp, eax
jmp 0x1004c44d9
lea rcx, [0x1005405c1]
jmp 0x1004c447f
test rbx, rbx
jne 0x1004c44a5
call sub.msys_2.0.dll___getreent
mov r8, rdi
lea rdx, str._s:_Not_enough_memory_to_create_terminal_structure._n
mov rcx, qword [rax + 0x18]
jmp 0x1004c458a
call sub.msys_2.0.dll___getreent
mov r8d, 0x23
mov edx, 1
lea rcx, str.Invalid_parameter__internal_error._n
mov r9, qword [rax + 0x18]
call sub.msys_2.0.dll_fwrite
mov ecx, 1
call sym.bash.exe_exit_terminfo
call sub.msys_2.0.dll___getreent
mov r8d, 0x200
lea rdx, str.TERM_environment_must_be_1.._d_characters._n
mov rcx, qword [rax + 0x18]
call sub.msys_2.0.dll_fprintf
mov rcx, rdi
call sub.msys_2.0.dll_free
mov ecx, 1
call sym.bash.exe_exit_terminfo
nop
nop word cs:[rax + rax]