Function at 0xf01136d
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 [0xf062038]
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.0f00f4a1
and word [ebp - 0x210], 0xfbef
push dword [ebp - 0x210]
push ebx
call fcn.0f00f475
call fcn.0f015cbf
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0xf09c6e4], eax
call fcn.0f019e65
call fcn.0f009e87
call fcn.0f03e44a
lea eax, [ebp - 0x230]
push eax
call fcn.0f0135ab
test eax, eax
je 0xf0113f2
lea eax, [ebp - 0x230]
push eax
call fcn.0f05c231
push esi
push dword [ebp + 8]
call fcn.0f00e1c8
push 4
lea eax, [ebp - 0x21c]
push eax
push ebx
call fcn.0f00f4a1
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 0xf011431
cmp eax, esi
jb 0xf011444
push 0xf002138
push 1
push 1
call fcn.0f0346c3
call fcn.0f034e04
movzx eax, di
sub eax, 0x404
je 0xf0114c0
sub eax, 0xd
je 0xf0114aa
dec eax
je 0xf011494
sub eax, 0x3f2
je 0xf01147e
sub eax, 0x400
je 0xf01147e
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf01146b
mov esi, 0xf00212c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0xf0114d8
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf011485
mov esi, 0xf00211c
jmp 0xf0114d4
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf01149b
mov esi, 0xf00210c
jmp 0xf0114d4
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0114b1
mov esi, 0xf0020fc
jmp 0xf0114d4
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0xf0114c7
mov esi, 0xf0020ec
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 0xf0115ba
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, edi
mov dword [ebp - 0x218], eax
je 0xf0115ba
cmp dword [ebp - 0x214], edi
jne 0xf0115ba
mov eax, dword [0xf09c6dc]
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 0xf0115a8
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x214]
jne 0xf0115a8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x210]
push ebx
call fcn.0f00f475
push 0x70
call sym.ntvdm.exe_setCS
push edi
call sym.ntvdm.exe_setIP
cmp dword [0xf06cb24], edi
je 0xf011588
push 0x20
jmp 0xf01159c
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
cmp eax, 0x100
jne 0xf0115a4
push 0x80
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor eax, eax
jmp 0xf0115d9
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f0346c3
jmp 0xf0115cf
lea eax, [ebp - 0x20c]
push eax
push 1
push 9
call fcn.0f0346c3
cmp esi, 0xffffffff
je 0xf0115d6
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.0f01b9b9
leave
ret 8