Function at 0x10006aa0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x10029300]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp]
mov eax, dword [edi]
push ecx
push 1
lea edx, [esp + 0x1c]
push 2
xor ebx, ebx
push edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebx
call fcn.1000e456
mov eax, dword [ebp]
push eax
push 1
lea ecx, [esp + 0x2c]
push 4
push ecx
mov dword [esp + 0x34], ebx
call fcn.1000e456
mov edx, dword [ebp]
push edx
push 1
lea eax, [esp + 0x3c]
push 4
push eax
mov dword [esp + 0x44], ebx
call fcn.1000e456
add esp, 0x30
cmp dword [esp + 0x38], 0x4d4d
jne 0x10006b3a
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [esp + 0x16]
mov esi, eax
mov edx, eax
shr esi, 0x18
and edx, 0xff00
shl edx, 8
shl eax, 0x18
or esi, ecx
or esi, edx
or eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [edi]
add eax, dword [esp + 0x14]
mov ecx, dword [ebp]
push ebx
push eax
push ecx
call fcn.1000ddaa
mov edx, dword [ebp]
push edx
push 1
lea eax, [esp + 0x27]
push 1
push eax
mov byte [esp + 0x2f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x2f]
push edx
push 1
lea eax, [esp + 0x37]
push 1
push eax
mov byte [esp + 0x4c], cl
mov byte [esp + 0x3f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x3f]
push edx
push 1
lea eax, [esp + 0x47]
push 1
push eax
mov byte [esp + 0x5d], cl
mov byte [esp + 0x4f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x4f]
push edx
push 1
lea eax, [esp + 0x57]
push 1
push eax
mov byte [esp + 0x6e], cl
mov byte [esp + 0x5f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x5f]
add esp, 0x4c
push edx
push 1
lea eax, [esp + 0x1b]
push 1
push eax
mov byte [esp + 0x33], cl
mov byte [esp + 0x23], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x23]
push edx
push 1
lea eax, [esp + 0x2b]
push 1
push eax
mov byte [esp + 0x44], cl
mov byte [esp + 0x33], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x33]
push edx
push 1
lea eax, [esp + 0x3b]
push 1
push eax
mov byte [esp + 0x55], cl
mov byte [esp + 0x43], bl
call fcn.1000e456
movzx ecx, byte [esp + 0x43]
mov edx, dword [ebp]
mov byte [esp + 0x56], cl
mov byte [esp + 0x43], bl
push edx
push 1
lea eax, [esp + 0x4b]
push 1
push eax
call fcn.1000e456
movzx ecx, byte [esp + 0x53]
add esp, 0x40
mov byte [esp + 0x27], cl
mov edi, str.PrintIM
lea esi, [esp + 0x20]
mov ecx, 8
xor edx, edx
mov byte [esp + 0x28], bl
repe cmpsb byte [esi], byte es:[edi]
jne 0x10006c80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1000c4f1
add esp, 0x20
ret
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp]
add eax, edx
push ebx
push eax
push ecx
mov dword [esp + 0x24], eax
call fcn.1000ddaa
mov edx, dword [ebp]
push edx
push 1
lea eax, [esp + 0x27]
push 1
push eax
mov byte [esp + 0x2f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x2f]
push edx
push 1
lea eax, [esp + 0x37]
push 1
push eax
mov byte [esp + 0x4c], cl
mov byte [esp + 0x3f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x3f]
push edx
push 1
lea eax, [esp + 0x47]
push 1
push eax
mov byte [esp + 0x5d], cl
mov byte [esp + 0x4f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x4f]
push edx
push 1
lea eax, [esp + 0x57]
push 1
push eax
mov byte [esp + 0x6e], cl
mov byte [esp + 0x5f], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x5f]
add esp, 0x4c
push edx
push 1
lea eax, [esp + 0x1b]
push 1
push eax
mov byte [esp + 0x33], cl
mov byte [esp + 0x23], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x23]
push edx
push 1
lea eax, [esp + 0x2b]
push 1
push eax
mov byte [esp + 0x44], cl
mov byte [esp + 0x33], bl
call fcn.1000e456
mov edx, dword [ebp]
movzx ecx, byte [esp + 0x33]
push edx
push 1
lea eax, [esp + 0x3b]
push 1
push eax
mov byte [esp + 0x55], cl
mov byte [esp + 0x43], bl
call fcn.1000e456
movzx ecx, byte [esp + 0x43]
mov byte [esp + 0x56], cl
mov byte [esp + 0x43], bl
mov edx, dword [ebp]
push edx
push 1
lea eax, [esp + 0x4b]
push 1
push eax
call fcn.1000e456
movzx ecx, byte [esp + 0x53]
add esp, 0x40
mov byte [esp + 0x27], cl
mov edi, str.PrintIM
lea esi, [esp + 0x20]
mov ecx, 8
xor edx, edx
mov byte [esp + 0x28], bl
repe cmpsb byte [esi], byte es:[edi]
jne 0x10006dce
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1000c4f1
add esp, 0x20
ret
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 2
call fcn.1000c4f1
add esp, 0x20
ret