Function at 0x14012de50
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rdi, qword [0x140207460]
mov qword [rsp + 0x48], rcx
mov rax, qword [rdi]
mov qword [rsp + 0x158], rax
xor eax, eax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x68], r9
test r9, r9
je 0x14012e570
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14012d940
mov rbx, qword [rdi]
mov r14, rax
test rbx, rbx
je 0x14012dec2
mov rcx, rbx
mov rsi, rax
call fcn.14012d940
mov qword [rsi], rax
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14012deac
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x5c], 0
lea r13, [rsp + 0x100]
mov qword [rsp + 0x30], 0
mov qword [rax], r14
mov rax, qword [rsp + 0x40]
mov r8d, dword [rax + 0xc]
test r8d, r8d
jle 0x14012e52a
mov qword [rsp + 0x70], r13
mov r15, r14
mov rdi, qword [rsp + 0x30]
lea rax, [rdi*8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rax, qword [rax + rdi*8]
mov rdi, qword [rax + 8]
mov qword [rsp + 0x38], rax
mov rsi, qword [rdi + 0x28]
test rsi, rsi
jne 0x14012df54
jmp 0x14012e5dc
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14012e556
mov rdx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14012df8a
mov r15, qword [r15]
test r15, r15
jne 0x14012df38
xor r13d, r13d
mov rcx, r13
call fcn.1400d2670
mov rdi, qword [rsp + 0x40]
add qword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
cmp dword [rdi + 0xc], eax
jle 0x14012e52a
mov rax, qword [rsp + 0x48]
mov r15, qword [rax]
jmp 0x14012defd
mov ebx, eax
mov eax, dword [r15 + 0x14]
test eax, eax
je 0x14012df59
test byte [rdi + 0x50], 1
je 0x14012e5c2
mov rax, qword [rsp + 0x60]
mov rdx, rdi
xor r8d, r8d
mov rcx, qword [rax + 0x7f8]
call fcn.14010a970
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x30]
mov eax, dword [rax + 0x40]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rdi]
mov dword [rsp + 0xb8], eax
test byte [rdx + 0x50], 1
jne 0x14012e4f1
lea rax, [0x1401eea57]
mov qword [rsp + 0xa0], rax
mov r8, qword [rsp + 0x70]
pxor xmm0, xmm0
lea rdi, [rsp + 0xc0]
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x98], rax
lea r12, [rsp + 0x130]
lea rax, [0x14012de00]
movups xmmword [r8], xmm0
lea rdx, [rsp + 0xb0]
mov r9, r12
lea rcx, [rsp + 0xa0]
mov qword [r8 + 0x20], 0
movups xmmword [r8 + 0x10], xmm0
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x98]
mov dword [rsp + 0xa8], ebx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x140], xmm0
movups xmmword [rsp + 0xc8], xmm0
call fcn.140187140
mov r14d, eax
test eax, eax
jne 0x14012e5aa
mov rcx, qword [r15 + 8]
xor ebp, ebp
xor ebx, ebx
xor esi, esi
call fcn.1400d2670
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x28]
call fcn.1400a5f80
mov ecx, 0x20
mov qword [r15 + 8], rax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.1400a5fa0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov r13, rax
lea rax, [rax + 0x10]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rax - 0x10], 0
mov qword [rax - 8], 0
mov qword [r13 + 0x10], 0
mov ecx, dword [rsp + 0xf4]
mov qword [rsp + 0x78], rax
mov qword [r13 + 0x18], 0
test ecx, ecx
je 0x14012e1fe
mov r9, qword [rsp + 0xf8]
lea rdi, [rbp*8]
mov r8, qword [r15 + 0x18]
add r9, rdi
mov ecx, dword [r9]
jmp 0x14012e1a5
mov eax, dword [r15 + 0x14]
add ebx, 1
cmp ebx, eax
je 0x14012e202
mov esi, ebx
lea rdx, [r8 + rsi*8]
mov eax, dword [rdx + 4]
cmp ecx, eax
jg 0x14012e198
mov edx, dword [rdx]
cmp dword [r9 + 4], edx
jle 0x14012e1ed
cmp ecx, eax
jge 0x14012e1ed
mov rax, qword [rsp + 0xe8]
mov rcx, r13
add rax, rdi
mov edx, dword [rax]
mov r8d, dword [rax + 4]
call fcn.14012dd40
add rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rdi]
mov r8d, dword [rdi + 4]
call fcn.14012dd40
add rbp, 1
cmp ebp, dword [rsp + 0xf4]
jb 0x14012e179
mov eax, dword [r15 + 0x14]
xor ebp, ebp
xor esi, esi
test eax, eax
je 0x14012e521
mov dword [rsp + 0x78], r14d
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x88], r12
mov r12, r13
nop dword [rax + rax]
mov rax, qword [r15 + 0x18]
lea rax, [rax + rbp*8]
mov edx, dword [rax]
mov r13d, dword [rax + 4]
cmp edx, r13d
jge 0x14012e2a9
nop dword [rax + rax]
mov ecx, dword [r12 + 0x14]
mov r14d, ecx
cmp esi, ecx
jae 0x14012e4c7
mov ebx, esi
mov r8, qword [r12 + 0x18]
shl rbx, 3
jmp 0x14012e26f
add esi, 1
add rbx, 8
cmp ecx, esi
je 0x14012e4d0
mov eax, dword [r8 + rbx + 4]
cmp eax, edx
jle 0x14012e260
mov r8d, dword [r8 + rbx]
cmp r13d, r8d
jl 0x14012e4c7
cmp r8d, edx
jle 0x14012e4c0
cmp r13d, r8d
jle 0x14012e245
mov rcx, rdi
call fcn.14012dd40
mov rax, qword [r12 + 0x18]
mov edx, dword [rax + rbx + 4]
cmp r13d, edx
jg 0x14012e240
add rbp, 1
cmp ebp, dword [r15 + 0x14]
jb 0x14012e228
mov edx, dword [rsp + 0x104]
mov r13, r12
mov r14d, dword [rsp + 0x78]
xor ebx, ebx
mov r12, qword [rsp + 0x88]
mov rax, qword [rsp + 0x108]
mov rdi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0xe8]
test edx, edx
je 0x14012e38b
mov qword [rsp + 0x88], rax
lea rcx, [rax + rdx*8]
mov rdx, rbp
xor esi, esi
mov qword [rsp + 0x78], r13
mov rbp, rdi
mov r13, rax
mov rbx, rcx
mov rdi, rdx
nop word [rax + rax]
mov r8d, dword [rsp + 0xf4]
mov ecx, dword [r13]
cmp esi, r8d
jae 0x14012e35a
mov edx, esi
shl rdx, 3
jmp 0x14012e352
add eax, dword [rdi + rdx + 4]
add esi, 1
sub eax, dword [rdi + rdx]
sub eax, dword [rbp + rdx + 4]
add rdx, 8
add r14d, eax
cmp esi, r8d
je 0x14012e35a
mov eax, dword [rbp + rdx]
cmp eax, ecx
jle 0x14012e338
mov r8d, dword [r13 + 4]
lea edx, [r14 + rcx]
add r13, 8
mov rcx, r12
add r8d, r14d
call fcn.14012dd40
cmp r13, rbx
jne 0x14012e318
mov r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x80]
mov rdx, r12
mov r8, r13
mov qword [rsp + 0x78], rax
call fcn.14012d430
mov rcx, qword [rsp + 0x78]
call fcn.1400d2670
mov rcx, rbx
call fcn.1400d2670
mov rcx, qword [r15 + 0x18]
call fcn.1400d2670
mov qword [r15 + 0x18], 0
xor ecx, ecx
mov qword [r15 + 0x10], 0
call fcn.1400d2670
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe8]
mov qword [r15 + 0x18], rax
mov rax, qword [rsp + 0xc0]
mov qword [r15 + 0x10], rax
call fcn.1400d2670
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xe0], 0
call fcn.1400d2670
mov dword [rsp + 0xf4], 0
mov edx, dword [r13 + 4]
test edx, edx
je 0x14012df5c
mov rax, qword [rsp + 0x38]
add dword [rsp + 0x5c], 1
mov rsi, qword [rsp + 0x68]
mov rax, qword [rax + 8]
mov rbx, qword [rax + 0x28]
jmp 0x14012e45c
mov rsi, qword [rsi]
test rsi, rsi
je 0x14012e590
mov rcx, qword [rsi + 8]
mov rdx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x14012e450
mov rax, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov ecx, 0x18
mov rax, qword [rax]
mov rbx, qword [rax + rdi]
call fcn.1400a5fa0
movdqu xmm1, xmmword [rbx]
movups xmmword [rax], xmm1
mov rdx, qword [rax + 8]
movq rcx, xmm1
add dword [rcx + 0x44], 1
add dword [rdx + 0x44], 1
mov qword [rsi + 0x20], rax
movdqu xmm2, xmmword [r13]
movups xmmword [rsi + 0x28], xmm2
movdqu xmm3, xmmword [r13 + 0x10]
movups xmmword [rsi + 0x38], xmm3
jmp 0x14012df5c
mov edx, eax
jmp 0x14012e2a4
mov r14d, esi
nop word [rax + rax]
mov r8d, r13d
mov rcx, rdi
mov esi, r14d
add rbp, 1
call fcn.14012dd40
cmp ebp, dword [r15 + 0x14]
jb 0x14012e228
jmp 0x14012e2b7
mov rax, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, qword [rax + 0x7f8]
call fcn.14010a970
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rax + 0x30]
mov ebx, dword [rax + 0x40]
mov qword [rsp + 0xa0], rdx
jmp 0x14012dff0
xor eax, eax
xor ebx, ebx
jmp 0x14012e38b
mov rdi, qword [0x140207460]
mov rax, qword [rsp + 0x158]
sub rax, qword [rdi]
jne 0x14012e58a
mov eax, dword [rsp + 0x5c]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x410
lea rdx, str.line_log.c
lea rcx, str.rg__path
call qword [sym.imp.msvcrt.dll__assert]
mov r8d, 0x287
lea rdx, str.line_log.c
lea rcx, [0x1401eea94]
call qword [sym.imp.msvcrt.dll__assert]
call fcn.1401be670
nop
mov r8d, 0x46a
lea rdx, str.line_log.c
lea rcx, [0x1401eeb1f]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rsp + 0x38]
lea rcx, str.unable_to_generate_diff_for__s
mov rax, qword [rax]
mov rdx, qword [rax + 0x28]
call fcn.1400a08a0
mov r8d, 0x41b
lea rdx, str.line_log.c
lea rcx, str.pair__two__oid_valid
call qword [sym.imp.msvcrt.dll__assert]
mov r8d, 0x40e
lea rdx, str.line_log.c
lea rcx, str.pair__two__path
call qword [sym.imp.msvcrt.dll__assert]
nop
nop word [rax + rax]