Function at 0x140038c20
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov r14, rdx
mov qword [rsp + 0x30], rdx
xor r12d, r12d
mov dword [rsp + 0x38], r12d
lea r15, [0x1400e0e10]
mov rdx, r15
cmp qword [0x1400e0e28], 8
cmovae rdx, qword [0x1400e0e10]
lea r8, [0x1400bf99c]
lea rcx, [rsp + 0x38]
call fcn.1400826dc
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140038ee0
mov ebx, 4
mov ecx, ebx
call fcn.140083738
mov rdi, rax
test rax, rax
je 0x140038ee0
xor eax, eax
mov dword [rdi], eax
mov r9, rsi
mov r8d, ebx
lea edx, [rbx - 3]
mov rcx, rdi
call fcn.14008635c
mov rcx, rsi
call fcn.1400835f4
movzx eax, word [rdi]
mov ecx, 0xeffe
cmp ax, cx
jne 0x140038cef
cmp word [rdi + 2], r12w
jne 0x140038d11
mov esi, 0xfeff
lea r14d, [rcx - 0x43]
mov r13d, 0xfffe
jmp 0x140038d43
test ax, ax
jne 0x140038d11
mov esi, 0xfeff
cmp word [rdi + 2], si
jne 0x140038ed8
mov r14d, 0xefbb
mov r13d, 0xfffe
jmp 0x140038d43
mov r14d, 0xefbb
cmp ax, r14w
je 0x140038ed3
mov esi, 0xfeff
cmp ax, si
jne 0x140038d33
mov r13d, 0xfffe
jmp 0x140038d43
mov r13d, 0xfffe
cmp ax, r13w
jne 0x140038ed3
mov rcx, rdi
call fcn.14007cec8
cmp qword [0x1400e0e28], 8
cmovae r15, qword [0x1400e0e10]
lea r8, [0x1400bf99c]
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.1400826dc
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x140038ecc
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, r12
call fcn.140084dac
mov rcx, r12
call fcn.140083f2c
movsxd r15, eax
mov rcx, r12
call fcn.1400858b0
lea eax, [r15 + 2]
cdqe
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.140083738
mov rdi, rax
test rax, rax
je 0x140038ecc
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rcx, rax
call fcn.140072740
mov r8, r15
mov r9, r12
mov edx, 1
mov rcx, rdi
call fcn.14008635c
mov rcx, r12
call fcn.1400835f4
mov rdx, rdi
cmp r15d, ebx
jle 0x140038e2d
movzx eax, word [rdi]
mov ecx, 0xeffe
cmp ax, cx
jne 0x140038e15
cmp word [rdi + 2], 0
je 0x140038e65
cmp ax, r14w
je 0x140038e69
cmp ax, si
jne 0x140038e20
mov ebx, 2
jmp 0x140038e65
test ax, ax
jne 0x140038e03
cmp word [rdi + 2], si
jmp 0x140038e63
cmp ax, r13w
jne 0x140038e69
mov ebx, 2
jmp 0x140038e65
cmp r15d, 3
jle 0x140038eac
movzx r8d, word [rdi]
cmp r8w, r14w
jne 0x140038eb6
mov eax, 0xbf
cmp word [rdi + 2], ax
jne 0x140038e4f
mov ebx, 6
jmp 0x140038e65
mov ecx, 0xfe
mov eax, 0xff
cmp r8w, ax
jne 0x140038e69
cmp word [rdi + 2], cx
jne 0x140038e69
lea rdx, [rdi + rbx]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140038e70
mov r8, rbx
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400027d0
xor r8d, r8d
lea rdx, [0x1400bd750]
mov rcx, rbx
call fcn.140014b80
mov rcx, rdi
call fcn.14007cec8
nop
mov al, 1
jmp 0x1400392a0
cmp r15d, 2
jle 0x140038e69
movzx r8d, word [rdi]
mov ecx, 0xfe
cmp r8w, cx
jne 0x140038e54
mov eax, 0xff
cmp word [rdi + 2], ax
jmp 0x140038e63
xor al, al
jmp 0x1400392a0
mov r14, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14007cec8
mov rdx, r15
lea rcx, [rsp + 0x190]
call fcn.1400025c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x180], xmm0
lea rcx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 8
cmovae rcx, qword [rsp + 0x190]
lea rdx, [rsp + 0x160]
call fcn.14008555c
cmp dword [rsp + 0x174], 0
jne 0x140038f8c
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 8
jb 0x140038f85
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038f80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400392d3
call fcn.140070654
xor al, al
jmp 0x1400392a0
lea rdx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 8
cmovae rdx, qword [rsp + 0x190]
lea r8, [0x1400bf99c]
lea rcx, [rsp + 0x30]
call fcn.1400826dc
cmp qword [rsp + 0x30], 0
jne 0x14003900e
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 8
jb 0x140039007
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039002
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400392d3
call fcn.140070654
xor al, al
jmp 0x1400392a0
mov eax, dword [rsp + 0x174]
inc eax
movsxd rcx, eax
call fcn.1400709f4
mov rdi, rax
mov eax, dword [rsp + 0x174]
inc eax
movsxd r8, eax
xor edx, edx
mov rcx, rdi
call fcn.140072740
movsxd rdx, dword [rsp + 0x174]
mov r9, qword [rsp + 0x30]
mov r8d, 1
mov rcx, rdi
call fcn.14008635c
movsxd rax, dword [rsp + 0x174]
mov byte [rax + rdi], 0
mov eax, dword [rsp + 0x174]
inc eax
movsxd rcx, eax
mov eax, 2
mul rcx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.1400709f4
mov rsi, rax
mov eax, dword [rsp + 0x174]
inc eax
movsxd r8, eax
add r8, r8
xor edx, edx
mov rcx, rsi
call fcn.140072740
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400390a2
mov r9, rbx
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rax, dword [rsp + 0x174]
mov word [rsi + rax*2], r12w
lea rcx, [rsp + 0x60]
call fcn.140013e80
nop
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140016680
lea rdx, [0x1400bd750]
mov rcx, rax
call fcn.140016680
nop
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1c8], 7
mov word [rsp + 0x1b0], r12w
mov dword [rsp + 0x38], 2
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov ecx, dword [rsp + 0xe8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140039178
mov rax, qword [rsp + 0xb8]
mov r8, qword [rax]
test r8, r8
je 0x140039178
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
cmp r8, qword [rsp + 0xe0]
cmovb r8, qword [rsp + 0xe0]
sub r8, rdx
sar r8, 1
jmp 0x1400391bb
test cl, 4
jne 0x1400391b1
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400391b1
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, qword [rsp + 0xc8]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x1400391bb
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x1400391ce
lea rcx, [rsp + 0x1b0]
call fcn.1400027d0
nop
lea rdx, [rsp + 0x1b0]
mov rcx, r14
call fcn.140014c20
mov rdx, qword [rsp + 0x1c8]
cmp rdx, 8
jb 0x140039226
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039221
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400392cd
call fcn.140070654
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14003923a
call fcn.1400835f4
mov qword [rsp + 0x30], r12
mov rcx, rsi
call fcn.140070654
mov rcx, rdi
call fcn.140070654
nop
lea rcx, [rsp + 0x60]
call fcn.140009920
nop
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 8
jb 0x14003929a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039295
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400392d3
call fcn.140070654
mov al, 1
jmp 0x1400392a0
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.140070140
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14007d0fc
nop
call fcn.14007d0fc
int3