Function at 0x490eb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d3200
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x2c], edi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp + 8], ebx
je 0x490f39
lea esi, [edi + 0x7d]
mov ecx, esi
call fcn.00437d00
test eax, eax
je 0x490fb4
mov eax, dword [esi]
push 0x5dfa3c
push eax
call fcn.0051ff0f
add esp, 8
mov dword [ebp - 0x18], eax
cmp eax, ebx
jne 0x490f26
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push eax
push 8
push 1
lea edx, [ebp - 0x34]
push edx
call fcn.0051fa1f
add esp, 0x10
jmp 0x490f5d
mov eax, dword [edi + 0x85]
cmp eax, ebx
je 0x490f11
cmp dword [edi + 0x89], ebx
jle 0x490f11
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x30], edx
add dword [edi + 0x8d], 8
push 8
push ebx
lea eax, [ebp - 0x34]
push eax
call fcn.004ab310
add esp, 0xc
test eax, eax
jne 0x490f0c
push ebx
push ebx
push ebx
push 0x5e6088
call fcn.004ab1e0
add esp, 0x10
lea esi, [edi + 0x11e]
mov dword [esi], eax
cmp eax, ebx
jne 0x490f96
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
jmp 0x490f11
push eax
call fcn.004acff0
add esp, 4
mov dword [edi + 0x122], eax
cmp eax, ebx
jne 0x490fbe
push ebx
push ebx
push esi
call fcn.004ab210
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
jmp 0x490f11
mov dword [ebp - 4], ebx
wait
cmp dword [ebp + 8], ebx
jne 0x490fda
push 0x48f070
push edi
mov ecx, dword [esi]
push ecx
call fcn.004b3c50
add esp, 0xc
jmp 0x490fe9
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [esi]
push eax
call fcn.004ab9d0
add esp, 8
push 8
mov ecx, dword [esi]
push ecx
call fcn.004ab2e0
mov edx, dword [edi + 0x122]
push edx
mov eax, dword [esi]
push eax
call fcn.004a9d00
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x24]
push edx
mov ebx, dword [ebp + 0x14]
push ebx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [edi + 0x122]
push ecx
mov edx, dword [esi]
push edx
call fcn.004ae350
add esp, 0x34
cmp dword [ebp - 0x24], 0x10
jne 0x491038
mov eax, dword [esi]
push eax
call fcn.004aeb10
add esp, 4
cmp dword [ebp - 0x20], 3
jne 0x491049
mov ecx, dword [esi]
push ecx
call fcn.004af680
add esp, 4
cmp dword [ebp - 0x24], 8
jge 0x49105a
mov edx, dword [esi]
push edx
call fcn.004af680
add esp, 4
push 0x10
mov eax, dword [edi + 0x122]
push eax
mov ecx, dword [esi]
push ecx
call fcn.004ad8f0
add esp, 0xc
test eax, eax
je 0x49107d
mov edx, dword [esi]
push edx
call fcn.004af680
add esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x491089
cmp eax, 4
jne 0x491094
mov eax, dword [esi]
push eax
call fcn.004af710
add esp, 4
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [edi + 0x122]
push edx
mov eax, dword [esi]
push eax
call fcn.004ae030
add esp, 0xc
test eax, eax
je 0x4910ce
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 2]
mov eax, dword [ebp + 0x1c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 4]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 6]
mov byte [eax + 2], dl
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [edi + 0x122]
push ecx
mov edx, dword [esi]
push edx
call fcn.004ae210
add esp, 0xc
test eax, eax
je 0x491106
sub esp, 0x10
fld qword [ebp - 0x3c]
fstp qword [esp + 8]
fld qword [0x5e6080]
fstp qword [esp]
mov eax, dword [esi]
push eax
call fcn.004af640
add esp, 0x14
mov ecx, dword [edi + 0x122]
push ecx
mov edx, dword [esi]
push edx
call fcn.004aa280
push 0
push 0
push 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x24]
push ecx
push ebx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [edi + 0x122]
push eax
mov ecx, dword [esi]
push ecx
call fcn.004ae350
mov edx, dword [edi + 0x122]
push edx
mov eax, dword [esi]
push eax
call fcn.004ad910
mov ebx, eax
mov dword [ebp + 0x10], ebx
mov ecx, dword [edi + 0x122]
push ecx
mov edx, dword [esi]
push edx
call fcn.004adff0
movzx eax, al
mov dword [ebp + 0x1c], eax
mov ecx, dword [ebp + 0x18]
mov byte [ecx], al
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
imul eax, ebx
push eax
call fcn.0051f5e5
add esp, 0x40
mov ebx, eax
test ebx, ebx
jne 0x491189
push 0x5e6060
mov ecx, dword [esi]
push ecx
call fcn.004ad790
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
add ecx, ecx
add ecx, ecx
push ecx
call fcn.0051f5e5
add esp, 4
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x4911b6
push 0x5e6060
mov edx, dword [esi]
push edx
call fcn.004ad790
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 0x14]
cmp eax, dword [edx]
jge 0x4911d0
mov edx, eax
imul edx, dword [ebp + 0x10]
add edx, ebx
mov dword [ecx + eax*4], edx
inc eax
jmp 0x4911b8
push ecx
mov eax, dword [edi + 0x11e]
push eax
call fcn.004aa840
push 0
mov ecx, dword [edi + 0x11e]
push ecx
call fcn.004aa900
mov edx, dword [ebp - 0x14]
push edx
call fcn.0051d4db
add esp, 0x14
mov dword [ebp - 0x14], 0
cmp dword [ebp + 8], 0
je 0x491210
mov eax, dword [ebp - 0x18]
push eax
call fcn.0051fab3
add esp, 4
wait
mov dword [ebp - 4], 0xffffffff
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18