Function at 0x1000c3a4
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x10012699
call fcn.10011420
sub esp, 0x144
mov eax, dword [0x1001b0f8]
push ebx
mov ebx, dword [ebp + 8]
push esi
push ebx
push 1
mov esi, 0x10017c0c
push esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x144], ecx
mov byte [ecx + 0x39], 1
mov byte [ebp - 0x121], 1
call sub.msvcrt.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
test eax, eax
jne 0x1000c3f9
xor al, al
jmp 0x1000c626
push edi
push esi
call sub.msvcrt.dll_strlen
push eax
lea eax, [ebp - 0x1c]
push esi
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0x10
xor edi, edi
test eax, eax
je 0x1000c426
push edi
push edi
push ebx
call sub.msvcrt.dll_fseek
add esp, 0xc
mov byte [ebp - 0x121], 0
push ebx
push 1
lea eax, [ebp - 0x130]
push 4
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
test eax, eax
jne 0x1000c445
xor al, al
jmp 0x1000c625
cmp byte [ebp - 0x121], 0
je 0x1000c457
push esi
call sub.msvcrt.dll_strlen
pop ecx
jmp 0x1000c459
xor eax, eax
push 0x10
pop ecx
add eax, 4
cmp dword [ebp - 0x130], ecx
jbe 0x1000c46d
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], edi
mov dword [ebp - 0x134], edi
jbe 0x1000c623
mov dword [ebp - 0x138], eax
push edi
push dword [ebp - 0x138]
push ebx
call sub.msvcrt.dll_fseek
push ebx
push 1
lea eax, [ebp - 0x140]
push 4
push eax
call sub.msvcrt.dll_fread
add esp, 0x1c
test eax, eax
je 0x1000c604
push ebx
push 1
lea eax, [ebp - 0x128]
push 4
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
test eax, eax
je 0x1000c604
cmp dword [ebp - 0x140], edi
jne 0x1000c4de
cmp dword [ebp - 0x128], edi
je 0x1000c604
push edi
push dword [ebp - 0x140]
push ebx
call sub.msvcrt.dll_fseek
push dword [ebp - 0x128]
call sub.msvcrt.dll_malloc
push dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
call sub.msvcrt.dll_malloc
push ebx
push dword [ebp - 0x128]
mov edi, eax
push 1
push dword [ebp - 0x12c]
call sub.msvcrt.dll_fread
add esp, 0x24
test eax, eax
jne 0x1000c530
cmp dword [ebp - 0x128], eax
jne 0x1000c623
lea eax, [ebp - 0x120]
push eax
call fcn.1000b72a
cmp byte [ebp - 0x121], 0
pop ecx
je 0x1000c5a5
xor ebx, ebx
and dword [ebp - 0x13c], ebx
cmp dword [ebp - 0x128], ebx
jbe 0x1000c5ba
mov eax, dword [ebp - 0x12c]
sub eax, edi
mov esi, edi
mov dword [ebp - 0x148], eax
jmp 0x1000c56e
mov eax, dword [ebp - 0x148]
mov al, byte [eax + esi]
xor al, byte [ebp + ebx - 0x120]
inc ebx
mov byte [esi], al
lea eax, [ebp - 0x120]
push eax
call sub.msvcrt.dll_strlen
cmp ebx, eax
pop ecx
jne 0x1000c58e
xor ebx, ebx
inc dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
inc esi
cmp eax, dword [ebp - 0x128]
jb 0x1000c568
jmp 0x1000c5ba
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push dword [ebp - 0x12c]
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x128]
pop ecx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edi
mov ecx, dword [ebp - 0x144]
and dword [ebp - 4], 0
lea eax, [ebp - 0x150]
push eax
add ecx, 0xd4
call fcn.1000c364
or dword [ebp - 4], 0xffffffff
push edi
call sub.msvcrt.dll_free
mov ebx, dword [ebp + 8]
pop ecx
xor edi, edi
inc dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
add dword [ebp - 0x138], 8
cmp eax, dword [ebp - 0x130]
jb 0x1000c485
mov al, 1
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.100112e6
leave
ret 4