Function at 0x460da0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x514
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x54bee8]
mov byte [ebp - 0x314], al
push 0x103
push 0
lea ecx, [ebp - 0x313]
push ecx
call fcn.004b6780
add esp, 0xc
mov dword [ebp - 0x4e0], 0
cmp dword [0x54beb8], 0
je 0x460e00
mov edx, dword [0x54beb8]
push edx
call fcn.004b6bd9
add esp, 4
mov dword [0x54beb8], 0
push 0x1861480
push 0x5c
mov eax, dword [0x4f9928]
imul eax, eax, 0x127c
add eax, 0x14b6412
push eax
push 0x5c
push 0x4f93d8
push 0x4e83c0
lea ecx, [ebp - 0x314]
push ecx
call fcn.004b6e08
add esp, 0x1c
cmp dword [0x54e958], 1
jne 0x460e5e
cmp dword [0x54e964], 0
je 0x460e5e
push 0x526f50
push 0x4e83d4
lea edx, [ebp - 0x314]
push edx
call fcn.004b6e08
add esp, 0xc
cmp dword [0x527380], 0
jne 0x460e73
movsx eax, word [0x186eeca]
cmp eax, 1
jne 0x460e9e
push 0x5c
push 0x1861480
push 0x5c
push 0x4f93d8
call fcn.0042b620
add esp, 4
push eax
push 0x4e83e0
lea ecx, [ebp - 0x314]
push ecx
call fcn.004b6e08
add esp, 0x18
push 0x4e83f4
lea edx, [ebp - 0x314]
push edx
call fcn.0041a470
add esp, 8
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e0], 0
je 0x46156e
xor eax, eax
mov word [ebp - 0x4f4], ax
xor ecx, ecx
mov word [ebp - 0x4ec], cx
xor edx, edx
mov word [ebp - 0x4f0], dx
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x508], 0
mov al, byte [0x54bee9]
mov byte [ebp - 0x414], al
push 0xfe
push 0
lea ecx, [ebp - 0x413]
push ecx
call fcn.004b6780
add esp, 0xc
mov dl, byte [0x54beea]
mov byte [ebp - 0x110], dl
push 0xfe
push 0
lea eax, [ebp - 0x10f]
push eax
call fcn.004b6780
add esp, 0xc
mov cl, byte [0x54beeb]
mov byte [ebp - 0x210], cl
push 0xff
push 0
lea edx, [ebp - 0x20f]
push edx
call fcn.004b6780
add esp, 0xc
mov al, byte [0x54beec]
mov byte [ebp - 0x10], al
xor ecx, ecx
mov dword [ebp - 0xf], ecx
mov dword [ebp - 0xb], ecx
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x504], 0
push 0xc8
push 0
lea edx, [ebp - 0x4dc]
push edx
call fcn.004b6780
add esp, 0xc
mov eax, dword [ebp - 0x4e0]
push eax
push 1
push 2
lea ecx, [ebp - 0x4f4]
push ecx
call fcn.004b8e47
add esp, 0x10
mov edx, dword [ebp - 0x4e0]
push edx
push 1
push 2
lea eax, [ebp - 0x4ec]
push eax
call fcn.004b8e47
add esp, 0x10
mov ecx, dword [ebp - 0x4e0]
push ecx
push 1
push 4
push 0x54bebc
call fcn.004b8e47
add esp, 0x10
mov edx, dword [ebp - 0x4e0]
push edx
push 1
push 2
push 0x54beb0
call fcn.004b8e47
add esp, 0x10
mov eax, dword [ebp - 0x4e0]
push eax
push 1
push 2
push 0x4e7c1c
call fcn.004b8e47
add esp, 0x10
movsx ecx, word [ebp - 0x4f4]
and ecx, 0xff
jne 0x461090
mov dword [ebp - 0x508], 1
lea edx, [ebp - 0x4ec]
push edx
call fcn.00412080
add esp, 4
push 0x54bebc
call fcn.00411ff0
add esp, 4
push 0x54beb0
call fcn.00412080
add esp, 4
push 0x4e7c1c
call fcn.00412080
add esp, 4
mov eax, dword [ebp - 0x4e0]
push eax
push 1
push 8
lea ecx, [ebp - 0x10]
push ecx
call fcn.004b8e47
add esp, 0x10
mov edx, 1
shl edx, 3
mov dword [ebp - 0x50c], edx
cmp dword [ebp - 0x50c], 9
jae 0x4610c0
jmp 0x4610c5
call fcn.004b64ae
mov eax, dword [ebp - 0x50c]
mov byte [ebp + eax - 0x10], 0
movsx ecx, word [ebp - 0x4ec]
mov dword [0x54beb4], ecx
mov edx, dword [0x54beb4]
shl edx, 2
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
push eax
call fcn.004b6c11
add esp, 4
mov dword [0x54beb8], eax
cmp dword [0x54beb8], 0
je 0x461174
mov ecx, dword [ebp - 0x4e0]
push ecx
push 1
mov edx, dword [ebp - 0x504]
push edx
mov eax, dword [0x54beb8]
push eax
call fcn.004b8e47
add esp, 0x10
cmp dword [ebp - 0x508], 0
je 0x461174
mov dword [ebp - 0x4e8], 0
jmp 0x46114b
mov ecx, dword [ebp - 0x4e8]
add ecx, 1
mov dword [ebp - 0x4e8], ecx
movsx edx, word [ebp - 0x4ec]
cmp dword [ebp - 0x4e8], edx
jge 0x461174
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [0x54beb8]
lea edx, [ecx + eax*4]
push edx
call fcn.00411ff0
add esp, 4
jmp 0x46113c
movsx eax, word [0x4e7c1c]
movsx ecx, word [0x54beb0]
lea edx, [eax + ecx - 1]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [0x54beb4]
jl 0x4611ae
mov ecx, dword [ebp - 0x4e4]
sub ecx, dword [0x54beb4]
mov dword [ebp - 0x4e4], ecx
jmp 0x46118c
mov dword [ebp - 0x4e8], 0
jmp 0x4611c9
mov edx, dword [ebp - 0x4e8]
add edx, 1
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4e8]
cmp eax, dword [0x54beb4]
jge 0x461555
mov ecx, dword [ebp - 0x4e4]
add ecx, 1
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
cmp edx, dword [0x54beb4]
jl 0x461202
mov dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [0x54beb8]
cmp dword [ecx + eax*4], 0
jne 0x461216
jmp 0x4611ba
mov edx, dword [ebp - 0x4e4]
mov eax, dword [0x54beb8]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x510], ecx
push 0
mov edx, dword [ebp - 0x510]
push edx
mov eax, dword [ebp - 0x4e0]
push eax
call fcn.004b8f82
add esp, 0xc
mov ecx, dword [ebp - 0x4e0]
push ecx
push 1
push 0x14
lea edx, [ebp - 0x4dc]
push edx
call fcn.004b8e47
add esp, 0x10
push 0
push 3
lea eax, [ebp - 0x4dc]
push eax
call fcn.00411510
add esp, 0xc
movsx ecx, word [ebp - 0x4d8]
push ecx
movsx edx, word [ebp - 0x4da]
push edx
movsx eax, word [ebp - 0x4dc]
push eax
push 0x4e83f8
lea ecx, [ebp - 0x414]
push ecx
call fcn.004b6e08
add esp, 0x14
movsx edx, word [ebp - 0x4dc]
cmp edx, 0x802
jg 0x4612e9
movsx eax, word [ebp - 0x4da]
cmp eax, 0xc
jg 0x4612e9
movsx ecx, word [ebp - 0x4d8]
cmp ecx, 0x1f
jg 0x4612e9
movsx edx, word [ebp - 0x4dc]
cmp edx, 0x76c
jl 0x4612e9
movsx eax, word [ebp - 0x4da]
cmp eax, 1
jl 0x4612e9
movsx ecx, word [ebp - 0x4d8]
cmp ecx, 1
jge 0x4612ee
jmp 0x4611ba
mov edx, dword [ebp - 0x4e0]
push edx
push 1
push 4
lea eax, [ebp - 0x4fc]
push eax
call fcn.004b8e47
add esp, 0x10
mov ecx, dword [ebp - 0x4e0]
push ecx
push 1
push 4
lea edx, [ebp - 0x500]
push edx
call fcn.004b8e47
add esp, 0x10
cmp dword [ebp - 0x508], 0
je 0x461349
lea eax, [ebp - 0x4fc]
push eax
call fcn.00411ff0
add esp, 4
lea ecx, [ebp - 0x500]
push ecx
call fcn.00411ff0
add esp, 4
cmp dword [ebp - 0x4fc], 0
jle 0x461360
cmp dword [ebp - 0x500], 0x2c
jg 0x461360
jmp 0x4611ba
lea edx, [ebp - 0x414]
push edx
lea eax, [ebp - 0x4f0]
push eax
call fcn.00480e80
add esp, 8
lea ecx, [ebp - 0x414]
push ecx
movzx edx, word [ebp - 0x4f0]
push edx
call fcn.004818f0
add esp, 8
lea eax, [ebp - 0x4d6]
push eax
lea ecx, [ebp - 0x414]
push ecx
push 0x4e8408
lea edx, [ebp - 0x110]
push edx
call fcn.004b6e08
add esp, 0x10
mov eax, dword [ebp - 0x4cc]
and eax, 0xff
imul eax, eax, 0x59
add eax, 0x81dfd4
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.004b5e70
add esp, 8
movsx edx, word [ebp - 0x4d0]
test edx, edx
je 0x4614a5
movsx eax, word [ebp - 0x4ce]
test eax, eax
je 0x4614a5
push 0x4e8414
lea ecx, [ebp - 0x110]
push ecx
call fcn.004b5e70
add esp, 8
push 1
push 0
movsx edx, word [ebp - 0x4ce]
push edx
movsx eax, word [ebp - 0x4d0]
push eax
mov ecx, dword [ebp - 0x4cc]
and ecx, 0xff
push ecx
lea edx, [ebp - 0x210]
push edx
call fcn.004376d0
add esp, 0x18
push 0x3a
lea eax, [ebp - 0x210]
push eax
call fcn.004b95a0
add esp, 8
test eax, eax
je 0x46147f
push 0x3a
lea ecx, [ebp - 0x210]
push ecx
call fcn.004b95a0
add esp, 8
add eax, 2
push eax
lea edx, [ebp - 0x110]
push edx
call fcn.004b5f60
add esp, 4
lea eax, [ebp + eax - 0x110]
push eax
call fcn.004b5e60
add esp, 8
jmp 0x4614a5
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x110]
push edx
call fcn.004b5f60
add esp, 4
lea eax, [ebp + eax - 0x110]
push eax
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp - 0x4cc]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov dword [ebp - 0x514], eax
push 0x4e8418
lea ecx, [ebp - 0x210]
push ecx
call fcn.004b5e60
add esp, 8
mov dword [ebp - 0x4f8], 1
jmp 0x4614ec
mov edx, dword [ebp - 0x4f8]
add edx, 1
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4f8]
cmp eax, dword [ebp - 0x514]
jge 0x461510
push 0x4e841c
lea ecx, [ebp - 0x210]
push ecx
call fcn.004b5e70
add esp, 8
jmp 0x4614dd
lea edx, [ebp - 0x210]
push edx
lea eax, [ebp - 0x110]
push eax
call fcn.004b5f60
add esp, 4
lea ecx, [ebp + eax - 0x110]
push ecx
call fcn.004b5e60
add esp, 8
lea edx, [ebp - 0x110]
push edx
push 0
push 0x180
mov eax, dword [ebp + 8]
push eax
call fcn.0049ff80
add esp, 0x10
jmp 0x4611ba
mov ecx, dword [ebp - 0x4e0]
push ecx
call fcn.00419ca0
add esp, 4
mov dword [ebp - 0x4e0], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret