Function at 0xf013ea7
Capabilities:
Allocate thread local storage
Get file size
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0xf0ad034]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push 4
mov ebx, 0x714
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x210]
push eax
push ebx
call fcn.0f05c2f5
mov eax, dword [ebp - 0x210]
and eax, 0xffffffef
or eax, 0x400
push eax
push ebx
mov dword [ebp - 0x210], eax
call fcn.0f05c2af
call fcn.0f0180ea
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0xf22a724], eax
call fcn.0f01c513
call fcn.0f00c8b9
call fcn.0f045694
lea eax, [ebp - 0x230]
push eax
call fcn.0f015c77
test eax, eax
je 0xf013f36
lea eax, [ebp - 0x230]
push eax
call fcn.0f0a6e23
push esi
push dword [ebp + 8]
call fcn.0f010ef0
push 4
lea eax, [ebp - 0x21c]
push eax
push ebx
call fcn.0f05c2f5
mov eax, dword [ebp - 0x21c]
or dword [ebp - 0x210], eax
mov eax, dword [0xf0bd828]
mov esi, dword [0xf0bd824]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp - 0x20c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, word [ebp - 0x214]
sub ecx, 0x404
je 0xf013fc9
sub ecx, 0xd
je 0xf013fc2
dec ecx
je 0xf013fbb
sub ecx, 0x3f2
je 0xf013fb4
sub ecx, 0x400
je 0xf013fb4
mov esi, 0xf002398
lea edi, [ebp + eax - 0x20c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0xf013fd9
mov esi, 0xf002388
jmp 0xf013fce
mov esi, 0xf002378
jmp 0xf013fce
mov esi, 0xf002368
jmp 0xf013fce
mov esi, 0xf002358
lea edi, [ebp + eax - 0x20c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
push 0x80000000
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0xf0140bb
lea eax, [ebp - 0x218]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, edi
mov dword [ebp - 0x214], eax
je 0xf0140bb
cmp dword [ebp - 0x218], edi
jne 0xf0140bb
push 0x700
call fcn.0f05b562
push edi
lea ecx, [ebp - 0x218]
push ecx
push dword [ebp - 0x214]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0xf0140a9
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x218]
jne 0xf0140a9
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x210]
push ebx
call fcn.0f05c2af
push 0x70
call fcn.0f05cd26
push edi
call fcn.0f05cba0
cmp dword [0xf0bd814], edi
je 0xf014089
push 0x20
jmp 0xf01409d
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
cmp eax, 0x100
jne 0xf0140a5
push 0x80
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor eax, eax
jmp 0xf0140da
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f03d89e
jmp 0xf0140d0
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f03d89e
cmp esi, 0xffffffff
je 0xf0140d7
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0f01dda0
leave
ret 8