Function at 0x10000b5c4
Capabilities:
Get file size
Print debug messages
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x480
mov rax, qword [0x100012110]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov rbx, rcx
mov esi, edx
lea rcx, [rsp + 0x62]
xor ebp, ebp
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x60], bp
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov edi, 0x104
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
mov r9d, edi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rbp
mov dword [0x100012a44], ebp
call qword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, ebp
je 0x10000b8b0
cmp eax, edi
ja 0x10000b8b0
mov qword [rsp + 0x30], rbp
lea r8d, [rbp + 1]
lea rcx, [rsp + 0x60]
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x100052a60], rax
cmp rax, 0xffffffffffffffff
je 0x10000b8b0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov rcx, qword [0x100052a60]
lea r9, [rsp + 0x4c]
mov r11d, eax
mov eax, 0x51eb851f
lea r8d, [rbp + 2]
mov dword [0x100052a78], ebp
mov dword [0x100052a70], ebp
mov dword [0x100052a7c], ebp
mul r11d
shr edx, 5
mov qword [rsp + 0x20], rbp
mov dword [0x100052a74], edx
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
jne 0x10000b6e9
mov dword [0x100012a44], 0x2bf
jmp 0x10000b8f1
mov eax, 0xfeff
cmp word [rsp + 0x48], ax
jne 0x10000b701
mov dword [0x100012128], 1
jmp 0x10000b721
mov rcx, qword [0x100052a60]
mov r9d, 1
xor r8d, r8d
lea edx, [r9 - 3]
mov dword [0x100012128], ebp
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [0x100052a68], ebp
call fcn.10000c4c0
lea rbx, [0x1000014c0]
mov dword [0x100012a40], ebp
lea rdi, [0x100001510]
movzx ecx, word [rdi]
call fcn.10000c684
cmp eax, ebp
je 0x10000b75d
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
cmp word [rax], bp
jne 0x10000b740
cmp bp, word [rdi]
jne 0x10000b83c
call fcn.10000c4c0
mov word [rsp + 0x42], bp
mov ebx, 0x2e
jmp 0x10000b7b8
lea rcx, [rsp + 0x40]
call fcn.10000c548
cmp eax, ebp
je 0x10000b81c
movzx ecx, word [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsCharAlphaNumericW]
cmp eax, ebp
je 0x10000b81c
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrToIntW]
mov ecx, dword [0x100012a40]
shl ecx, 4
add ecx, eax
mov dword [0x100012a40], ecx
mov ecx, ebx
call fcn.10000c684
cmp eax, ebp
je 0x10000b777
mov ebx, ebp
lea rcx, [rsp + 0x40]
call fcn.10000c548
cmp eax, ebp
je 0x10000b81c
movzx ecx, word [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsCharAlphaNumericW]
cmp eax, ebp
je 0x10000b81c
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrToIntW]
mov ecx, dword [0x100012a40]
inc ebx
shl ecx, 4
add ecx, eax
mov dword [0x100012a40], ecx
cmp ebx, 2
jb 0x10000b7c5
cmp ecx, 0x500
je 0x10000b82b
mov dword [0x100012a44], 0x2c3
jmp 0x10000b8f1
mov dword [0x100012a44], 0x2c2
jmp 0x10000b8f1
call fcn.10000c4c0
mov ecx, esi
call fcn.10000bbd4
jmp 0x10000b8f1
movzx ecx, word [rbx]
call fcn.10000c684
cmp eax, ebp
je 0x10000b859
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
cmp word [rax], bp
jne 0x10000b83c
cmp word [rbx], bp
jne 0x10000b81c
mov ecx, 0x34
call fcn.10000c684
mov ebx, eax
call fcn.10000c4c0
lea rcx, [rsp + 0x44]
call fcn.10000c548
cmp eax, ebp
je 0x10000b8f1
cmp word [rsp + 0x44], 0xa
je 0x10000b88d
cmp word [rsp + 0x44], 0xd
jne 0x10000b8f1
mov ecx, esi
cmp ebx, ebp
je 0x10000b89f
mov dword [0x100012a40], 0x400
jmp 0x10000b832
mov dword [0x100012a40], 0x310
call fcn.10000b92c
jmp 0x10000b8f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [0x100001fb0]
lea rcx, [rsp + 0x270]
mov r9d, eax
mov edx, 0xfa
call fcn.10000b3f4
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov qword [0x100052a60], rbp
mov dword [0x100012a44], 0x2be
mov rcx, qword [0x100052a60]
cmp rcx, rbp
je 0x10000b903
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.100010090
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x480
pop rdi
pop rsi
pop rbp
ret