Function at 0x5483c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x20], 1
xor edi, edi
mov dword [ebp - 8], ebx
xor esi, esi
mov dword [ebp - 0xc], 9
mov dword [ebp - 0x10], 0x1ff
test eax, eax
jle 0x548449
push eax
call fcn.00593e38
mov ebx, eax
add esp, 4
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x548442
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp + 0x14]
push 1
push ebx
call fcn.00595b79
mov edx, eax
add esp, 0x10
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], edx
cmp word [eax + 0x4a], 2
jne 0x548442
xor ecx, ecx
test edx, edx
je 0x548442
jmp 0x548430
movzx eax, byte [ecx + ebx]
mov al, byte [eax + 0x5d1f28]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edx
jb 0x548430
mov edx, ebx
mov dword [ebp - 4], ebx
jmp 0x54844f
mov edx, dword [ebp + 0x10]
mov dword [ebp - 4], edx
cmp dword [ebp + 0x10], esi
jle 0x548719
test ebx, ebx
je 0x548483
movzx eax, byte [edx]
add edi, 8
mov ecx, dword [ebp - 0xc]
inc edx
shl esi, 8
or esi, eax
mov dword [ebp - 4], edx
cmp edi, ecx
jge 0x5484dd
movzx eax, byte [edx]
inc edx
shl esi, 8
or esi, eax
mov dword [ebp - 4], edx
add edi, 8
jmp 0x5484dd
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00597fff
mov ebx, dword [ebp + 0x18]
add esp, 4
cmp word [ebx + 0x4a], 2
jne 0x5484a1
movzx eax, byte [eax + 0x5d1f28]
shl esi, 8
add edi, 8
movzx eax, al
or esi, eax
cmp edi, dword [ebp - 0xc]
jge 0x5484d7
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00597fff
add esp, 4
cmp word [ebx + 0x4a], 2
jne 0x5484cc
movzx eax, byte [eax + 0x5d1f28]
shl esi, 8
movzx eax, al
or esi, eax
add edi, 8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
sub edi, ecx
mov eax, esi
mov ecx, edi
sar eax, cl
and eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
movzx ebx, ax
mov eax, 0x101
cmp bx, ax
je 0x54871c
test ecx, ecx
je 0x54850d
mov eax, dword [ebp + 0x14]
add eax, ecx
cmp edx, eax
jae 0x54871c
cmp word [ebp - 0x20], 0
mov eax, 0x100
je 0x548522
cmp bx, ax
jne 0x548712
mov dword [ebp - 0x20], 0
cmp bx, ax
jne 0x548620
mov ebx, dword [ebp + 0x18]
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.00548ab0
mov eax, dword [ebx + 0xa0]
add esp, 8
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], 9
mov dword [ebp - 0x10], 0x1ff
lea ecx, [eax + 0x810]
add eax, 0xff0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x54858e
mov ecx, dword [ebp - 4]
add edi, 8
shl esi, 8
movzx eax, byte [ecx]
inc ecx
or esi, eax
mov dword [ebp - 4], ecx
cmp edi, 9
jge 0x5485e5
movzx eax, byte [ecx]
inc ecx
mov dword [ebp - 4], ecx
jmp 0x5485dd
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00597fff
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp word [ecx + 0x4a], 2
jne 0x5485ac
movzx eax, byte [eax + 0x5d1f28]
shl esi, 8
add edi, 8
movzx eax, al
or esi, eax
cmp edi, 9
jge 0x5485e5
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00597fff
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp word [ecx + 0x4a], 2
jne 0x5485da
movzx eax, byte [eax + 0x5d1f28]
movzx eax, al
shl esi, 8
or esi, eax
add edi, 8
sub edi, 9
mov eax, esi
mov ecx, edi
sar eax, cl
mov ecx, 0x101
and eax, 0x1ff
cmp ax, cx
je 0x548719
mov edx, dword [ebp + 0xc]
mov ecx, eax
mov byte [edx], al
inc edx
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], edx
mov eax, dword [eax + 0xa0]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0x1c], ecx
jmp 0x5486ff
mov eax, dword [ebp + 0x18]
mov ecx, ebx
mov eax, dword [eax + 0xa0]
lea edx, [eax + ecx*8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ecx], eax
mov al, byte [eax + 7]
mov byte [ecx + 7], al
mov eax, dword [ebp - 0x1c]
mov ax, word [eax + 4]
inc ax
mov word [ecx + 4], ax
cmp edx, ecx
jae 0x548653
movzx eax, byte [edx + 7]
jmp 0x548657
movzx eax, byte [ecx + 7]
mov byte [ecx + 6], al
add ecx, 8
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x18]
jbe 0x5486b4
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0xc
jle 0x54868d
mov eax, dword [ebp - 0x18]
add eax, 0x2000
mov dword [ebp - 0xc], 0xc
cmp ecx, eax
cmova ecx, eax
mov eax, 0xc
mov dword [ebp - 0x14], ecx
mov ecx, eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x10]
shl eax, cl
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0xa0]
lea eax, [eax + ecx*8]
add eax, 0xfffffff8
mov dword [ebp - 0x18], eax
mov eax, 0x100
mov dword [ebp - 0x1c], edx
cmp bx, ax
jb 0x5486f3
movzx eax, word [edx + 4]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
add eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, eax
mov al, byte [edx + 6]
dec ecx
mov byte [ecx], al
mov edx, dword [edx]
test edx, edx
je 0x5486e2
cmp ecx, ebx
ja 0x5486d2
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
sub edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 8]
mov dword [ebp + 0xc], eax
jmp 0x548703
mov eax, dword [ebp + 0xc]
mov byte [eax], bl
inc eax
mov ebx, dword [ebp - 8]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp + 0x10]
dec edx
mov dword [ebp + 0x10], edx
test edx, edx
jle 0x548719
mov edx, dword [ebp - 4]
jmp 0x548458
mov ebx, 9
jmp 0x54871e
mov ecx, dword [ebp - 8]
xor ebx, ebx
test ecx, ecx
je 0x54872b
push ecx
call fcn.00592c4b
add esp, 4
pop edi
pop esi
mov ax, bx
pop ebx
mov esp, ebp
pop ebp
ret