Function at 0x473b90
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push dword [esi]
call fcn.005960c7
mov bx, word [ebp + 0x10]
add esp, 4
mov dword [ebp + 8], eax
cmp bx, 4
jl 0x473d12
push esi
call fcn.0045d030
mov edi, dword [ebp + 0xc]
push esi
mov dword [edi], eax
call fcn.0045d210
push dword [esi]
movzx eax, ax
push 1
push eax
lea eax, [edi + 4]
push eax
call fcn.00595b79
add esp, 0x18
push dword [esi]
call fcn.00597fff
push esi
mov byte [edi + 0x114], al
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
mov dword [edi + 0x104], eax
call fcn.0045d030
push esi
mov dword [edi + 0x108], eax
call fcn.0045d030
sub eax, dword [edi + 0x104]
push esi
mov dword [edi + 0x10c], eax
call fcn.0045d030
sub eax, dword [edi + 0x108]
mov dword [edi + 0x110], eax
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x115], al
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x116], al
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x117], al
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x118], al
push dword [esi]
call fcn.00597fff
push esi
mov byte [edi + 0x119], al
call fcn.0045d030
push esi
call fcn.0045d030
add esp, 0x40
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push esi
call fcn.0045d030
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x11a], al
push dword [esi]
call fcn.00597fff
mov byte [edi + 0x11b], al
push dword [esi]
call fcn.00597fff
push esi
mov byte [edi + 0x11c], al
call fcn.0045d210
push 0x28
push esi
mov word [edi + 0x11e], ax
call fcn.0045d3f0
add esp, 0x30
cmp bx, 4
jge 0x473d3c
push esi
call fcn.0045d210
push esi
mov word [edi + 0x120], ax
call fcn.0045d210
mov word [edi + 0x122], ax
jmp 0x473e09
push dword [esi]
mov edi, dword [ebp + 0xc]
push 1
push 0x100
lea eax, [edi + 4]
push eax
call fcn.00595b79
add esp, 0x10
test eax, eax
jne 0x473bd9
pop edi
pop esi
mov eax, 4
pop ebx
pop ebp
ret
push dword [esi]
call fcn.005960c7
sub eax, dword [ebp + 8]
add esp, 4
mov ecx, dword [edi]
cmp eax, ecx
jge 0x473d5b
sub ecx, eax
push ecx
push esi
call fcn.0045d3f0
add esp, 8
cmp bx, 0xa
jl 0x473db7
push dword [esi]
lea eax, [ebp + 0x10]
push 1
push 4
push eax
call fcn.00595b79
add esp, 0x10
test eax, eax
jne 0x473d7c
pop edi
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp al, 0x7e
jne 0x473dac
cmp ah, 0x42
jne 0x473dac
cmp byte [ebp + 0x12], 0x4b
jne 0x473dac
cmp byte [ebp + 0x13], 0
jne 0x473dac
push esi
call fcn.0045d210
push esi
call fcn.0045d030
push eax
push esi
call fcn.0045d3f0
add esp, 0x10
jmp 0x473db7
push 0xfffffffffffffffc
push esi
call fcn.0045d3f0
add esp, 8
push dword [esi]
call fcn.005960c7
push esi
mov dword [ebp + 0x10], eax
call fcn.0045d030
add esp, 8
mov ebx, eax
cmp byte [edi + 0x114], 1
jne 0x473e0c
push esi
call fcn.0045d210
push esi
mov word [edi + 0x120], ax
call fcn.0045d210
mov word [edi + 0x122], ax
push dword [esi]
call fcn.005960c7
sub eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ebx
jge 0x473e0c
sub ebx, eax
push ebx
push esi
call fcn.0045d3f0
add esp, 8
push dword [esi]
call fcn.00595867
add esp, 4
neg eax
sbb eax, eax
and eax, 4
pop edi
pop esi
pop ebx
pop ebp
ret