Function at 0x486c10
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 0x486e04
cmp byte [rbp - 8], 0
je 0x486ca0
cmp qword [rbp - 0x10], 0
je 0x486c7f
mov rdi, qword [rcx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x486ec0
lea r11, [r8 + 1]
mov qword [rdi + 0x18], r11
mov byte [r8], 0x2c
test byte [rbx + 0x44], 1
je 0x486d63
mov r12, qword [rbx]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x486f70
lea rax, [r8 + 1]
mov qword [r12 + 0x18], rax
mov byte [r8], 0x20
test byte [rbx + 0x44], 1
je 0x486d63
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 rax, qword [rbp - 0x10]
mov rsi, qword [rcx]
test rax, rax
mov r8, qword [rsi + 0x18]
jne 0x486e13
cmp r8, qword [rsi + 0x10]
jae 0x486e3e
lea r10, [r8 + 1]
mov qword [rsi + 0x18], r10
mov byte [r8], 0xa
mov rax, qword [rbp - 0x10]
test al, 1
jne 0x486c8d
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 0x486d46
nop
mov r8, rbx
mov edx, r12d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
mov qword [rsi + 0x18], r8
je 0x486d37
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x18], rcx
sub rdi, rbx
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
cmp rdi, rbx
ja 0x486d00
test rdi, rdi
je 0x486c89
mov r8, rdi
mov edx, r12d
call sub.msvcrt.dll_memset
add qword [rsi + 0x18], rdi
jmp 0x486c89
mov rsi, qword [rbx]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x486e64
lea rdx, [r8 + 1]
mov qword [rsi + 0x18], rdx
mov byte [r8], 0xa
mov rdi, qword [rbx + 0x20]
sub rdi, qword [rbx + 0x18]
mov ecx, dword [rbx + 0x40]
mov rsi, qword [rbx]
movsx r12d, byte [rbx + 0x3d]
shr rdi, 4
mov rbx, qword [rsi + 0x10]
imul rdi, rcx
mov rcx, qword [rsi + 0x18]
sub rbx, rcx
cmp rdi, rbx
jbe 0x486d46
nop dword [rax + rax]
mov r8, rbx
mov edx, r12d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
mov qword [rsi + 0x18], r8
je 0x486de7
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x18], rcx
sub rdi, rbx
mov rbx, qword [rsi + 0x10]
sub rbx, rcx
cmp rdi, rbx
ja 0x486db0
test rdi, rdi
je 0x486c89
jmp 0x486d4f
mov byte [rcx + 0x3c], 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test al, 1
jne 0x486e90
cmp r8, qword [rsi + 0x10]
jae 0x486f40
lea r9, [r8 + 1]
mov qword [rsi + 0x18], r9
mov byte [r8], 0x2c
mov rsi, qword [rbx]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jb 0x486cbe
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x486cbe
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x486cbe
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x486d74
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x486d74
cmp r8, qword [rsi + 0x10]
jae 0x486f10
lea rdx, [r8 + 1]
mov qword [rsi + 0x18], rdx
mov byte [r8], 0x3a
mov rdi, qword [rbx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x486ef0
lea rcx, [r8 + 1]
mov qword [rdi + 0x18], rcx
mov byte [r8], 0x20
jmp 0x486cca
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x486c49
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x486c49
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x486eaf
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x486eaf
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x486e96
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x486e96
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x486e21
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x486e21
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x486c72
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x486c72