Function at 0x140027fa0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
mov rax, qword [0x1400770b8]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov r12, rdx
mov rbx, rcx
mov rdx, rcx
cmp qword [rcx + 0x18], 8
jb 0x140027fdf
mov rdx, qword [rcx]
lea r8, [0x14005ec64]
lea rcx, [rsp + 0x50]
call fcn.140038cc4
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x14002826e
mov ecx, 4
call fcn.14003e0b4
mov rdi, rax
test rax, rax
je 0x14002826e
xor eax, eax
mov dword [rdi], eax
mov r9, rsi
lea edx, [rax + 1]
lea r8d, [rax + 4]
mov rcx, rdi
call fcn.140039420
mov rcx, rsi
call fcn.140038da0
movzx eax, word [rdi]
mov ecx, 0xeffe
cmp ax, cx
jne 0x140028052
cmp word [rdi + 2], 0
jne 0x140028266
mov r15d, 0xfeff
jmp 0x140028078
mov r15d, 0xfeff
test ax, ax
jne 0x140028064
cmp word [rdi + 2], r15w
jmp 0x140028072
cmp ax, r15w
je 0x140028078
mov esi, 0xfffe
cmp ax, si
jne 0x140028266
mov rcx, rdi
call fcn.140037f70
cmp qword [rbx + 0x18], 8
jb 0x14002808a
mov rbx, qword [rbx]
lea r8, [0x14005ec64]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140038cc4
mov r13, qword [rsp + 0x50]
test r13, r13
je 0x14002825f
mov esi, 2
mov r8d, esi
xor edx, edx
mov rcx, r13
call fcn.14003979c
mov rcx, r13
call fcn.14003f9b8
movsxd rdi, eax
mov rcx, r13
call fcn.14003f9c0
mov ecx, edi
add ecx, esi
mov rbx, 0xffffffffffffffff
cmovb rcx, rbx
call fcn.14003e0b4
mov r14, rax
test rax, rax
je 0x14002825f
lea edx, [rdi + 2]
movsxd r8, edx
xor edx, edx
mov rcx, rax
call fcn.140034c20
mov r8, rdi
mov r9, r13
lea edx, [rsi - 1]
mov rcx, r14
call fcn.140039420
mov rcx, r13
call fcn.140038da0
xor cl, cl
mov r9, r14
cmp edi, 4
jle 0x14002817b
movzx eax, word [r14]
mov edx, 0xeffe
cmp ax, dx
jne 0x140028143
cmp word [r14 + 2], 0
jne 0x140028166
mov cl, 1
xor edi, edi
jmp 0x1400281c7
test ax, ax
jne 0x140028155
cmp word [r14 + 2], r15w
jne 0x140028166
mov cl, 1
xor edi, edi
jmp 0x1400281c7
cmp ax, r15w
jne 0x140028166
mov cl, 1
mov esi, 1
xor edi, edi
jmp 0x1400281c7
xor edi, edi
mov esi, edi
mov edx, 0xfffe
cmp ax, dx
jne 0x1400281c7
mov cl, 1
lea esi, [rdi + 1]
jmp 0x1400281c7
cmp edi, 3
jle 0x1400281ec
movzx r10d, word [r14]
mov eax, 0xefbb
cmp r10w, ax
jne 0x1400281d1
mov eax, 0xbf
cmp word [r14 + 2], ax
jne 0x1400281a3
xor edi, edi
lea r8d, [rdi + 3]
jmp 0x1400281c2
mov edx, 0xfe
mov eax, 0xff
xor edi, edi
mov r8d, edi
cmp r10w, ax
jne 0x1400281c4
cmp word [r14 + 2], dx
jne 0x1400281c4
mov r8, rsi
mov cl, 1
mov rsi, r8
test cl, cl
je 0x140028220
lea r9, [r14 + rsi*2]
jmp 0x140028220
mov edx, 0xfe
cmp r10w, dx
jne 0x1400281a8
mov eax, 0xff
cmp word [r14 + 2], ax
jne 0x1400281ad
xor edi, edi
jmp 0x1400281bf
cmp edi, esi
jle 0x14002821c
movzx ecx, word [r14]
mov edx, 0xfe
lea eax, [rdx + 1]
cmp cx, dx
jne 0x140028208
cmp word [r14 + 2], ax
jmp 0x140028212
cmp cx, ax
jne 0x14002821c
cmp word [r14 + 2], dx
jne 0x14002821c
xor edi, edi
lea r9, [r14 + rsi*2]
jmp 0x140028220
xor edi, edi
nop
inc rbx
cmp word [r9 + rbx*2], 0
jne 0x140028220
mov r8, rbx
mov rdx, r9
mov rcx, r12
call fcn.14001afd0
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 8
jb 0x14002824a
mov r12, qword [r12]
mov word [r12 + rax*2], di
mov rcx, r14
call fcn.140037f70
nop
mov al, 1
jmp 0x140028693
xor al, al
jmp 0x140028693
mov rcx, rdi
call fcn.140037f70
xor edi, edi
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rdi
mov r14, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140028296
mov rbx, qword [rbx]
cmp r14, 8
jae 0x1400282ae
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x88], xmm0
mov esi, 7
jmp 0x1400282f2
mov rsi, r14
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x88]
call fcn.14001a7f0
mov qword [rsp + 0x88], rax
lea r8, [r14*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.140034570
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
lea rcx, [rsp + 0x88]
cmp rsi, 8
cmovae rcx, qword [rsp + 0x88]
lea rdx, [rsp + 0x58]
call fcn.14003d968
cmp dword [rsp + 0x6c], 0
jne 0x140028389
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140028382
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002837d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c6
call fcn.140032930
xor al, al
jmp 0x140028693
lea rdx, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae rdx, qword [rsp + 0x88]
lea r8, [0x14005ec64]
lea rcx, [rsp + 0x50]
call fcn.140038cc4
cmp qword [rsp + 0x50], 0
jne 0x14002840b
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140028404
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400283ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c6
call fcn.140032930
xor al, al
jmp 0x140028693
mov eax, dword [rsp + 0x6c]
inc eax
movsxd rcx, eax
call fcn.140032a34
mov r14, rax
test rax, rax
jne 0x140028470
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140028469
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028464
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c6
call fcn.140032930
xor al, al
jmp 0x140028693
mov eax, dword [rsp + 0x6c]
inc eax
movsxd r8, eax
xor edx, edx
mov rcx, r14
call fcn.140034c20
movsxd rdx, dword [rsp + 0x6c]
mov r9, qword [rsp + 0x50]
mov r8d, 1
mov rcx, r14
call fcn.140039420
movsxd rax, dword [rsp + 0x6c]
mov byte [rax + r14], 0
mov eax, dword [rsp + 0x6c]
inc eax
movsxd rdx, eax
mov eax, 2
mul rdx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.140032a34
mov rsi, rax
test rax, rax
jne 0x140028529
mov rcx, r14
call fcn.140032930
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140028522
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002851d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c6
call fcn.140032930
xor al, al
jmp 0x140028693
mov eax, dword [rsp + 0x6c]
inc eax
movsxd r8, eax
add r8, r8
xor edx, edx
mov rcx, rsi
call fcn.140034c20
nop
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140028540
mov r9, rbx
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov r8, r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rax, dword [rsp + 0x6c]
mov word [rsi + rax*2], di
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0xb0]
call fcn.140034c20
mov edx, 1
lea rcx, [rsp + 0xb0]
call fcn.140010ef0
nop
mov rdx, rsi
lea rcx, [rsp + 0xc0]
call fcn.14000b720
lea rdx, [0x14005eac4]
mov rcx, rax
call fcn.14000b720
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xb0]
call fcn.140020780
mov rdx, rax
mov rcx, r12
call fcn.140013490
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140028616
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028611
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c0
call fcn.140032930
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14002862a
call fcn.140038da0
mov qword [rsp + 0x50], rdi
mov rcx, rsi
call fcn.140032930
mov rcx, r14
call fcn.140032930
nop
lea rcx, [rsp + 0xb0]
call fcn.140014940
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x14002868d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028688
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400286c6
call fcn.140032930
mov al, 1
jmp 0x140028693
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.140033040
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140037b74
nop
call fcn.140037b74
int3