Function at 0x492100
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x49233a
cmp byte [esi + 0x5c], 0x72
jne 0x49233a
mov eax, dword [esi + 0x38]
push edi
cmp eax, 0xfffffffd
je 0x492332
cmp eax, 0xffffffff
je 0x492332
cmp eax, 1
jne 0x49213f
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
mov edi, dword [ebp + 0x10]
mov eax, edi
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], edi
test edi, edi
je 0x492183
mov ecx, dword [esi + 0x6c]
cmp ecx, 0xffffffff
je 0x492183
mov byte [ebx], cl
inc ebx
dec dword [esi + 0x10]
inc dword [esi + 0xc]
inc dword [esi + 0x68]
cmp dword [esi + 0x70], 0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x6c], 0xffffffff
je 0x492183
pop edi
mov dword [esi + 0x38], 1
mov eax, 1
pop esi
pop ebx
pop ebp
ret
mov dword [ebp + 0xc], ebx
test eax, eax
je 0x492282
nop
cmp dword [esi + 0x58], 0
mov ecx, dword [esi + 4]
jne 0x4922ce
test ecx, ecx
jne 0x4921ef
cmp dword [esi + 0x3c], ecx
jne 0x4921ef
call fcn.0050d70f
mov dword [eax], 0
push dword [esi + 0x40]
push 0x4000
push 1
push dword [esi + 0x44]
call fcn.00522450
add esp, 0x10
mov dword [esi + 4], eax
test eax, eax
jne 0x4921e7
push dword [esi + 0x40]
mov dword [esi + 0x3c], 1
call fcn.00523998
add esp, 4
test eax, eax
jne 0x4922bc
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [esi + 0x10]
add dword [esi + 0x64], ecx
add dword [esi + 0x68], eax
push 0
push esi
call fcn.0048f4e0
mov ecx, dword [esi + 4]
add esp, 8
sub dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x10]
sub dword [esi + 0x68], ecx
mov dword [esi + 0x38], eax
cmp eax, 1
jne 0x49226e
mov eax, dword [esi + 0xc]
sub eax, ebx
push eax
push ebx
push dword [esi + 0x4c]
call fcn.004943b0
mov ebx, dword [esi + 0xc]
push esi
mov dword [esi + 0x4c], eax
call fcn.00491640
add esp, 0x10
cmp eax, dword [esi + 0x4c]
jne 0x4922c5
push esi
call fcn.00491640
push esi
call fcn.00491310
mov eax, dword [esi + 0x38]
add esp, 8
test eax, eax
jne 0x492282
push esi
call fcn.00490f00
push 0
push 0
push 0
call fcn.004943b0
mov dword [esi + 0x4c], eax
add esp, 0x10
mov eax, dword [esi + 0x38]
test eax, eax
jne 0x492282
cmp dword [esi + 0x3c], eax
jne 0x492282
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x492190
mov eax, dword [esi + 0xc]
sub eax, ebx
push eax
push ebx
push dword [esi + 0x4c]
call fcn.004943b0
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [esi + 0x4c], eax
cmp edi, ecx
jne 0x4922b3
mov eax, dword [esi + 0x38]
cmp eax, 0xfffffffd
je 0x492332
cmp eax, 0xffffffff
je 0x492332
sub edi, ecx
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
mov dword [esi + 0x38], 0xffffffff
jmp 0x492282
mov dword [esi + 0x38], 0xfffffffd
jmp 0x492282
cmp ecx, eax
mov ebx, eax
cmovbe ebx, ecx
test ebx, ebx
je 0x4922fc
push ebx
push dword [esi]
push dword [esi + 0xc]
call fcn.004ef620
mov edx, dword [ebp + 0xc]
add esp, 0xc
sub dword [esi + 0x10], ebx
add edx, ebx
add dword [esi], ebx
mov eax, dword [esi + 0x10]
sub dword [esi + 4], ebx
mov dword [esi + 0xc], edx
jmp 0x4922ff
mov edx, dword [ebp + 0xc]
test eax, eax
je 0x492318
push dword [esi + 0x40]
push eax
push 1
push edx
call fcn.00522450
add esp, 0x10
sub dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
sub edi, eax
add dword [esi + 0x64], edi
add dword [esi + 0x68], edi
test edi, edi
jne 0x4922b5
mov eax, edi
mov dword [esi + 0x3c], 1
pop edi
pop esi
pop ebx
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
pop ebp
ret
pop esi
mov eax, 0xfffffffe
pop ebx
pop ebp
ret