Function at 0x45c3a0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov ecx, 0xf2
call fcn.00459df0
push eax
push 0x698c8c
push 3
call fcn.00459e10
add esp, 0xc
push 0
push 9
push esi
call fcn.005f8d0f
add esp, 0xc
lea eax, [esp + 0xa]
push esi
push 1
push 1
push eax
call fcn.005f7ecf
add esp, 0x10
cmp byte [esp + 0xa], 0
ja 0x45c757
push esi
push 1
lea eax, [esp + 0x13]
push 1
push eax
call fcn.005f7ecf
mov al, byte [esp + 0x1b]
add esp, 0x10
test al, al
je 0x45c40c
cmp al, 1
jne 0x45c757
movzx eax, al
cmp eax, dword [0x76c368]
je 0x45c421
mov eax, 5
pop esi
add esp, 0x10
ret
push esi
push 1
push 1
push 0x764154
call fcn.005f7ecf
push 0
push 0x28
push esi
call fcn.005f8d0f
add esp, 0x1c
push esi
push 1
push 0xb
push 0x76413c
call fcn.005f7ecf
push esi
push 1
push 2
push 0x76414e
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764150
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764151
call fcn.005f7ecf
add esp, 0x40
lea eax, [esp + 0xc]
push esi
push 1
push 2
push eax
call fcn.005f7ecf
movzx eax, word [esp + 0x1c]
push esi
push 1
push 1
push 0x764158
mov dword [0x75fc50], eax
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764163
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764162
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x764161
call fcn.005f7ecf
mov ecx, esi
call fcn.004621e0
push esi
push 1
push 1
push 0x764160
call fcn.005f7ecf
push esi
push 1
push 3
push 0x76c370
call fcn.005f7ecf
push esi
push 1
push 0x2000
push 0x7704f0
mov byte [0x76c373], 0
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 0x4000
push 0x76c490
call fcn.005f7ecf
mov eax, dword [0x76c368]
add esp, 0x10
sub eax, 0
je 0x45c540
sub eax, 1
jne 0x45c552
push esi
push 1
push 0x40
jmp 0x45c545
push esi
push 1
push 0x20
push 0x7704b0
call fcn.005f7ecf
add esp, 0x10
push esi
push 1
push 0x8000
push 0x780500
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764108
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764109
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76410a
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x76410b
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76410e
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76410f
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764114
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x764115
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764116
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764117
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764121
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x764122
call fcn.005f7ecf
movzx eax, byte [0x764122]
push esi
push 1
and al, 0x80
push 1
push 0x76410c
mov byte [0x764123], al
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76410d
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76411a
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x76411b
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76411c
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76411d
call fcn.005f7ecf
push esi
push 1
push 1
push 0x76411e
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x76411f
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764118
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764119
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764112
call fcn.005f7ecf
add esp, 0x40
push esi
push 1
push 1
push 0x764113
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764110
call fcn.005f7ecf
push esi
push 1
push 1
push 0x764111
call fcn.005f7ecf
push esi
push 1
lea eax, [esp + 0x48]
push 3
push eax
call fcn.005f7ecf
mov al, byte [esp + 0x50]
add esp, 0x40
mov cl, byte [esp + 0x12]
and al, 0xf9
mov byte [0x764120], al
cmp cl, 1
jne 0x45c741
or al, 2
mov byte [0x764120], al
mov eax, 1
pop esi
add esp, 0x10
ret
cmp cl, 2
jne 0x45c74d
or al, 4
mov byte [0x764120], al
mov eax, 1
pop esi
add esp, 0x10
ret
mov eax, 4
pop esi
add esp, 0x10
ret