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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x1019214]
mov edx, dword [ebp + 0xc]
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x40c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x408], eax
xor esi, esi
xor eax, eax
mov word [ebp - 0x20c], si
mov ecx, 0x81
lea edi, [ebp - 0x20a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x20c]
push eax
mov edi, 0x104
push edi
push esi
push edx
mov ebx, 0x80
push esi
mov dword [ebp - 0x414], edx
mov dword [0x1019678], ebx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, esi
je 0x100c2ba
cmp eax, edi
ja 0x100c2ba
push esi
push ebx
push 3
push esi
xor edi, edi
inc edi
push edi
push 0x80000000
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [0x1059680], eax
je 0x100c2ba
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0x64
pop ecx
xor edx, edx
div ecx
push esi
mov dword [0x1059694], esi
mov dword [0x105968c], esi
mov dword [0x1059698], esi
mov dword [0x1059690], eax
lea eax, [ebp - 0x41c]
push eax
push 2
lea eax, [ebp - 0x410]
push eax
push dword [0x1059680]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100c069
mov dword [0x1019678], 0x82
jmp 0x100c2f3
cmp word [ebp - 0x410], 0xfeff
jne 0x100c07c
mov dword [0x10190e4], edi
jmp 0x100c092
push edi
push esi
push 0xfffffffffffffffe
push dword [0x1059680]
mov dword [0x10190e4], esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [0x1059684], esi
call fcn.0100b05f
mov ebx, 0x1001a18
mov dword [0x1019674], esi
mov edi, 0x1001a58
xor eax, eax
mov ax, word [edi]
push eax
call fcn.0100ab94
test eax, eax
je 0x100c0ca
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
cmp word [edi], si
jne 0x100c0ad
cmp word [edi], si
jne 0x100c1b1
call fcn.0100b05f
push 0x2e
mov word [ebp - 0x402], si
call fcn.0100ab94
mov edi, dword [sym.imp.COMCTL32.dll_Ordinal_365]
jmp 0x100c137
lea eax, [ebp - 0x404]
push eax
call fcn.0100aa93
test eax, eax
je 0x100c273
push dword [ebp - 0x404]
call dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
test eax, eax
je 0x100c273
lea eax, [ebp - 0x404]
push eax
call edi
mov ecx, dword [0x1019674]
shl ecx, 4
add ecx, eax
push 0x2e
mov dword [0x1019674], ecx
call fcn.0100ab94
test eax, eax
je 0x100c0ee
xor ebx, ebx
lea eax, [ebp - 0x404]
push eax
call fcn.0100aa93
test eax, eax
je 0x100c273
push dword [ebp - 0x404]
call dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
test eax, eax
je 0x100c273
lea eax, [ebp - 0x404]
push eax
call edi
mov ecx, dword [0x1019674]
shl ecx, 4
add ecx, eax
inc ebx
cmp ebx, 2
mov dword [0x1019674], ecx
jb 0x100c13d
cmp ecx, 0x500
je 0x100c19c
mov dword [0x1019678], 0x86
jmp 0x100c2f3
call fcn.0100b05f
push dword [ebp - 0x408]
call fcn.0100beb9
jmp 0x100c2f3
xor eax, eax
mov ax, word [ebx]
push eax
call fcn.0100ab94
test eax, eax
je 0x100c1ce
push ebx
call dword [sym.imp.USER32.dll_CharNextW]
mov ebx, eax
cmp word [ebx], si
jne 0x100c1b1
cmp word [ebx], si
jne 0x100c232
push 0x34
call fcn.0100ab94
mov edi, eax
call fcn.0100b05f
lea eax, [ebp - 0x40c]
push eax
call fcn.0100aa93
test eax, eax
je 0x100c2f3
push dword [ebp - 0x40c]
call fcn.0100abec
test eax, eax
je 0x100c2f3
cmp edi, esi
push dword [ebp - 0x408]
je 0x100c21e
mov dword [0x1019674], 0x400
jmp 0x100c1a7
mov dword [0x1019674], 0x310
call fcn.0100b12e
jmp 0x100c2f3
cmp dword [ebp - 0x40c], esi
jne 0x100c249
mov dword [0x1019678], 0x7b
jmp 0x100c2f3
cmp dword [ebp - 0x408], esi
je 0x100c27f
push esi
push 9
push 0x110a
push dword [0x1019080]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.01005586
cmp dword [ebp - 0x408], eax
je 0x100c27f
mov dword [0x1019678], 0x85
jmp 0x100c2f3
cmp dword [0x1059ac8], esi
je 0x100c2a7
push 1
push dword [ebp - 0x40c]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [0x1059ac8]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x1059ac8], esi
push dword [ebp - 0x414]
push dword [ebp - 0x40c]
call fcn.0100a9ab
jmp 0x100c2f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x400]
push 0x1001bf0
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x1059680], esi
mov dword [0x1019678], 0x81
mov eax, dword [0x1059680]
pop edi
cmp eax, esi
pop esi
pop ebx
je 0x100c306
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
call fcn.01016806
leave
ret 0xc