Function at 0x18005db00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rsi, qword [rsp + 0x80]
lea eax, [rcx - 0xa]
mov dword [rsp + 0x60], ecx
mov r15, r9
mov dword [rsp + 0x64], eax
mov r14, r8
mov r13, rdx
mov ebp, ecx
cmp ecx, eax
jbe 0x18005dfcb
mov ebp, dword [rsp + 0xe0]
lea edi, [rcx - 0x1e]
mov r12d, dword [rsp + 0xe0]
lea rdx, [0x180000000]
mov qword [rsp + 0x80], rsi
lea r8, str.sub_common
mov rbx, qword [rsp + 0x80]
mov eax, ecx
mov r14, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x68], edi
lea r9, [0x1800821a4]
cmp edi, 0x2e
ja case.default.0x18005dbaf
movzx eax, byte [rdx + rdi + 0x5e164]
mov ecx, dword [rdx + rax*4 + 0x5e138]
add rcx, rdx
jmp rcx
mov eax, dword [rsp + 0x70]
lea eax, [rax*2 + 1]
mov dword [rsp + 0x88], eax
jmp case.0x18005dbaf.10
lea rdx, [0x180078c50]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov qword [rsp + 0x80], rax
mov rsi, rax
test rax, rax
jne 0x18005df92
mov edx, 0xed
mov ecx, edx
sub ecx, 0xec
je 0x18005e118
cmp ecx, 1
jne 0x18005dc08
mov dword [rsp + 0x78], ecx
dec edx
cmp edx, 0xeb
ja 0x18005dbf1
jmp 0x18005df92
mov eax, dword [r15]
lea r9, [rsp + 0x68]
xor r8d, r8d
mov dword [rsp + 0x70], eax
lea rcx, [rsp + 0x88]
lea eax, [rax*2 + 1]
lea edx, [r8 + 0x6d]
mov dword [rsp + 0x68], eax
call fcn.180058000
test eax, eax
je 0x18005df92
mov edx, 0xf6
nop
mov ecx, edx
sub ecx, 0xf6
je 0x18005dc65
cmp ecx, 1
je 0x18005e118
jmp 0x18005dc69
mov dword [rsp + 0x78], eax
inc edx
cmp edx, 0xf8
jb 0x18005dc50
jmp 0x18005df92
mov eax, dword [r15 + 0xbe8]
cmp dword [r13], eax
jl case.0x18005dbaf.10
mov edi, 0xff
nop
mov eax, edi
sub eax, 0xff
je 0x18005dca4
cmp eax, 0x1d
je 0x18005e118
jmp 0x18005dcc7
mov r8d, dword [r15 + 0xbe8]
lea rcx, str.int4___OVERLOADABLE___convert_int_double4__
mov edx, dword [r13]
call fcn.180071d80
lea rax, str._null_
mov qword [rsp + 0x78], rax
add edi, 0x1d
cmp edi, 0x139
jb 0x18005dc90
mov edi, dword [rsp + 0x68]
jmp 0x18005df92
xor edi, edi
lea rsi, [0x1800821e4]
cmp qword [rsi - 0x54], 0
je 0x18005dd3f
mov eax, dword [r13]
cmp dword [rsi], eax
jne 0x18005dd3f
mov r8d, eax
mov ecx, edi
shl rcx, 7
mov rdx, r15
add rcx, r9
shl r8, 2
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18005dd38
mov eax, 0xbe
cmp eax, 0xbe
je 0x18005dd28
cmp eax, 0x15b
je 0x18005e118
jmp 0x18005dd2c
mov dword [rsp + 0x78], edi
add eax, 0x9d
cmp eax, 0x1f8
jb 0x18005dd14
lea r9, [0x1800821a4]
inc edi
sub rsi, 0xffffffffffffff80
cmp edi, 0x20
jl 0x18005dce4
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x78], 0xffffffff
jmp 0x18005df92
mov eax, dword [rsp + 0x70]
xor r10d, r10d
movsxd r9, eax
test eax, eax
jle 0x18005deec
lea esi, [r10 + 4]
mov r13d, eax
nop dword [rax]
mov edi, 6
mov r11d, 5
nop dword [rax + rax]
cmp r11d, 5
ja case.default.0x18005dda7
mov eax, r11d
mov ecx, dword [rdx + rax*4 + 0x5e194]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x98]
mov ecx, ebx
and ecx, 0xfffffff
mov dword [rax + r10*8], ecx
jmp case.default.0x18005dda7
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + r10*4]
mov rax, qword [rsp + 0x98]
imul rcx, rcx
mov ebx, dword [rax + r10*8]
add rbx, rcx
jmp case.default.0x18005dda7
mov rax, qword [r15 + 0x10]
mov rbp, rbx
shr rbp, 0x1c
mov r12d, dword [rax + r10*4]
jmp case.default.0x18005dda7
mov r14, qword [rsp + 0x98]
add r14, rsi
jmp case.default.0x18005dda7
test ebp, ebp
je case.default.0x18005dda7
nop
mov ecx, 0x101
cmp ecx, 0x101
je 0x18005de3c
cmp ecx, 0x1b4
jne 0x18005de44
mov eax, ebx
mov rbp, rbx
and eax, 0xfffffff
mov dword [r14], eax
add r14, 4
shr rbp, 0x1c
jmp 0x18005de44
mov ebx, dword [r14]
mov eax, ebp
add rbx, rax
add ecx, 0xb3
cmp ecx, 0x267
jb 0x18005de15
test ebp, ebp
jne 0x18005de10
jmp case.default.0x18005dda7
lea r8, [r10 + 1]
cmp r8, r9
jge case.default.0x18005dda7
mov edx, 0x31
mov eax, edx
sub eax, 0x30
je 0x18005de8f
cmp eax, 1
jne 0x18005dea4
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + r8*4]
mov eax, r12d
imul rcx, rax
mov eax, dword [r14]
lea rbx, [rax + rcx*2]
mov eax, ebp
add rbx, rax
jmp 0x18005dea4
mov eax, ebx
mov rbp, rbx
and eax, 0xfffffff
mov dword [r14], eax
add r14, 4
shr rbp, 0x1c
dec edx
cmp edx, 0x2f
ja 0x18005de66
inc r8
cmp r8, r9
jl 0x18005de61
lea rdx, [0x180000000]
dec r11d
sub rdi, 1
jne 0x18005dd90
add rsi, 8
inc r10
sub r13, 1
jne 0x18005dd80
mov r13, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x20], 0x8e
lea r8, [rsp + 0x88]
xor edx, edx
xor ecx, ecx
call fcn.180037c30
jmp 0x18005df92
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
jmp 0x18005df92
test r15, r15
jne case.0x18005dbaf.10
mov qword [rsp + 0x58], r15
lea rax, [rsp + 0x68]
mov qword [rsp + 0x50], r15
lea rdx, [0x180077149]
mov qword [rsp + 0x48], r15
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x40], r8
xor ecx, ecx
mov qword [rsp + 0x38], r15
xor r8d, r8d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x68], r15d
call fcn.18002b8a0
jmp 0x18005df92
xor r8d, r8d
mov qword [rsp + 0x28], 0
mov r9, r15
mov qword [rsp + 0x20], 0
mov rcx, r13
lea edx, [r8 + 0x7d]
call fcn.180016c30
lea r8, str.sub_common
lea rdx, [0x180000000]
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x60]
dec eax
dec edi
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x68], edi
cmp eax, ecx
ja 0x18005db8d
mov r14, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0xe0]
imul edi, ebp, 0x86c
mov ebx, ebp
cmp ebp, edi
ja 0x18005e118
nop dword [rax + rax]
cmp ebx, 0x3120
ja 0x18005e0a6
je 0x18005e118
cmp ebx, 0x20
je 0x18005e08e
cmp ebx, 0x2b
je 0x18005e118
cmp ebx, 0x36
je 0x18005e077
cmp ebx, 0x18a0
je 0x18005e058
cmp ebx, 0x298e
jne 0x18005e0fe
mov eax, dword [r14]
inc eax
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13], rax
jmp 0x18005e0fe
movsxd rcx, dword [r13]
mov rax, qword [r15 + 0xbe0]
add rcx, rcx
mov rax, qword [rax + rcx*8 + 8]
jmp 0x18005e11d
lea rdx, [rsp + 0x88]
mov ecx, 0x32
call fcn.18003ef60
mov dword [rsp + 0x78], 0
jmp 0x18005e0fe
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov rcx, rsi
mov dword [r14], eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_rewind]
jmp 0x18005e0fe
mov r8d, 0xa3
lea rcx, [rsp + 0x88]
mov rdx, r13
call fcn.180045070
jmp 0x18005e0fe
cmp ebx, 0x52e6
je 0x18005e0f0
cmp ebx, 0x7c3e
je 0x18005e0d0
cmp ebx, 0xa596
je 0x18005e110
cmp ebx, 0xceee
je 0x18005e06a
cmp ebx, 0xf846
je 0x18005e118
jmp 0x18005e0fe
movsxd r8, dword [r14]
mov r9, rsi
mov rcx, qword [r13]
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x18005e0fe
movsxd r8, dword [r14]
xor edx, edx
mov rcx, qword [r13]
call sub.VCRUNTIME140.dll_memset
imul eax, ebp, 0xc4
add ebx, eax
cmp ebx, edi
jbe 0x18005dfe0
jmp 0x18005e118
mov dword [rsp + 0x78], 0
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret