Function at 0x140036e40
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x14016ca00]
xor rax, rsp
mov qword [rsp + 0x50], rax
movzx r14d, r8b
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.140063430
test al, al
jne 0x140036f29
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140036f15
test rax, rax
je 0x140036f0d
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x1401295f0]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCCustomPhraseLibLoader::LoadPhraseData
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
cmp qword [rdi + 0x18], 8
jb 0x140036ef2
mov rdi, qword [rdi]
mov r9, rdi
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rsi
call fcn.1400bd2dc
test rbx, rbx
je 0x140036f22
mov rcx, rbx
call fcn.1400bd2dc
xor al, al
jmp 0x140037321
lea rcx, [rsp + 0x38]
call fcn.14006d290
nop
mov dword [rsp + 0x20], 3
mov r9d, 1
mov r8d, 0x80000000
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.14006fad0
test al, al
jne 0x140036fa1
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140129620]
jmp 0x1400372a8
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140037312
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140037312
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
cmp eax, 0xffffffff
jne 0x140036fdc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140037312
mov ecx, dword [rsp + 0x48]
shl rcx, 0x20
mov rax, rbp
add rcx, rbp
je 0x140037312
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
test rax, rax
jne 0x140037057
mov edx, 0x50000
mov rcx, rsi
call fcn.14003aec0
test al, al
jne 0x140037057
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140129700]
jmp 0x1400372a8
mov ecx, 0x50000
call fcn.1400bbc88
mov rbp, rax
test rax, rax
jne 0x14003711b
test r14b, r14b
je 0x14003707a
mov rcx, rsi
call fcn.14003af70
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x1401296a0]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCCustomPhraseLibLoader::LoadPhraseData
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
cmp qword [rdi + 0x18], 8
jb 0x1400370f7
mov rdi, qword [rdi]
xor eax, eax
test r14b, r14b
setne al
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
jmp 0x1400372f5
xor edx, edx
mov r8d, 0x50000
mov rcx, rax
call fcn.1400c2130
xor eax, eax
mov dword [rsp + 0x30], eax
cmp qword [rbx], 0xffffffffffffffff
je 0x140037258
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8d, 0x50000
mov rdx, rbp
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140037258
mov r8d, dword [rsp + 0x30]
test r8d, r8d
jne 0x1400371ca
test r14b, r14b
je 0x14003717a
mov rcx, rsi
call fcn.14003af70
mov rcx, rbp
call fcn.1400bd2dc
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140129730]
jmp 0x1400372a8
cmp r8d, 2
jbe 0x1400371fe
movzx eax, word [rbp]
cmp eax, dword [rsi + 0xa8]
jne 0x1400371fe
shr r8d, 1
dec r8d
lea rdx, [rbp + 2]
mov rcx, rsi
call fcn.1400383f0
movzx ebx, al
mov rcx, rbp
call fcn.1400bd2dc
jmp 0x140037314
test r14b, r14b
je 0x14003720b
mov rcx, rsi
call fcn.14003af70
mov rcx, rbp
call fcn.1400bd2dc
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, str._IN
jmp 0x1400372a8
test r14b, r14b
je 0x140037265
mov rcx, rsi
call fcn.14003af70
mov rcx, rbp
call fcn.1400bd2dc
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140037305
test rax, rax
je 0x1400372fd
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140129748]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCCustomPhraseLibLoader::LoadPhraseData
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
mov r8d, 0x800
xor edx, edx
mov rcx, rbx
call fcn.1400c2130
cmp qword [rdi + 0x18], 8
jb 0x1400372e2
mov rdi, qword [rdi]
mov r9, rdi
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rsi
call fcn.1400bd2dc
test rbx, rbx
je 0x140037312
mov rcx, rbx
call fcn.1400bd2dc
xor bl, bl
lea rcx, [rsp + 0x38]
call fcn.14006fa80
movzx eax, bl
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400bcae0
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret