Function at 0x426e00
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push edi
push esi
push ebx
sub esp, 0x50
cmp eax, 0x73
je 0x426e1f
xor ecx, ecx
cmp eax, 0x74
je 0x426fc0
add esp, 0x50
mov eax, ecx
pop ebx
pop esi
pop edi
ret
mov eax, dword [0xc10ba0]
mov dword [esp + 8], 0xd
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_fread
movzx edx, byte [esp + 0x11]
movzx ecx, byte [esp + 0x10]
movzx esi, byte [esp + 0x12]
movzx ebx, byte [esp + 0x19]
shl edx, 8
add edx, ecx
movzx ecx, byte [esp + 0x13]
mov word [0xf70d40], dx
mov edx, esi
not esi
mov byte [0xf70d42], dl
movzx edx, byte [esp + 0x14]
and esi, 0xff
shl edx, 8
add edx, ecx
movzx ecx, byte [esp + 0x15]
mov word [0xf70d44], dx
movzx edx, byte [esp + 0x16]
shl edx, 8
add edx, ecx
movzx ecx, byte [esp + 0x17]
mov word [0xf70d46], dx
movzx edx, byte [esp + 0x18]
shl edx, 8
add edx, ecx
movzx ecx, byte [esp + 0x1c]
mov word [0xf70d48], dx
movzx edx, byte [esp + 0x1b]
shl ecx, 0x18
shl edx, 0x10
add ecx, edx
movzx edx, byte [esp + 0x1a]
shl edx, 8
add edx, ebx
add ecx, edx
mov edx, dword [esi*4 + 0xf707b0]
mov dword [0xf70d4c], ecx
movzx ecx, byte [esp + 0x13]
xor edx, 0xffffff
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x14]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x15]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x16]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x17]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x18]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x19]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x1a]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
movzx ecx, byte [esp + 0x1b]
xor ecx, edx
movzx ecx, cl
shr edx, 8
xor edx, dword [ecx*4 + 0xf707b0]
mov ecx, eax
movzx eax, byte [esp + 0x1c]
xor eax, edx
movzx eax, al
shr edx, 8
xor edx, dword [eax*4 + 0xf707b0]
mov eax, ecx
mov dword [0xc10c50], edx
add esp, 0x50
pop ebx
pop esi
pop edi
ret
mov eax, dword [0xc10ba0]
lea esi, [esp + 0x10]
mov dword [esp + 8], 0x20
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fread
movzx edx, byte [esp + 0x10]
movzx ecx, byte [esp + 0x17]
movzx ebx, byte [esp + 0x12]
mov edi, eax
movzx eax, byte [esp + 0x11]
mov byte [0xf6c742], bl
not ebx
movzx ebx, bl
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x13]
mov word [0xf6c740], ax
movzx eax, byte [esp + 0x14]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x15]
mov word [0xf6c744], ax
movzx eax, byte [esp + 0x16]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x1a]
mov word [0xf6c746], ax
movzx eax, byte [esp + 0x19]
shl edx, 0x18
shl eax, 0x10
add edx, eax
movzx eax, byte [esp + 0x18]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x1b]
add edx, eax
movzx eax, byte [esp + 0x1d]
mov dword [0xf6c748], edx
movzx edx, byte [esp + 0x1e]
shl eax, 0x10
shl edx, 0x18
add edx, eax
movzx eax, byte [esp + 0x1c]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x20]
add edx, eax
movzx eax, byte [esp + 0x1f]
mov dword [0xf6c74c], edx
movzx edx, byte [esp + 0x23]
mov byte [0xf6c750], al
movzx eax, byte [esp + 0x22]
shl edx, 0x18
shl eax, 0x10
add edx, eax
movzx eax, byte [esp + 0x21]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x24]
add edx, eax
movzx eax, byte [esp + 0x26]
mov dword [0xf6c754], edx
movzx edx, byte [esp + 0x27]
shl eax, 0x10
shl edx, 0x18
add edx, eax
movzx eax, byte [esp + 0x25]
shl eax, 8
add eax, ecx
add edx, eax
movzx eax, byte [esp + 0x28]
mov dword [0xf6c758], edx
mov byte [0xf6c75c], al
movzx eax, byte [esp + 0x29]
movzx edx, byte [esp + 0x2a]
movzx ecx, byte [esp + 0x2c]
mov byte [0xf6c75d], al
movzx eax, byte [esp + 0x2b]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x2f]
mov word [0xf6c75e], ax
movzx eax, byte [esp + 0x2e]
shl edx, 0x18
shl eax, 0x10
add edx, eax
movzx eax, byte [esp + 0x2d]
shl eax, 8
add eax, ecx
mov ecx, 1
add edx, eax
mov dword [0xf6c760], edx
mov edx, dword [ebx*4 + 0xf707b0]
xor edx, 0xffffff
movzx eax, byte [ecx + esi + 2]
add ecx, 1
xor eax, edx
movzx eax, al
shr edx, 8
xor edx, dword [eax*4 + 0xf707b0]
cmp ecx, 0x1e
jne 0x427148
mov ecx, edi
mov dword [0xc10c50], edx
add esp, 0x50
mov eax, ecx
pop ebx
pop esi
pop edi
ret