Function at 0x140050620
Capabilities:
Write file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, qword [rcx + 0x308]
mov r10d, dword [rbx + 0x18]
lea eax, [r8 - 1]
mov edi, r8d
mov r12, rcx
mov rsi, rdx
cmp eax, 0x20
mov eax, 0x22
cmovbe edi, eax
test r10d, r10d
jne 0x1400508c0
cmp byte [r12 + 0x51a], 0
je 0x1400507c0
mov r8d, dword [rbx + 0x38]
test r8d, r8d
jne 0x1400507d0
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x1400507c0
cmp qword [rbx + 0x48], 0
je 0x140050740
lea rbp, str..cm
mov rdx, rbp
call sym.munge_char_const__char_const_
mov r12, rax
mov rcx, rax
call sym.strlen
mov rdx, rsi
mov rcx, r12
mov r13, rax
call sym.fputs
mov rdx, rsi
mov ecx, 0x3a
call sym.fputc
mov rcx, qword [rbx + 0x48]
mov r9d, edi
lea r8d, [r13 + 1]
mov qword [rsp + 0x28], 0
mov rdx, rsi
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov rdx, rsi
mov ecx, 0xa
call sym.fputc
lea rdx, str..PHONY:
mov rcx, rsi
call sym.fprintf__iobuf__char_const__::_
mov rcx, qword [rbx + 0x40]
mov r9d, edi
mov rdx, rsi
mov qword [rsp + 0x28], rbp
mov r8d, eax
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov ecx, 0xa
mov rdx, rsi
call sym.fputc
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x140050740
cmp byte [rbx + 0x50], 0
je 0x140050a18
mov edx, dword [rbx + 0x38]
test edx, edx
je 0x1400507c0
lea rdx, str.CXX_IMPORTS_
mov rcx, rsi
call sym.fprintf__iobuf__char_const__::_
mov r8d, eax
mov eax, dword [rbx + 0x38]
test eax, eax
je 0x1400507a0
xor r12d, r12d
lea rbp, str..cm
nop word [rax + rax]
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov r9d, edi
add r12d, 1
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0x28], rbp
mov rdx, rsi
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
cmp r12d, dword [rbx + 0x38]
jne 0x140050770
mov rdx, rsi
mov ecx, 0xa
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.fputc
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r8d, dword [rbx + 8]
movzx r12d, word [rbx + 0x52]
test r8d, r8d
je 0x14005081c
xor r8d, r8d
xor ebp, ebp
nop dword [rax + rax]
mov rax, qword [rbx]
mov edx, ebp
mov r9d, edi
mov rcx, qword [rax + rdx*8]
xor eax, eax
cmp ebp, r12d
mov rdx, rsi
mov qword [rsp + 0x28], 0
setae al
add ebp, 1
mov dword [rsp + 0x20], eax
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
cmp ebp, dword [rbx + 8]
jne 0x1400507e8
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x140050844
mov qword [rsp + 0x28], 0
mov r9d, edi
mov rdx, rsi
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
mov ecx, 0x3a
mov rdx, rsi
mov dword [rsp + 0x3c], r8d
call sym.fputc
mov r8d, dword [rsp + 0x3c]
mov ecx, dword [rbx + 0x38]
add r8d, 1
test ecx, ecx
je 0x1400508a0
xor r12d, r12d
lea rbp, str..cm
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov r9d, edi
add r12d, 1
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0x28], rbp
mov rdx, rsi
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
cmp r12d, dword [rbx + 0x38]
jne 0x140050870
mov ecx, 0xa
mov rdx, rsi
call sym.fputc
mov rcx, qword [rbx + 0x40]
test rcx, rcx
jne 0x140050681
jmp 0x140050740
mov r8d, dword [rbx + 8]
movzx r13d, word [rbx + 0x52]
test r8d, r8d
je 0x14005090c
xor r8d, r8d
xor ebp, ebp
nop dword [rax + rax]
mov rax, qword [rbx]
mov edx, ebp
mov r9d, edi
mov rcx, qword [rax + rdx*8]
xor eax, eax
cmp ebp, r13d
mov rdx, rsi
mov qword [rsp + 0x28], 0
setae al
add ebp, 1
mov dword [rsp + 0x20], eax
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
cmp ebp, dword [rbx + 8]
jne 0x1400508d8
cmp byte [r12 + 0x51a], 0
jne 0x1400509e0
mov rdx, rsi
mov ecx, 0x3a
mov dword [rsp + 0x3c], r8d
call sym.fputc
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rbx + 0x18]
add r8d, 1
test r9d, r9d
je 0x140050979
xor ebp, ebp
nop dword [rax]
mov rax, qword [rbx + 0x10]
mov edx, ebp
mov r9d, edi
add ebp, 1
mov rcx, qword [rax + rdx*8]
mov dword [rsp + 0x20], 1
mov rdx, rsi
mov qword [rsp + 0x28], 0
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
cmp ebp, dword [rbx + 0x18]
jne 0x140050948
mov rdx, rsi
mov ecx, 0xa
call sym.fputc
cmp byte [r12 + 0x519], 0
je 0x140050658
cmp dword [rbx + 0x18], 1
jbe 0x140050658
mov ebp, 1
lea r13, str._s:_n
nop dword [rax + rax]
mov rax, qword [rbx + 0x10]
mov edx, ebp
add ebp, 1
mov rcx, qword [rax + rdx*8]
xor edx, edx
call sym.munge_char_const__char_const_
mov rdx, r13
mov rcx, rsi
mov r8, rax
call sym.fprintf__iobuf__char_const__::_
cmp ebp, dword [rbx + 0x18]
jb 0x1400509b0
jmp 0x140050658
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x14005091b
mov qword [rsp + 0x28], 0
mov r9d, edi
mov rdx, rsi
mov dword [rsp + 0x20], 1
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov r8d, eax
jmp 0x14005091b
xor edx, edx
call sym.munge_char_const__char_const_
mov rbp, rax
mov rcx, rax
call sym.strlen
mov rdx, rsi
mov rcx, rbp
mov r12, rax
call sym.fputs
mov r9, rsi
mov r8d, 2
mov edx, 1
lea rcx, [0x1400f8a0c]
call sym.fwrite
mov rax, qword [rbx]
mov rdx, rsi
mov r9d, edi
lea r8d, [r12 + 1]
mov rcx, qword [rax]
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x28], 0
call sym.make_write_name_char_const___iobuf__unsigned_int__unsigned_int__bool__char_const_
mov rdx, rsi
mov ecx, 0xa
call sym.fputc
jmp 0x140050740