Function at 0x140017a80
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x298
mov rax, qword [rcx + 0xf8]
mov rbx, rcx
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140017df0
mov rax, qword [rcx + 0xe0]
pxor xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm0
test rax, rax
je 0x140017ae2
mov rcx, qword [rax + 0x18]
mov rax, qword [rax]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x150], rax
mov rax, qword [rbx + 0xf0]
test rax, rax
je 0x140017e48
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140017b03
mov qword [rsp + 0x158], rcx
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140017b14
mov qword [rsp + 0x160], r8
mov r8, qword [rax]
test r8, r8
je 0x140017b30
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x168], rax
test rcx, rcx
je 0x140017e6f
test edx, edx
je 0x140017df0
mov rax, qword [rsp + 0x160]
test rax, rax
je 0x140017e5b
lea rdi, [rsp + 0x40]
lea rdx, [rsp + 0x150]
mov rcx, rdi
call sym.hb_fsFNameMerge
lea rdx, [0x1400ab4e6]
mov rcx, rdi
call sym.hb_fopen
mov rsi, rax
test rax, rax
je 0x140017dc7
call sym.hb_verHarbour
lea rdx, str._n_This_file_is_generated_by__s_n_n_n
mov rcx, rsi
lea rbp, str.__s:_u
mov rbx, rax
mov r8, rax
lea r13, str.__nmsgid_plural_u__
call sym.fprintf
mov rcx, rbx
lea r12, str.__nmsgid_plural__
call sym.hb_xfree
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x34], 0
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x140017da6
mov edx, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x38]
lea r14, [rdi + 0x107]
mov rax, rdx
shl rax, 4
sub rax, rdx
mov rdx, qword [rbx]
lea rbx, [rdx + rax*8]
mov rax, rdi
mov r9d, dword [rbx + 0x60]
mov rdx, qword [rbx + 0x58]
nop dword [rax]
movzx ecx, byte [rdx]
cmp cl, 0x5c
je 0x140017e40
mov byte [rax], cl
test cl, cl
je 0x140017c27
add rax, 1
add rdx, 1
cmp r14, rax
jne 0x140017c00
mov byte [rsp + 0x147], 0
lea rdx, str.:__s:_u
mov r8, rdi
mov rcx, rsi
xor r15d, r15d
call sym.fprintf
mov edx, dword [rbx + 0x70]
test edx, edx
je 0x140017c9f
mov eax, r15d
shl rax, 4
add rax, qword [rbx + 0x68]
mov r9d, dword [rax + 8]
mov rdx, qword [rax]
mov rax, rdi
nop dword [rax + rax]
movzx ecx, byte [rdx]
cmp cl, 0x5c
je 0x140017df4
mov byte [rax], cl
test cl, cl
je 0x140017c87
add rax, 1
add rdx, 1
cmp rax, r14
jne 0x140017c60
mov byte [rsp + 0x147], 0
mov r8, rdi
mov rdx, rbp
mov rcx, rsi
add r15d, 1
call sym.fprintf
cmp dword [rbx + 0x70], r15d
ja 0x140017c43
mov r9, rsi
mov r8d, 0xd
mov edx, 1
lea rcx, str._n__c_format_n
call sym.fwrite
cmp qword [rbx + 8], 0
je 0x140017d00
mov r9, rsi
mov r8d, 9
mov edx, 1
lea rcx, str.msgctxt__
call sym.fwrite
mov rdx, qword [rbx + 8]
mov rcx, rsi
call sym.hb_compI18nEscapeString
mov r9, rsi
mov r8d, 2
mov edx, 1
lea rcx, [0x1400ab535]
call sym.fwrite
mov r9, rsi
mov r8d, 7
mov edx, 1
xor r15d, r15d
lea rcx, str.msgid__
call sym.fwrite
mov rdx, qword [rbx]
mov rcx, rsi
call sym.hb_compI18nEscapeString
mov eax, dword [rbx + 0x50]
test eax, eax
je 0x140017e30
lea r8d, [r15 + 1]
test r15, r15
jne 0x140017e00
mov r9, rsi
mov r8d, 0x10
mov edx, 1
mov rcx, r12
call sym.fwrite
mov rdx, qword [rbx + r15*8 + 0x10]
mov rcx, rsi
mov r15d, 1
call sym.hb_compI18nEscapeString
mov eax, dword [rbx + 0x50]
cmp eax, 1
ja 0x140017d33
test eax, eax
je 0x140017e30
lea r8, [0x1400ab4dd]
lea rdx, str.__nmsgstr_s____n_n
mov rcx, rsi
call sym.fprintf
mov rbx, qword [rsp + 0x38]
add dword [rsp + 0x34], 1
mov eax, dword [rsp + 0x34]
cmp dword [rbx + 8], eax
ja 0x140017bd1
mov rcx, rsi
call sym.fclose
mov eax, 1
add rsp, 0x298
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], rdi
mov rdx, qword [str._B_v_]
mov r9d, 0x20
mov rcx, rbx
mov qword [rsp + 0x28], 0
mov r8d, 0x45
call sym.hb_compGenError
xor eax, eax
jmp 0x140017db3
mov byte [rax], 0x2f
jmp 0x140017c72
mov rdx, r13
mov rcx, rsi
call sym.fprintf
mov rdx, qword [rbx + r15*8 + 0x10]
mov rcx, rsi
add r15, 1
call sym.hb_compI18nEscapeString
mov eax, dword [rbx + 0x50]
cmp eax, r15d
ja 0x140017d33
test eax, eax
jne 0x140017d79
lea r8, [0x1400ab4dc]
jmp 0x140017d80
mov byte [rax], 0x2f
jmp 0x140017c12
mov rax, qword [rbx + 0xd8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x158], rax
lea rax, str..pot
mov qword [rsp + 0x160], rax
jmp 0x140017b52
mov rdx, qword [rbx + 0xd8]
mov rax, qword [rsp + 0x160]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x158], rdx
jmp 0x140017b49