Function at 0x41cb73
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jb 0x41cb89
xor eax, eax
jmp 0x41ce29
cmp dword [esi + 0x2d4], 0
je 0x41cb82
lea eax, [esi + 0xc]
push 0x45e98c
push eax
call fcn.0042ac8a
pop ecx
pop ecx
mov dword [ebp - 4], eax
test eax, eax
je 0x41cb82
mov eax, dword [esi + 0x2cc]
push ebx
push edi
mov edi, dword [esi + 0x2d4]
add edi, eax
mov dword [esi + 0x2d0], eax
cmp dword [edi], 0x2014b50
jne 0x41cd40
mov ebx, dword [ebp + 0xc]
movzx eax, word [edi + 0x1c]
push eax
lea eax, [edi + 0x2e]
push eax
push ebx
call fcn.0042ae70
movzx eax, word [edi + 0x1c]
mov byte [eax + ebx], 0
movzx eax, word [edi + 0x1c]
add esp, 0xc
cmp byte [eax + ebx - 1], 0x2f
je 0x41cbfe
movzx eax, word [edi + 0x1c]
cmp byte [eax + ebx - 1], 0x5c
jne 0x41cc47
add dword [esi + 0x2cc], 0x2e
movzx ecx, word [edi + 0x1e]
mov eax, dword [esi + 0x2cc]
add eax, ecx
mov dword [esi + 0x2cc], eax
movzx ecx, word [edi + 0x1c]
add eax, ecx
mov dword [esi + 0x2cc], eax
movzx ecx, word [edi + 0x20]
add ecx, eax
inc dword [esi + 4]
mov dword [esi + 0x2cc], ecx
mov edi, dword [esi + 0x2d4]
add edi, ecx
cmp dword [edi], 0x2014b50
je 0x41cbce
jmp 0x41cd40
push 0
push dword [edi + 0x2a]
push dword [ebp - 4]
call fcn.0043099a
push dword [ebp - 4]
lea eax, [esi + 0x264]
push 1
push 0x1e
push eax
call fcn.004311af
add esp, 0x1c
cmp dword [esi + 0x264], 0x4034b50
jne 0x41cd40
movzx ecx, word [esi + 0x27e]
movzx eax, word [esi + 0x280]
add eax, ecx
cmp dword [ebp + 0x10], 0
mov ecx, dword [edi + 0x2a]
lea eax, [eax + ecx + 0x1e]
mov dword [ebp + 0xc], eax
je 0x41ccd2
push 0x2f
push ebx
call fcn.0042e530
jmp 0x41ccaf
push 0x2f
push ebx
mov byte [eax], 0x5c
call fcn.004313e0
pop ecx
pop ecx
test eax, eax
jne 0x41cca4
push ebx
push dword [ebp + 8]
mov ecx, esi
call fcn.0041cb46
lea eax, [esi + 0x138]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0040dc40
jmp 0x41cd0c
push ebx
lea eax, [esi + 0x138]
push 0x45e9a8
push eax
call fcn.0041c42e
push 0x2f
push ebx
call fcn.0042e530
add esp, 0x14
test eax, eax
jne 0x41ccf5
mov eax, ebx
push 0x2e
push eax
call fcn.0042e530
pop ecx
pop ecx
test eax, eax
je 0x41cd0e
push eax
push dword [ebp + 8]
call fcn.00428ac0
pop ecx
pop ecx
xor ebx, ebx
cmp word [esi + 0x26c], bx
jne 0x41cdc3
push ebx
push dword [ebp + 0xc]
push dword [ebp - 4]
call fcn.0043099a
push 0x45e9a4
push dword [ebp + 8]
call fcn.0042ac8a
add esp, 0x14
mov dword [ebp + 0x10], eax
cmp eax, ebx
jne 0x41cd48
push dword [ebp - 4]
jmp 0x41cde0
mov dword [ebp + 8], ebx
mov ebx, 0xa000
push ebx
call fcn.00429ad5
cmp dword [esi + 0x276], 0
pop ecx
mov dword [ebp + 0xc], eax
jbe 0x41cda6
mov eax, dword [esi + 0x276]
sub eax, dword [ebp + 8]
cmp eax, ebx
jbe 0x41cd72
mov eax, ebx
push dword [ebp - 4]
push eax
push 1
push dword [ebp + 0xc]
call fcn.004311af
add esp, 0x10
test eax, eax
je 0x41cda6
push dword [ebp + 0x10]
add dword [ebp + 8], eax
push 1
push eax
push dword [ebp + 0xc]
call fcn.00430820
mov eax, dword [ebp + 8]
add esp, 0x10
cmp eax, dword [esi + 0x276]
jb 0x41cd63
push dword [ebp + 0x10]
call fcn.0042a9b7
push dword [ebp - 4]
call fcn.0042a9b7
push dword [ebp + 0xc]
call fcn.0042892c
add esp, 0xc
jmp 0x41cdf0
push dword [ebp + 8]
mov ecx, esi
push dword [esi + 0x276]
push dword [ebp + 0xc]
push dword [ebp - 4]
call fcn.0041c68a
push dword [ebp - 4]
test al, al
jne 0x41cdea
call fcn.0042a9b7
pop ecx
xor eax, eax
jmp 0x41ce27
call fcn.0042a9b7
pop ecx
add dword [esi + 0x2cc], 0x2e
movzx ecx, word [edi + 0x1e]
mov eax, dword [esi + 0x2cc]
add eax, ecx
mov dword [esi + 0x2cc], eax
movzx ecx, word [edi + 0x1c]
add eax, ecx
mov dword [esi + 0x2cc], eax
movzx ecx, word [edi + 0x20]
add ecx, eax
inc dword [esi + 4]
xor eax, eax
inc eax
mov dword [esi + 0x2cc], ecx
pop edi
pop ebx
pop esi
leave
ret 0xc