Function at 0x140063850
Capabilities:
Read file on windows

Disassembly:
push r14
mov eax, 0x2200
call fcn.1400d6730
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x2218], rbx
mov qword [rsp + 0x2220], rsi
mov qword [rsp + 0x2228], rdi
mov rax, qword [0x1401c3e90]
xor rax, rsp
mov qword [rsp + 0x21f0], rax
mov rbx, rcx
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx + 0x128]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x98]
mov qword [rsp + 0x80], rax
mov eax, dword [0x1401cbd80]
mov ecx, eax
imul ecx, eax
imul ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 0xd
jne 0x1400638fa
lea rcx, [rsp + 0x2140]
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
xor r14d, r14d
nop dword [rax]
mov rcx, rbx
call fcn.140063740
test al, al
je 0x140063b6e
cmp byte [rbx + 0x10], r14b
je 0x140063926
mov rcx, rbx
call fcn.140063be0
test al, al
je 0x140063a25
mov dword [rsp + 0x30], r14d
lea rax, [rbx + 0x18]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8d, 0x1000
mov rdx, qword [rbx + 0x60]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400639e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400639af
cmp eax, 0x3e5
je 0x1400639a9
lea rax, str.Channel_read_failure
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa8]
call fcn.1400d4b08
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0xa8], rax
lea rdx, [0x14018e4e8]
lea rcx, [rsp + 0xa8]
call fcn.1400d9558
mov byte [rbx + 0x10], 1
jmp 0x1400639e3
lea rcx, [rsp + 0x58]
call fcn.1400d4b80
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x58], rax
lea rax, vtable.CRSimpleIPCExceptionDisconnected.0
mov qword [rsp + 0x58], rax
lea rdx, [0x14018e4a0]
lea rcx, [rsp + 0x58]
call fcn.1400d9558
cmp byte [rbx + 0x10], r14b
jne 0x140063a25
mov rsi, qword [rbx + 0x50]
sub rsi, qword [rbx + 0x48]
mov edx, dword [rsp + 0x30]
add rdx, rsi
lea rcx, [rbx + 0x48]
call fcn.140034700
mov rcx, qword [rbx + 0x48]
mov r8d, dword [rsp + 0x30]
add rcx, rsi
mov rdx, qword [rbx + 0x60]
call fcn.1400d16b0
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov sil, 1
jmp 0x140063a28
xor sil, sil
mov rcx, rbx
call fcn.140063d00
movzx edi, al
mov rcx, rbx
call fcn.140064290
or dil, sil
je 0x140063a45
jmp 0x140063900
mov r9d, 0x7530
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea ecx, [r8 + 3]
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x140063a73
mov rcx, qword [rbx + 0x128]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x140063900
cmp eax, 3
jae 0x140063a8d
mov rcx, rbx
call fcn.140063be0
mov rcx, rbx
call fcn.140064050
jmp 0x140063b2f
cmp eax, 0x102
jne 0x140063b3c
mov r8d, dword [0x1401cbd80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 8
jne 0x140063ad8
mov dword [rsp + 0x1570], r14d
mov dword [rsp + 0xc0], r14d
mov dword [rsp + 0x2140], r14d
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140063aee
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [0x1401cbd80]
imul r8d, r8d
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub r8d, edx
cmp r8d, 0xd
jne 0x140063b2f
mov rax, qword [str.b5dKTHO4]
mov qword [rsp + 0x38], rax
movzx eax, byte [0x140159da0]
mov byte [rsp + 0x40], al
mov byte [rsp + 0x38], 0x7b
mov rcx, rbx
call fcn.140064290
jmp 0x140063900
lea rcx, [rsp + 0x88]
call fcn.1400d4b80
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x88], rax
lea rdx, [0x14018e4e8]
lea rcx, [rsp + 0x88]
call fcn.1400d9558
nop
mov rcx, qword [rsp + 0x21f0]
xor rcx, rsp
call fcn.1400d1680
lea r11, [rsp + 0x2200]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret