Function at 0xf0112b6
Capabilities:
Allocate thread local storage
Get common file path
Get file size
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0xf061038]
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 edi, eax
lea eax, [ebp - 0x210]
push eax
push ebx
call fcn.0f00f3ea
and word [ebp - 0x210], 0xfbef
push dword [ebp - 0x210]
push ebx
call fcn.0f00f3be
call fcn.0f015b88
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0xf09b6a4], eax
call fcn.0f019d01
call fcn.0f009ddf
call fcn.0f03e31c
lea eax, [ebp - 0x230]
push eax
call fcn.0f0134f4
test eax, eax
je 0xf01133b
lea eax, [ebp - 0x230]
push eax
call fcn.0f05bf31
push esi
push dword [ebp + 8]
call fcn.0f00e11f
push 4
lea eax, [ebp - 0x21c]
push eax
push ebx
call fcn.0f00f3ea
mov eax, dword [ebp - 0x21c]
or dword [ebp - 0x210], eax
mov esi, 0x208
push esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0xf01137a
cmp eax, esi
jb 0xf01138d
push 0xf002128
push 1
push 1
call fcn.0f0344d0
call fcn.0f034c11
movzx eax, di
sub eax, 0x404
je 0xf011409
sub eax, 0xd
je 0xf0113f3
dec eax
je 0xf0113dd
sub eax, 0x3f2
je 0xf0113c7
sub eax, 0x400
je 0xf0113c7
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0113b4
mov esi, 0xf00211c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0xf011421
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0113ce
mov esi, 0xf00210c
jmp 0xf01141d
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0113e4
mov esi, 0xf0020fc
jmp 0xf01141d
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0113fa
mov esi, 0xf0020ec
jmp 0xf01141d
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf011410
mov esi, 0xf0020dc
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 0xf011503
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, edi
mov dword [ebp - 0x218], eax
je 0xf011503
cmp dword [ebp - 0x214], edi
jne 0xf011503
mov eax, dword [0xf09b69c]
push edi
lea ecx, [ebp - 0x214]
push ecx
push dword [ebp - 0x218]
add eax, 0x700
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0xf0114f1
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x214]
jne 0xf0114f1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x210]
push ebx
call fcn.0f00f3be
push 0x70
call sym.ntvdm.exe_setCS
push edi
call sym.ntvdm.exe_setIP
cmp dword [0xf06bb24], edi
je 0xf0114d1
push 0x20
jmp 0xf0114e5
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
cmp eax, 0x100
jne 0xf0114ed
push 0x80
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor eax, eax
jmp 0xf011522
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f0344d0
jmp 0xf011518
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f0344d0
cmp esi, 0xffffffff
je 0xf01151f
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.0f01b780
leave
ret 8