Function at 0x140020894
Capabilities:
Read file on windows

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x150
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x14006bbc0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rdi, rdx
mov rsi, rcx
xor ebp, ebp
mov qword [rsp + 0x28], rbp
lea r13d, [rbp + 7]
mov qword [r11 - 0xf8], r13
mov qword [rsp + 0x78], rbp
mov word [rsp + 0x68], bp
lea r8, [0x14005a200]
lea rcx, [rsp + 0x28]
call fcn.140028698
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp eax, ebp
jne 0x140020c9b
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], rbp
mov word [rsp + 0x40], bp
lea rcx, [0x14005a1f8]
call fcn.140025590
mov r8, rax
lea rdx, [0x14005a1f8]
lea rcx, [rsp + 0x38]
call fcn.140018170
nop
mov r9, qword [rsp + 0x28]
lea ebx, [rbp + 4]
mov r8, rbx
lea edx, [rbp + 1]
lea rcx, [rsp + 0x24]
call fcn.140028ce8
mov rcx, qword [rsp + 0x28]
call fcn.140028368
lea r8d, [rbp + 3]
lea rdx, [0x140058f1c]
lea rcx, [rsp + 0x24]
call fcn.140026f50
lea r12d, [rbp + 2]
cmp eax, ebp
jne 0x1400209b9
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, [0x140058fa0]
call fcn.140025590
mov r8, rax
lea rdx, [0x140058fa0]
lea rcx, [rsp + 0x38]
call fcn.1400177cc
jmp 0x140020b6a
mov r8, r12
lea rdx, [0x140058fac]
lea rcx, [rsp + 0x24]
call fcn.140026f50
cmp eax, ebp
jne 0x140020a16
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, [0x140058fb0]
call fcn.140025590
mov r8, rax
lea rdx, [0x140058fb0]
lea rcx, [rsp + 0x38]
call fcn.1400177cc
jmp 0x140020b6a
mov r8, r12
lea rdx, [0x14005900c]
lea rcx, [rsp + 0x24]
call fcn.140026f50
cmp eax, ebp
jne 0x140020a73
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, str.UTF_16BE
call fcn.140025590
mov r8, rax
lea rdx, str.UTF_16BE
lea rcx, [rsp + 0x38]
call fcn.1400177cc
jmp 0x140020b6a
mov r8, rbx
lea rdx, [0x140059010]
lea rcx, [rsp + 0x24]
call fcn.140026f50
cmp eax, ebp
jne 0x140020ad0
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, str.UTF_32LE
call fcn.140025590
mov r8, rax
lea rdx, str.UTF_32LE
lea rcx, [rsp + 0x38]
call fcn.1400177cc
jmp 0x140020b6a
mov r8, rbx
lea rdx, [0x140059014]
lea rcx, [rsp + 0x24]
call fcn.140026f50
cmp eax, ebp
jne 0x140020b2a
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, str.UTF_32BE
call fcn.140025590
mov r8, rax
lea rdx, str.UTF_32BE
lea rcx, [rsp + 0x38]
call fcn.1400177cc
jmp 0x140020b6a
lea rcx, str.__ccs
call fcn.140025590
mov r8, rax
lea rdx, str.__ccs
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea rcx, [0x140058fa0]
call fcn.140025590
mov r8, rax
lea rdx, [0x140058fa0]
lea rcx, [rsp + 0x38]
call fcn.1400177cc
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r8, qword [rsp + 0x40]
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140028698
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp eax, ebp
je 0x140020bcf
cmp qword [rsp + 0x58], 8
jb 0x140020ba4
mov rcx, qword [rsp + 0x40]
call fcn.140024990
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], rbp
mov word [rsp + 0x40], bp
cmp qword [rsp + 0x80], 8
jb 0x140020bc8
mov rcx, qword [rsp + 0x68]
call fcn.140024990
mov eax, ebx
jmp 0x140020cb2
mov rcx, qword [rsp + 0x28]
call fcn.14002893c
cmp eax, ebp
jne 0x140020c4d
xor edx, edx
mov r8d, QueryPathOfRegTypeLib
lea rcx, [rsp + 0x90]
call fcn.140025190
mov r9, qword [rsp + 0x28]
mov r8d, 0x50
mov rdx, r12
lea rcx, [rsp + 0x90]
call fcn.140028ce8
lea rcx, [rsp + 0x20]
call fcn.140028870
cmp dword [rsp + 0x20], ebp
jne 0x140020c4d
lea rcx, [rsp + 0x90]
call fcn.140025590
mov r8, rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
call fcn.1400177cc
mov rcx, qword [rsp + 0x28]
call fcn.14002893c
cmp eax, ebp
je 0x140020bdd
mov rcx, qword [rsp + 0x28]
call fcn.140028368
nop
cmp qword [rsp + 0x58], 8
jb 0x140020c6a
mov rcx, qword [rsp + 0x40]
call fcn.140024990
mov ebx, dword [rsp + 0x20]
cmp ebx, ebp
jne 0x140020c9b
cmp qword [rsp + 0x78], rbp
je 0x140020c9b
lea rdx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.140020590
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp qword [rsp + 0x80], 8
jb 0x140020cb0
mov rcx, qword [rsp + 0x68]
call fcn.140024990
mov eax, ebx
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140025570
mov rbx, qword [rsp + 0x190]
add rsp, 0x150
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret