Function at 0x1400c3be0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0x50
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov edi, dword [rdx + 0x28]
xor r12d, r12d
mov rsi, rdx
mov rbp, rcx
cmp edi, dword [0x1401360f8]
je 0x1400c3c2d
mov rcx, qword [0x1401360d0]
cmp rcx, r12
je 0x1400c3c2d
call fcn.1400c8d40
mov qword [0x1401360d0], r12
mov rcx, qword [0x1401360d8]
mov edx, edi
mov dword [0x1401360f8], edi
call fcn.14003e3c8
mov rbx, rax
mov rax, qword [0x1401360d0]
cmp rax, r12
jne 0x1400c3c99
mov rcx, rbx
jmp 0x1400c3c81
mov ecx, edi
call fcn.14003ec84
cmp eax, r12d
jne 0x1400c3cf1
mov rcx, rbx
call fcn.1400c7040
mov rcx, qword [0x1401360d8]
mov edx, edi
call fcn.14003e3c8
mov rbx, rax
mov rcx, rax
lea rdx, [0x1400e3698]
call fcn.1400c9638
mov qword [0x1401360d0], rax
cmp rax, r12
je 0x1400c3c55
cmp rbx, r12
je 0x1400c3cad
mov rcx, rbx
call fcn.1400c7040
mov rax, qword [0x1401360d0]
mov rdx, qword [rsi + 0x30]
xor r8d, r8d
mov rcx, rax
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
cmp eax, r12d
je 0x1400c3cfb
call fcn.1400c8d40
mov rdx, qword [0x140134c50]
lea rcx, [0x140134b90]
mov qword [0x1401360d0], r12
call fcn.140033674
mov eax, 0xb
jmp 0x1400c3dc4
mov eax, 9
jmp 0x1400c3dc4
lea rdx, [0x1400ebfc0]
call fcn.1400c0fc4
cmp eax, r12d
jne 0x1400c3d42
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov ecx, 0x2ae
mov qword [0x1401360d0], r12
call fcn.140076080
mov rcx, qword [0x140134c50]
mov rdx, rax
call fcn.1400b1ef4
mov eax, 3
jmp 0x1400c3dc4
mov r9, qword [0x1401360d0]
mov edi, 1
lea rcx, [rsp + 0x20]
lea edx, [rdi + 0x19]
mov r8, rdi
call fcn.1400c9ab0
cmp rax, rdi
je 0x1400c3da1
mov rcx, qword [0x1401360d0]
call fcn.1400c975c
mov rcx, qword [0x1401360d0]
mov ebx, eax
call fcn.1400c8d40
cmp ebx, r12d
je 0x1400c3d95
mov rdx, qword [0x140134c50]
lea rcx, [0x140134b90]
call fcn.140033674
neg ebx
sbb eax, eax
and eax, 9
add eax, 2
jmp 0x1400c3dc4
mov ecx, 0xb8
call fcn.1400c799c
mov rbx, rax
cmp rax, r12
jne 0x1400c3de6
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov eax, 4
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400c6350
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
movzx ecx, byte [rsp + 0x21]
movzx eax, byte [rsp + 0x20]
shl cx, 8
or cx, ax
mov word [rbx + 2], cx
movzx ecx, byte [rsp + 0x23]
movzx eax, byte [rsp + 0x22]
shl cx, 8
or cx, ax
mov word [rbx + 0x2e], cx
movzx ecx, byte [rsp + 0x25]
movzx eax, byte [rsp + 0x24]
shl cx, 8
or cx, ax
mov word [rbx + 6], cx
movzx eax, byte [rsp + 0x29]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x28]
or edx, eax
movzx eax, byte [rsp + 0x27]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x26]
or edx, ecx
or edx, eax
mov dword [rbx + 8], edx
movzx eax, byte [rsp + 0x2d]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x2c]
or edx, eax
movzx eax, byte [rsp + 0x2b]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x2a]
or edx, ecx
or edx, eax
mov dword [rbx + 0xc], edx
movzx eax, byte [rsp + 0x36]
movzx edx, byte [rsp + 0x37]
shl dx, 8
or dx, ax
mov word [rbx + 0x20], dx
movzx ecx, byte [rsp + 0x39]
movzx eax, byte [rsp + 0x38]
shl cx, 8
mov qword [rbx + 0x48], r12
mov qword [rbx + 0x60], r12
or cx, ax
movzx eax, dx
mov qword [rbx + 0x40], r12
add eax, edi
mov word [rbx + 0x22], cx
mov qword [rbx + 0x68], r12
movsxd rcx, eax
mov qword [rbx + 0x70], r12
mov qword [rbx + 0x78], r12
mov qword [rbx + 0x80], r12
call fcn.1400c799c
mov qword [rbx + 0x60], rax
cmp rax, r12
je 0x1400c3dbf
cmp word [rbx + 0x22], r12w
je 0x1400c3f01
movzx ecx, word [rbx + 0x22]
call fcn.1400c799c
mov qword [rbx + 0x48], rax
cmp rax, r12
je 0x1400c3dbf
movzx edx, word [rbx + 0x20]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x60]
mov r8, rdi
call fcn.1400c9ab0
cmp rax, rdi
jne 0x1400c3ffe
cmp word [rbx + 0x22], r12w
je 0x1400c3f48
movzx edx, word [rbx + 0x22]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x48]
mov r8, rdi
call fcn.1400c9ab0
cmp rax, rdi
jne 0x1400c3ffe
movzx ecx, word [rsi + 0x20]
mov rax, qword [rbx + 0x60]
mov byte [rcx + rax], r12b
mov rcx, rbx
call fcn.1400bfe8c
movzx r11d, word [rsi]
movzx eax, r11b
shr r11w, 8
cmp r11w, r12w
jne 0x1400c3f7e
cmp eax, 0x19
je 0x1400c3f7e
cmp eax, 0x1a
je 0x1400c3f7e
cmp eax, 0x28
jne 0x1400c3f96
cmp r11w, 6
je 0x1400c3f96
mov r10d, 0xb
cmp r11w, r10w
jne 0x1400c3fa3
cmp eax, 0x32
jne 0x1400c3fa3
mov rcx, qword [rbx + 0x60]
mov rdx, rcx
call qword [sym.imp.USER32.dll_OemToCharA]
movzx eax, word [rbx + 0x20]
add eax, edi
movsxd rcx, eax
call fcn.1400c799c
mov r11, rax
mov qword [rbx + 0x40], rax
cmp rax, r12
je 0x1400c3dbf
mov rcx, qword [rbx + 0x60]
mov al, byte [rcx]
add rcx, rdi
mov byte [r11], al
add r11, rdi
cmp al, r12b
jne 0x1400c3fc5
mov rcx, rbx
call fcn.1400c0180
mov dword [0x1401360ac], eax
mov rax, qword [rsi + 0x18]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x10], rax
mov qword [rbp], rbx
xor eax, eax
jmp 0x1400c3dc4
mov rcx, qword [0x1401360d0]
call fcn.1400c975c
neg eax
jmp 0x1400c3d97