Function at 0x10001bec
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x10023040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x34], edx
push 0x10020f44
xor ebx, ebx
lea eax, [ebp - 0x28]
push esi
push eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
call fcn.1000b44b
add esp, 0xc
cmp dword [ebp - 0x28], ebx
je 0x10001e40
push 2
push ebx
push dword [ebp - 0x28]
call fcn.1000b8d0
push dword [ebp - 0x28]
call fcn.100068ac
push dword [ebp - 0x28]
mov edi, eax
mov dword [ebp - 0x38], edi
call fcn.1000b5b7
push 0x10020f44
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.1000b44b
xor ecx, ecx
mov eax, edi
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.1000c1be
push dword [ebp - 0x28]
mov ebx, eax
push 1
push edi
push ebx
mov dword [ebp - 0x3c], ebx
call fcn.1000bdfd
push 6
mov byte [ebx + edi], 0
lea esi, [ebx + 2]
pop ecx
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
push 0x18
pop ecx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
mov edx, ecx
lea ecx, [ebp - 0x1c]
push eax
call fcn.10002aad
push 0x10
mov edi, eax
push 0
push edi
call fcn.1000b1fd
add esp, 0x44
mov esi, eax
push edi
call fcn.1000bc09
pop ecx
cmp esi, 1
je 0x10001cc6
push 2
pop eax
jmp 0x10001e43
push 6
pop ecx
push 0x32
lea esi, [ebx + 0x1a]
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
pop edi
push 0x18
pop edx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], edi
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
call fcn.10002aad
push 0x10
mov edi, eax
push 0
push edi
call fcn.1000b1fd
push edi
mov esi, eax
call fcn.1000bc09
mov ecx, dword [ebp - 0x38]
add esp, 0x14
add ecx, 0xfffffffe
cmp esi, ecx
je 0x10001d0e
push 3
jmp 0x10001cc0
push 0x10020f4c
push dword [ebp - 0x34]
lea eax, [ebp - 0x24]
push eax
call fcn.1000b44b
add esp, 0xc
cmp dword [ebp - 0x24], 0
jne 0x10001d2c
push 4
jmp 0x10001cc0
xor ebx, ebx
push 0x32
mov dword [ebp - 0x38], ebx
pop edi
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
push 6
add esi, edi
lea edi, [ebp - 0x1c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x30]
push 0x18
pop ecx
add edi, ecx
mov dword [ebp - 0x2c], ecx
mov edx, ecx
mov dword [ebp - 0x30], edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.10002aad
push 0x10
mov esi, eax
push 0
push esi
call fcn.1000b1fd
push esi
mov dword [ebp - 0x34], eax
call fcn.1000bc09
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
push 6
add esi, edi
lea edi, [ebp - 0x1c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x30]
push 0x18
pop ecx
add edi, ecx
mov dword [ebp - 0x2c], ecx
mov edx, ecx
mov dword [ebp - 0x30], edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.10002aad
push 0x10
mov esi, eax
push 0
push esi
call fcn.1000b1fd
push esi
mov dword [ebp - 0x44], eax
call fcn.1000bc09
push dword [ebp - 0x34]
call fcn.1000c1be
mov edx, dword [ebp - 0x34]
add esp, 0x2c
xor esi, esi
mov dword [ebp - 0x40], eax
test edx, edx
jle 0x10001de2
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov cl, byte [eax + edi]
mov byte [esi + ebx], cl
inc esi
inc edi
cmp esi, edx
jl 0x10001dcd
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
push ecx
mov ecx, eax
call fcn.10002aad
push dword [ebp - 0x40]
mov esi, eax
call fcn.1000bc09
push dword [ebp + ebx*4 - 0x24]
push 1
push dword [ebp - 0x2c]
push esi
call fcn.1000bbcf
push esi
call fcn.1000bc09
push dword [ebp + ebx*4 - 0x24]
call fcn.1000b5b7
mov eax, dword [ebp - 0x44]
add esp, 0x20
cmp eax, dword [ebp - 0x2c]
jne 0x10001e3b
inc ebx
mov dword [ebp - 0x38], ebx
cmp ebx, 1
jl 0x10001d34
push dword [ebp - 0x28]
call fcn.1000b5b7
pop ecx
jmp 0x10001e43
lea eax, [ebx + 5]
jmp 0x10001e43
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100031d5
leave
ret