Function at 0x100095f2
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
nop
mov eax, dword [ebp + 8]
cmp eax, 0
je 0x10009616
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x1000962c
mov eax, 0
mov dword [0x10029090], eax
mov eax, dword [0x10029084]
jmp 0x1000988b
mov eax, dword [ebp + 0xc]
cmp eax, 0
jne 0x1000964e
mov eax, 0
mov dword [0x10029090], eax
mov eax, dword [0x10029084]
jmp 0x1000988b
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
mov eax, dword [0x100290b0]
call eax
add esp, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0
jne 0x10009685
mov eax, 0
mov dword [0x10029090], eax
mov eax, dword [0x10029084]
jmp 0x1000988b
mov eax, dword [ebp + 8]
mov ecx, 0
push ecx
mov ecx, 0x10029090
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 4]
push ecx
mov ecx, dword [eax]
push ecx
call sub.kernel32.dll_ReadFile
cmp eax, 0
je 0x1000986b
mov eax, dword [0x10029090]
mov ecx, dword [ebp - 4]
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [0x10029090]
inc eax
mov ecx, dword [ebp - 4]
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [0x10029090]
add eax, 2
mov ecx, dword [ebp - 4]
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [0x10029090]
add eax, 3
mov ecx, dword [ebp - 4]
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0
jl 0x1000985a
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0x4e9f
je 0x1000985a
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 1
je 0x1000985a
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0
je 0x1000985a
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0xfded
je 0x1000976b
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0xfdee
jne 0x1000978f
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
push ecx
mov eax, dword [0x10029090]
push eax
mov eax, dword [ebp - 4]
push eax
call sym.xPack.dll_xBot_UCS4_To_UCS2
add esp, 0xc
mov dword [ebp + 0xc], eax
jmp 0x10009820
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0x4b1
jne 0x100097bb
mov eax, dword [0x10029090]
push eax
mov eax, dword [ebp - 4]
push eax
call sym.xPack.dll_xBot_UCS2_BE2LE
add esp, 8
jmp 0x10009820
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0x4b0
je 0x10009820
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
cmp ecx, 0x4b1
je 0x10009820
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [0x10029090]
push ecx
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 4]
push eax
call sym.xPack.dll_xCore_M2W
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x100290bc]
call eax
add esp, 4
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [0x10029090]
mov dword [ebp + 0xc], eax
mov eax, dword [0x10029090]
push eax
mov eax, 1
push eax
mov eax, dword [ebp - 4]
push eax
call sym.xPack.dll_xCore_W2M
add esp, 0xc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x100290bc]
call eax
add esp, 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [0x10029090]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [0x10029090], eax
mov eax, dword [ebp - 4]
jmp 0x1000988b
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x100290bc]
call eax
add esp, 4
mov eax, 0
mov dword [0x10029090], eax
mov eax, dword [0x10029084]
leave
ret