Function at 0x54ac37
Capabilities:
Read file on windows

Disassembly:
jge 0x51365c
cmp byte [esi + 0x12828], 0
jmp 0x5706ed
push 0x20
jmp 0x517be0
call fcn.004062c8
add esp, 8
jmp 0x5348f5
mov dword [esi + 0x1283c], ecx
jmp 0x53f1cc
call fcn.00401d60
mov eax, dword [esp + 0x18]
jmp 0x52b71e
push ebx
jmp 0x51999a
jl 0x5481fe
mov eax, dword [esi + 0x14]
bsr di, sp
rcr di, 0x1f
bswap di
mov edi, dword [esp + 0x1c]
cmp edi, eax
jmp 0x56cf97
jne 0x51631c
sub ebx, ebx
jmp 0x54a63d
call fcn.00560568
mov ebp, dword [esp + 0x18]
test ebp, 0x2505763f
sub ebp, eax
lea ebp, [ebp - 1]
add ebx, 0xffffff03
test esi, 0x4e9d2154
test esi, esp
jmp 0x582161
jmp 0x53f1d6
ret
je 0x5430da
call fcn.00509209
mov edx, esi
jmp 0x56e5ee
cmp ebp, eax
jmp 0x54a62d
mov dword [edi + 8], eax
jmp 0x53e880
push eax
jmp 0x56e3df
mov byte [eax], bl
cmc
clc
add eax, 1
jmp 0x51667b
call fcn.004062c8
add esp, 8
jmp 0x58657a
je 0x58725f
mov ecx, dword [edi + 0xc]
test sp, dx
sub ecx, eax
cmp edx, ecx
jmp 0x5700bc
mov byte [esp + 0x17], bl
jne 0x5228b2
sub edx, edx
jmp 0x5271ff
mov dword [esi + 0x14], eax
cmp edi, dword [esi + 0xc]
jmp 0x5430d4
mov edx, dword [edi + 8]
cmp ebx, esi
test ebp, 0x37d83ea9
sub edx, eax
test esi, edx
test ebp, 0x108b4acf
test eax, eax
jmp 0x5203b1
mov eax, dword [esi + 0x12830]
test eax, eax
lea edi, [esi + 0x1282c]
jmp 0x52d8c6
jmp 0x5228c7
mov byte [esi + eax + 0x18], bl
add eax, 1
and eax, 0xfff
add dword [esp + 0x1c], 1
jmp 0x553076
je 0x5664c3
mov ecx, dword [edi + 0xc]
test dx, di
sub ecx, eax
cmp edx, ecx
jmp 0x562683
mov byte [esp + 0x17], bl
jne 0x56c248
xor edx, edx
jmp 0x5325a4
jmp 0x56c24d
jmp 0x503e2f
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], eax
jmp 0x5481e2
mov dword [esp + 0x18], eax
ror ax, cl
xadd ah, al
mov eax, dword [esp + 0x28]
add eax, 1
clc
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
jmp 0x50afc3
mov eax, dword [esi + 0x12848]
sal dh, cl
shld ecx, ecx, 0x9a
mov edx, dword [esi + 0x12840]
sar ch, 0xc1
neg cx
rcr ecx, 0x8d
mov ecx, dword [eax + edx]
cmc
add eax, 4
test dl, bl
cmp al, 0xc4
mov dword [esi + 0xc], ecx
jmp 0x50318f
jmp 0x55ca73
mov dword [esi + 0x12848], eax
stc
test ah, 0x5e
cmp dword [esi + 0xc], 0
jmp 0x5159d1
push edi
jmp 0x54fb5c
push eax
call fcn.004067da
add esp, 0x10
jmp 0x51485d
jb 0x578b79
pop edi
shl esi, 0xec
pop esi
pop ebp
sar bx, 0x81
pop ebx
add esp, 0x34
jmp 0x5150b8
cmp eax, ebp
jmp 0x55f356
push eax
jmp 0x5840dd
jmp 0x50afc9
je 0x50b481
mov eax, dword [edi + 8]
shl cx, cl
mov ecx, eax
test ah, 0x4d
sub ecx, ebp
jmp 0x50b47b
jle 0x50afc9
add edi, ebx
shr bx, cl
adc bl, ch
mov dword [esp + 0x1c], edi
shld ebx, ecx, 0xeb
bt ebx, 0xae
shr bx, cl
lea eax, [eax + ebp]
cmp sp, bp
and eax, 0xfff
neg bx
test al, 0x7e
dec bl
cmp byte [esi + 0x12828], 0
setbe bl
movzx ebx, byte [eax + esi + 0x18]
jmp 0x584a43
jbe 0x54a638
call fcn.0040691f
sub ebx, ebp
lahf
bswap eax
mov edx, dword [esp + 0x2c]
lahf
push edx
xchg al, al
bswap eax
push edi
bswap ax
xchg al, al
push edi
lahf
lea eax, [esp + 0x23]
jmp 0x570536
lea esp, [esp - 0x34]
push ebx
cmp ah, 0x55
push ebp
push esi
adc si, cx
mov esi, eax
test si, sp
cmp byte [esi + 0x12828], 0
jmp 0x53f939
jbe 0x54d1e6
call fcn.0040691f
mov ebp, dword [edi + 4]
test ebp, ebp
jmp 0x547278
jne 0x5395be
mov ecx, dword [esi + 4]
xchg al, al
cbw
mov al, 0xf5
push ecx
cbw
push 1
lea eax, [esi + 0xc]
push 4
jmp 0x541af8
mov dword [esp + 0x18], eax
jmp 0x546bb0
mov dword [esp + 0x2c], ebx
jmp 0x54d1db
mov dword [esp + 0x24], ebp
jmp 0x53576d
ja 0x55ca63
cmp eax, dword [edi + 4]
jae 0x55ca68
call fcn.0040691f
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test dl, 0xf1
mov eax, dword [esp + 0x18]
mov byte [esi + eax + 0x18], bl
add eax, 1
and eax, 0xfff
jmp 0x5361a6
jbe 0x55f361
call fcn.0040691f
push ebp
lahf
movzx edx, dx
mov edx, ecx
push edi
cdq
lea ecx, [esp + 0x1f]
push ecx
xchg dh, dl
lea edx, [esp + 0x44]
lahf
mov ax, si
nop
push edx
mov ah, al
lahf
mov eax, edi
jmp 0x503e2a
mov eax, dword [esi + 0x12830]
mov edi, ecx
test eax, eax
lea edi, [esi + 0x1282c]
jmp 0x520a50
mov dword [edi + 8], eax
jmp 0x503e2f
jae 0x5664c3
mov eax, dword [edi + 8]
test bh, cl
test ecx, 0x57873994
stc
mov byte [eax], bl
add eax, 1
jmp 0x561883
mov ebp, dword [edi + 8]
jmp 0x5452dd
jbe 0x5679d1
call fcn.0040691f
lea eax, [ebx + ebp]
clc
test bx, sp
cmp bp, 0x78ec
cmp eax, dword [edi + 8]
jmp 0x55ca54
mov dword [esp + 0x18], 0xfc4
jmp 0x5798c6
mov edx, dword [edi + 8]
sub edx, eax
test eax, eax
jmp 0x52bc29
jbe 0x5210e7
lea eax, [eax + 0x400]
test bp, 0x4e3c
jmp 0x5210e4
call fcn.00408580
sub edi, edi
add esp, 0xc
cmc
cmp dword [esi + 0xc], edi
jmp 0x56a58c
call fcn.005779d3
push 0xfc4
lea eax, [esi + 0x18]
jmp 0x4fe8df
jae 0x58725f
mov eax, dword [edi + 8]
jmp 0x5186ba
call fcn.00401ea0
mov ebp, dword [edi + 4]
cmp ebp, dword [edi + 8]
jmp 0x5679c6
jne 0x52306c
mov eax, dword [esi + 8]
jmp 0x545770
jbe 0x5430da
call fcn.00521335
mov ebx, eax
cmp ch, dh
cmp ebx, 0x100
jmp 0x4fa47a
mov dword [esp + 0x1c], edi
jmp 0x578b73
and ebp, 0xfff
test bl, 0x8f
sub eax, eax
test esp, 0x727072cf
cmp di, 0x490e
test ebx, ebx
jmp 0x5594c5
push ebx
jmp 0x502abf
mov dword [esp + 0x20], ebx
jne 0x5611e8
mov eax, dword [esi + 8]
push eax
jmp 0x505239
jmp 0x55ca73
mov ebx, dword [edi + 8]
clc
cmp eax, ebx
jmp 0x555727