Function at 0x49cb70
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbp, qword [rcx + 0x20]
cmp rbp, qword [rcx + 0x18]
mov rbx, rcx
je 0x49ccd0
cmp byte [rbp - 8], 0
mov rax, qword [rbp - 0x10]
je 0x49cc02
test rax, rax
je 0x49cbe1
mov rdi, qword [rcx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x49ce80
lea rdx, [r8 + 1]
mov qword [rdi + 0x18], rdx
mov byte [r8], 0x2c
test byte [rbx + 0x44], 1
je 0x49cd34
mov r12, qword [rbx]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x49cf50
lea rcx, [r8 + 1]
mov qword [r12 + 0x18], rcx
mov byte [r8], 0x20
test byte [rbx + 0x44], 1
je 0x49cd34
mov rax, qword [rbp - 0x10]
add rax, 1
mov qword [rbp - 0x10], rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rsi, qword [rcx]
test rax, rax
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
jne 0x49cce0
cmp r8, rdx
jae 0x49ceb0
lea r11, [r8 + 1]
mov qword [rsi + 0x18], r11
mov byte [r8], 0xa
mov rax, qword [rbp - 0x10]
test al, 1
jne 0x49cbef
mov rdi, qword [rbx + 0x20]
sub rdi, qword [rbx + 0x18]
mov r8d, dword [rbx + 0x40]
mov rsi, qword [rbx]
movsx r12d, byte [rbx + 0x3d]
shr rdi, 4
mov rcx, qword [rsi + 0x18]
mov rbx, qword [rsi + 0x10]
imul rdi, r8
sub rbx, rcx
cmp rdi, rbx
jbe 0x49ccb0
nop
mov r8, rbx
mov edx, r12d
call sub.msvcrt.dll_memset
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 8]
add rcx, rbx
cmp rcx, rax
mov qword [rsi + 0x18], rcx
je 0x49cdf0
mov r9, qword [rsi]
sub rcx, rax
mov edx, 1
mov r8, rcx
mov rcx, rax
sub rdi, rbx
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
mov qword [rsi + 0x18], rcx
cmp rbx, rdi
jb 0x49cc60
test rdi, rdi
je 0x49cbeb
mov r8, rdi
mov edx, r12d
call sub.msvcrt.dll_memset
add qword [rsi + 0x18], rdi
jmp 0x49cbeb
mov byte [rcx + 0x3c], 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test al, 1
jne 0x49ce10
cmp r8, rdx
jae 0x49cf20
lea r10, [r8 + 1]
mov qword [rsi + 0x18], r10
mov byte [r8], 0x2c
mov rsi, qword [rbx]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jb 0x49cc1f
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x49cc1f
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x49cc1f
mov rsi, qword [rbx]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x49ce50
lea r9, [r8 + 1]
mov qword [rsi + 0x18], r9
mov byte [r8], 0xa
mov rdi, qword [rbx + 0x20]
sub rdi, qword [rbx + 0x18]
mov r10d, dword [rbx + 0x40]
mov rsi, qword [rbx]
movsx r12d, byte [rbx + 0x3d]
shr rdi, 4
mov rcx, qword [rsi + 0x18]
mov rbx, qword [rsi + 0x10]
imul rdi, r10
sub rbx, rcx
cmp rdi, rbx
jbe 0x49ccb0
mov r8, rbx
mov edx, r12d
call sub.msvcrt.dll_memset
mov rcx, qword [rsi + 0x18]
mov r11, qword [rsi + 8]
add rcx, rbx
cmp rcx, r11
mov qword [rsi + 0x18], rcx
je 0x49cdd2
mov r9, qword [rsi]
sub rcx, r11
mov edx, 1
mov r8, rcx
mov rcx, r11
sub rdi, rbx
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
mov qword [rsi + 0x18], rcx
cmp rbx, rdi
jb 0x49cd81
jmp 0x49ccb0
sub rdi, rbx
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
cmp rdi, rbx
ja 0x49cd81
jmp 0x49ccb0
sub rdi, rbx
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
cmp rdi, rbx
ja 0x49cc60
jmp 0x49ccb0
cmp r8, rdx
jae 0x49cef0
lea rcx, [r8 + 1]
mov qword [rsi + 0x18], rcx
mov byte [r8], 0x3a
mov rdi, qword [rbx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x49cec2
lea r9, [r8 + 1]
mov qword [rdi + 0x18], r9
mov byte [r8], 0x20
jmp 0x49cc2b
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x49cd45
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x49cd45
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x49cbab
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x49cbab
mov rcx, qword [rsi + 8]
cmp rcx, r8
jne 0x49cd1b
jmp 0x49cc1f
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x49ce36
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x49ce36
mov rcx, qword [rsi + 8]
cmp rcx, r8
je 0x49ce19
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x49ce19
mov rcx, qword [rsi + 8]
cmp rcx, r8
je 0x49ccf1
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x49ccf1
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x49cbd4
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x49cbd4