Function at 0x140122ec0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4e8
mov rbp, qword [0x14022c040]
mov rbx, rcx
mov rcx, rdx
mov rdi, rdx
mov r12, r8
mov r13, qword [rbp]
mov qword [rsp + 0x4d8], r13
xor r13d, r13d
mov esi, r9d
call fcn.1400b4690
mov rdx, rax
test rax, rax
je 0x140122ce2
lea r12, [rsp + 0x70]
mov rax, r13
mov ecx, 0x8c
mov rdi, r12
rep stosq qword [rdi], rax
mov dword [rsp + 0x80], esi
xor eax, eax
mov dword [rsp + 0xd8], 1
test esi, esi
jne 0x140122cd0
mov dword [rsp + 0x98], eax
lea rax, [0x140122ec0]
mov r9d, dword [rdx + 0x30]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0x7f8]
mov qword [rsp + 0xe8], rbx
mov rax, qword [rax + 0x160]
or byte [rbx + 0x78c], 2
mov r8, qword [rdx + 0x28]
mov dword [rsp + 0x70], 1
mov qword [rsp + 0xf8], rax
lea rax, [rbx + 0x788]
lea rbx, [rsp + 0x20]
mov qword [rsp + 0xc8], rax
lea rax, [rdx + 4]
mov rcx, rbx
mov rdx, rax
call fcn.1400b25a0
mov r8, r12
mov rdx, rbx
mov ecx, 1
call fcn.1401a5330
mov rdx, qword [rsp + 0x4d8]
sub rdx, qword [rbp]
jne 0x140122d0a
add rsp, 0x4e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ecx, dword [rbx + 0x638]
xor eax, eax
test ecx, ecx
sete al
jmp 0x140122c34
test r12, r12
je 0x140122cfd
mov rdx, r12
lea rcx, [0x14020f925]
call fcn.1400b6bf0
mov eax, 0xffffffff
jmp 0x140122cb2
mov rcx, rdi
call fcn.140029ec0
mov r12, rax
jmp 0x140122ce7
call fcn.1401d96b0
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rbp, qword [0x14022c040]
mov r14, qword [rsp + 0x118]
mov r15, qword [rsp + 0x120]
mov r12d, dword [rcx + 0x34]
mov r13, qword [rbp]
mov qword [rsp + 0x98], r13
lea r13, [rcx + 0x48]
mov rbx, rcx
mov rdi, rdx
mov rsi, r8
test r9d, r9d
jne 0x140122d62
test byte [rcx + 0x3a], 4
je 0x140122d90
mov qword [rdi], r13
xor eax, eax
mov dword [rsi], r12d
mov rdx, qword [rsp + 0x98]
sub rdx, qword [rbp]
jne 0x140122eac
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [rsp + 0x40]
mov rdx, r8
mov qword [rsp + 0x38], r8
call fcn.140122910
cmp eax, 0xffffffff
je 0x140122d6a
test eax, eax
mov r8, qword [rsp + 0x38]
je 0x140122dc8
mov r10d, dword [rsp + 0x110]
mov eax, 0xffffffff
test r10d, r10d
je 0x140122d6a
jmp 0x140122d62
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov rdx, rbx
mov rcx, r15
call fcn.140122a00
test eax, eax
je 0x140122d62
mov rcx, qword [0x14022c5d0]
movzx eax, word [rsp + 0x46]
mov r9d, dword [rcx]
mov edx, eax
and dx, 0xf000
test r9d, r9d
jne 0x140122e4e
cmp dx, 0x8000
je 0x140122e85
mov r12d, 0xa000
cmp dx, 0xa000
je 0x140122e41
mov r12d, 0x4000
cmp ax, 0x4000
je 0x140122e41
cmp dx, 0x4000
je 0x140122e7d
cmp dx, 0xe000
je 0x140122e7d
and eax, 0x40
cmp ax, 1
sbb r12d, r12d
and r12d, 0xffffffb7
add r12d, 0x81ed
call fcn.14002fb90
mov r13, rax
jmp 0x140122d62
mov rcx, qword [0x14022ca20]
mov ecx, dword [rcx]
test ecx, ecx
jne 0x140122e05
cmp dx, 0x8000
jne 0x140122e05
mov edx, dword [rbx + 0x34]
mov eax, edx
mov r12d, 0x81a4
and eax, 0xf000
cmp eax, 0x8000
cmove r12d, edx
jmp 0x140122e41
mov r12d, 0xe000
jmp 0x140122e41
mov edx, dword [rbx + 0x34]
mov ecx, edx
mov r12d, edx
and ecx, 0xf000
cmp ecx, 0xa000
je 0x140122e41
mov rcx, qword [0x14022ca20]
mov r8d, dword [rcx]
test r8d, r8d
je 0x140122e65
jmp 0x140122e2c
call fcn.1401d96b0
nop
nop word cs:[rax + rax]
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rsi, qword [0x14022c040]
mov rbp, qword [rcx + 8]
mov r13, qword [rdx + 0x78]
mov r12, qword [rsi]
mov qword [rsp + 0x78], r12
mov r12, qword [rcx]
mov rbx, rdx
cmp qword [rdx + 0x70], rbp
je 0x140123140
test r12, r12
mov rcx, r12
mov rax, qword [r13 + 0x7f8]
lea r11, [r13 + 0xf0]
cmove rcx, rbp
mov r10, qword [rax + 0x160]
mov edx, dword [rcx + 0x34]
mov r9d, dword [rcx + 0x40]
mov dword [rsp + 0x20], 0
lea r8, [rcx + 0x6c]
mov qword [rsp + 0x28], 0
mov rcx, r10
and edx, 0xf000
cmp edx, 0x4000
sete al
cmp edx, 0xe000
sete dl
or eax, edx
mov rdx, r11
movzx eax, al
mov dword [rsp + 0x30], eax
call fcn.14001d640
test eax, eax
jne 0x140122f90
xor eax, eax
mov rdx, qword [rsp + 0x78]
sub rdx, qword [rsi]
jne 0x14012363d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rbx + 0x10]
mov r14, qword [rbx + 0x78]
test r8d, r8d
jne 0x140123150
movzx eax, byte [r14 + 0x11d]
shr al, 7
movzx eax, al
test r12, r12
je 0x140123390
mov edx, dword [r12 + 0x38]
test edx, 0x40008000
jne 0x14012318e
test rbp, rbp
je 0x1401235fa
xor r15d, r15d
mov edx, dword [r12 + 0x34]
cmp dword [rbp + 0x34], 0x4000
mov dword [rsp + 0x6c], 0
setne r8b
cmp edx, 0x4000
sete cl
cmp r8b, cl
je 0x140123642
cmp edx, 0x4000
je 0x1401234d0
lea rcx, [rsp + 0x6c]
lea rdi, [r14 + 0x5b8]
mov dword [rsp + 0x20], eax
mov r9d, r15d
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x68]
mov rcx, r12
mov qword [rsp + 0x30], rdi
call 0x140122d10
cmp eax, 0xffffffff
je 0x14012360c
cmp byte [r14 + 0x11e], 0
mov rcx, qword [rsp + 0x70]
jns 0x14012305b
test r15d, r15d
je 0x140123218
mov r11d, dword [rsp + 0x6c]
mov r10d, dword [rbp + 0x34]
lea r9, [rbp + 0x48]
mov r8d, dword [rsp + 0x68]
mov r12d, r11d
cmp r10d, r8d
jne 0x1401230c0
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
xor rax, qword [rbp + 0x48]
xor rdx, qword [rbp + 0x50]
or rax, rdx
jne 0x1401230c0
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
xor rax, qword [r9 + 0x10]
xor rdx, qword [r9 + 0x18]
or rax, rdx
jne 0x1401230c0
mov r11d, r12d
test r12d, r12d
jne 0x1401230c0
mov eax, dword [r14 + 0x638]
test eax, eax
je 0x140123115
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
xor rax, qword [0x14020fac0]
xor rdx, qword [0x14020fac8]
or rax, rdx
je 0x1401234a0
mov eax, 1
add rbp, 0x6c
mov qword [rsp + 0x20], rcx
mov edx, r10d
mov rcx, rdi
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 1
call fcn.14012fd90
lea rcx, [r13 + 0x5b8]
call fcn.140131960
test eax, eax
je 0x140122f65
mov dword [rbx + 0x34], 1
mov eax, 0xffffffff
jmp 0x140122f67
xor ebp, ebp
jmp 0x140122efa
mov ecx, dword [r14 + 0x6fc]
test ecx, ecx
je 0x1401231b0
test r12, r12
je 0x140123500
mov edx, dword [r12 + 0x38]
test edx, 0x20000000
je 0x140123180
test rbp, rbp
jne 0x1401231d0
jmp 0x140123115
movzx eax, byte [r14 + 0x11d]
shr al, 7
movzx eax, al
and dh, 0x30
jne 0x140123460
test rbp, rbp
je 0x140123518
mov r15d, 1
jmp 0x140122fd5
movzx eax, byte [r14 + 0x11d]
shr al, 7
movzx eax, al
test r12, r12
jne 0x1401234f0
test rbp, rbp
je 0x140123558
mov r8d, dword [rbp + 0x34]
cmp r8d, 0x4000
je 0x140123440
lea rax, [rbp + 0x6c]
lea r9, [rbp + 0x48]
mov edx, 0x2d
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
lea rcx, [r14 + 0x5b8]
mov dword [rsp + 0x20], 1
call fcn.1401300e0
jmp 0x140123115
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
lea r9, [rbp + 0x48]
xor rax, qword [rbp + 0x48]
xor rdx, qword [rbp + 0x50]
or rax, rdx
je 0x14012356e
movsxd rdi, dword [r12 + 0x40]
cmp rdi, 0xffffffffffffffc7
ja 0x14012365c
je 0x140123682
lea rdx, [rdi + 0x39]
cmp rdx, 0xffffffffffffff6f
ja 0x140123670
lea rcx, [rdi + 0xc9]
mov qword [rsp + 0x58], r9
call fcn.1400bd0a0
lea rdx, [r12 + 0x6c]
mov r8, rdi
lea rcx, [rax + 0xc8]
mov qword [rax], 0
mov r15, rax
mov qword [rax + 8], rcx
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x68]
pxor xmm0, xmm0
mov r8, r14
mov byte [r15 + rdi + 0xc8], 0
lea rdi, [r15 + 0x41]
movabs rdx, 0x4ec4ec4ec4ec4ec5
mov dword [r15 + 0x10], eax
mov rax, qword [0x14022c970]
and rdi, 0xfffffffffffffff8
mov rax, qword [rax]
mov rax, qword [rax + 0x170]
sub rax, qword [0x14022c5e0]
mov qword [r15 + 0x39], 0
sar rax, 3
movups xmmword [r15 + 0x14], xmm0
imul rax, rdx
movups xmmword [r15 + 0x24], xmm0
mov edx, 2
mov qword [r15 + 0xc0], 0
mov dword [r15 + 0x34], eax
mov eax, r15d
sub eax, edi
lea ecx, [rax + 0xc8]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov byte [r15 + 0x38], 0x4d
mov rcx, r15
mov eax, dword [r12 + 0x34]
mov r9, qword [rsp + 0x58]
mov dword [r15 + 0x3c], eax
movdqu xmm1, xmmword [r12 + 0x48]
movups xmmword [r15 + 0x40], xmm1
movdqu xmm2, xmmword [r12 + 0x58]
movups xmmword [r15 + 0x50], xmm2
mov eax, dword [r12 + 0x68]
mov byte [r15 + 0x80], 0x4d
mov dword [r15 + 0x60], eax
mov eax, dword [rbp + 0x34]
mov dword [r15 + 0x84], eax
movdqu xmm3, xmmword [r9]
movups xmmword [r15 + 0x88], xmm3
movdqu xmm4, xmmword [r9 + 0x10]
movups xmmword [r15 + 0x98], xmm4
mov eax, dword [rbp + 0x68]
mov dword [r15 + 0xa8], eax
call fcn.140109b20
mov rcx, r15
call fcn.1400eaf30
jmp 0x140123115
test rbp, rbp
jne 0x1401231d0
mov dword [rsp + 0x6c], 0
xor r9d, r9d
nop word cs:[rax + rax]
nop
add r14, 0x5b8
lea rcx, [rsp + 0x6c]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
lea r8, [rsp + 0x68]
mov rcx, r12
mov qword [rsp + 0x30], r14
call 0x140122d10
cmp eax, 0xffffffff
je 0x140123115
mov r9, qword [rsp + 0x70]
mov rax, qword [r9]
mov rdx, qword [r9 + 8]
xor rax, qword [0x14020fac0]
xor rdx, qword [0x14020fac8]
or rax, rdx
je 0x1401235d4
mov edx, 1
mov eax, dword [rsp + 0x6c]
add r12, 0x6c
mov dword [rsp + 0x20], edx
mov rcx, r14
mov qword [rsp + 0x28], r12
mov r8d, dword [rsp + 0x68]
mov edx, 0x2b
mov dword [rsp + 0x30], eax
call fcn.1401300e0
jmp 0x140123115
lea rcx, [rbp + 0x48]
lea r9, [r14 + 0x5b8]
xor edx, edx
lea r8, [rbp + 0x6c]
call fcn.1400b18e0
jmp 0x140123115
lea rdx, [r12 + 0x6c]
lea rcx, [r14 + 0x5b8]
call fcn.140131c20
test rbp, rbp
je 0x140123115
mov rcx, qword [rax]
movzx r9d, word [rbp + 0x34]
lea rdx, [rbp + 0x48]
mov r8d, 1
call fcn.14012c350
jmp 0x140123115
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
xor rax, qword [0x14020fad0]
xor rdx, qword [0x14020fad8]
or rax, rdx
jne 0x1401230de
xor eax, eax
jmp 0x1401230e3
lea rdx, [r12 + 0x48]
lea rcx, [rbp + 0x48]
lea r9, [r14 + 0x5b8]
lea r8, [r12 + 0x6c]
call fcn.1400b18e0
jmp 0x140123115
mov edx, dword [r12 + 0x38]
jmp 0x14012318e
movzx eax, byte [r14 + 0x11d]
shr al, 7
movzx eax, al
jmp 0x1401231c7
mov r9d, 1
cmp dword [r12 + 0x34], 0x4000
mov dword [rsp + 0x6c], 0
jne 0x1401233b0
lea rdx, [r12 + 0x48]
lea r9, [r14 + 0x5b8]
xor ecx, ecx
lea r8, [r12 + 0x6c]
call fcn.1400b18e0
jmp 0x140123115
mov dword [rsp + 0x6c], 0
xor r12d, r12d
mov r9d, 1
jmp 0x1401233b0
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
xor rax, qword [r9 + 0x10]
xor rdx, qword [r9 + 0x18]
or rax, rdx
jne 0x140123234
mov rax, qword [r9]
mov rdx, qword [r9 + 8]
xor rax, qword [r12 + 0x48]
xor rdx, qword [r12 + 0x50]
or rax, rdx
jne 0x140123234
mov rax, qword [r9 + 0x10]
mov rdx, qword [r9 + 0x18]
xor rax, qword [r12 + 0x58]
xor rdx, qword [r12 + 0x60]
or rax, rdx
jne 0x140123234
mov r10d, dword [rbp + 0x34]
mov r8d, dword [rsp + 0x68]
cmp r8d, r10d
jne 0x140123602
mov r12d, dword [rsp + 0x6c]
jmp 0x14012309e
mov rax, qword [r9 + 0x10]
mov rdx, qword [r9 + 0x18]
xor rax, qword [0x14020fad0]
xor rdx, qword [0x14020fad8]
or rax, rdx
jne 0x140123408
xor edx, edx
jmp 0x14012340d
xor r9d, r9d
jmp 0x14012351e
mov r11d, dword [rsp + 0x6c]
jmp 0x1401230c0
xor edx, edx
lea rax, [rbp + 0x6c]
mov r8d, dword [rbp + 0x34]
lea r9, [rbp + 0x48]
mov dword [rsp + 0x30], edx
mov rcx, rdi
mov edx, 0x2d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
call fcn.1401300e0
jmp 0x140123115
call fcn.1401d96b0
mov r8d, 0x180
lea rdx, str.diff_lib.c
lea rcx, str.S_ISSPARSEDIR_old_entry__ce_mode___S_ISSPARSEDIR_new_entry__ce_mode_
call qword [sym.imp.msvcrt.dll__assert]
mov r8, rdi
mov edx, 0x38
lea rcx, [0x14020f990]
call fcn.1400b6950
mov r8d, 0x90
lea rcx, [0x14020f990]
call fcn.1400b6950
mov r8d, 1
or rdx, 0xffffffffffffffff
lea rcx, [0x14020f990]
call fcn.1400b6950
nop
nop dword [rax]