Function at 0x420071
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x148
push ebx
push ebp
push esi
push edi
push 2
mov esi, ecx
push 0
push esi
call fcn.00489d25
push esi
call fcn.00489a43
push esi
mov ebp, eax
call fcn.00489d40
push 0x100
lea eax, [esp + 0x70]
push 0
push eax
call fcn.00484320
push esi
push 0x100
lea eax, [esp + 0x80]
push 1
push eax
call fcn.0048a465
push 0
push 0x438
push esi
call fcn.00489d25
push esi
push 4
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 0
push 1
push eax
call fcn.0048a465
add esp, 0x4c
push esi
call fcn.00489d40
add esp, 4
test esi, esi
je 0x420052
push esi
call fcn.00489a43
push 0
push 0
push esi
mov ebx, eax
call fcn.00489d25
push 0x40
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.00484320
push esi
push 4
lea eax, [esp + 0x3c]
push 1
push eax
call fcn.0048a465
lea eax, [esp + 0x44]
add esp, 0x2c
cmp dword [eax], 0x35304e55
jne 0x420046
push 0
push 0x131
push esi
call fcn.00489d25
push esi
call fcn.0048feb4
add esp, 0x10
test eax, eax
jne 0x420046
push esi
call fcn.00490245
add esp, 4
test al, 1
je 0x420046
push 0
push 0x132
push esi
call fcn.00489d25
push esi
call fcn.0048feb4
add esp, 0x10
test eax, eax
jne 0x420046
push esi
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push 2
push eax
call fcn.0048a465
mov eax, dword [esp + 0x24]
add esp, 0x10
test ax, ax
je 0x420046
mov ecx, 0x200
cmp ax, cx
ja 0x420046
movzx eax, ax
push 1
add eax, 2
push eax
push esi
call fcn.00489d25
push esi
call fcn.0048feb4
add esp, 0x10
test eax, eax
jne 0x420046
push esi
push 0x40
lea eax, [esp + 0x20]
push 1
push eax
call fcn.0048a465
add esp, 0x10
lea ecx, [esp + 0x18]
mov edx, str.FastTracker_v2.00
mov edi, 0xd
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420046
add ecx, 4
add edx, 4
sub edi, 4
jae 0x420016
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x420046
push 0
push ebx
push esi
call fcn.00489d25
add esp, 0xc
mov al, 7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret
push 0
push ebx
push esi
call fcn.00489d25
add esp, 0xc
mov ecx, str.DIGI_Booster_module
lea edx, [esp + 0x58]
mov edi, 0x10
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420088
add ecx, 4
add edx, 4
sub edi, 4
jae 0x420060
mov al, byte [esp + 0x71]
dec al
cmp al, 7
ja 0x420088
pop edi
pop esi
pop ebp
mov al, 6
pop ebx
add esp, 0x148
ret
lea eax, [esp + 0x84]
cmp dword [eax], 0x4d524353
mov al, byte [esp + 0x75]
jne 0x4200ac
cmp al, 0x10
jne 0x4200ac
pop edi
pop esi
pop ebp
mov al, 4
pop ebx
add esp, 0x148
ret
lea edx, [esp + 0x6c]
mov ecx, 0x72635321
cmp ecx, dword [edx]
jne 0x4200c3
mov ecx, 0x216d6165
cmp ecx, dword [edx + 4]
je 0x420108
lea edx, [esp + 0x6c]
mov ecx, 0x444f4d42
cmp ecx, dword [edx]
jne 0x4200da
mov ecx, 0x4d545332
cmp ecx, dword [edx + 4]
je 0x420108
lea edx, [esp + 0x6c]
mov ecx, 0x415a5557
cmp ecx, dword [edx]
jne 0x4200f1
mov ecx, 0x21444f4d
cmp ecx, dword [edx + 4]
je 0x420108
lea edx, [esp + 0x6c]
mov ecx, 0x76615753
cmp ecx, dword [edx]
jne 0x420119
mov ecx, 0x6f725065
cmp ecx, dword [edx + 4]
jne 0x420119
cmp al, 2
jne 0x420119
pop edi
pop esi
pop ebp
mov al, 5
pop ebx
add esp, 0x148
ret
movzx eax, byte [esp + 0x10]
push eax
call fcn.0048f320
mov dl, byte [esp + 0x16]
add esp, 4
mov bl, byte [esp + 0x11]
test eax, eax
mov al, byte [esp + 0x13]
mov cl, byte [esp + 0x10]
je 0x42014e
cmp cl, 0x30
je 0x42014e
cmp bl, 0x43
jne 0x42014e
cmp dl, 0x48
jne 0x42014e
cmp al, 0x4e
je 0x42019b
cmp cl, 0x46
jne 0x420163
cmp bl, 0x41
jne 0x420163
cmp dl, 0x30
jne 0x420163
sub al, 0x34
cmp al, 4
jbe 0x42019b
movzx eax, cl
push eax
call fcn.0048f320
add esp, 4
test eax, eax
je 0x4201a8
movzx eax, byte [esp + 0x11]
push eax
call fcn.0048f320
add esp, 4
test eax, eax
je 0x4201a8
mov al, byte [esp + 0x10]
cmp al, 0x30
je 0x4201ac
cmp byte [esp + 0x12], 0x43
jne 0x4201ac
cmp byte [esp + 0x13], 0x48
jne 0x4201ac
pop edi
pop esi
pop ebp
mov al, 3
pop ebx
add esp, 0x148
ret
mov al, byte [esp + 0x10]
movzx eax, al
push eax
call fcn.0048f320
add esp, 4
test eax, eax
je 0x4201e3
movzx eax, byte [esp + 0x11]
push eax
call fcn.0048f320
add esp, 4
test eax, eax
je 0x4201e3
cmp byte [esp + 0x10], 0x30
je 0x4201e3
cmp byte [esp + 0x12], 0x43
jne 0x4201e3
cmp byte [esp + 0x13], 0x4e
je 0x42019b
lea eax, [esp + 0x10]
cmp dword [eax], 0x2e4b2e4d
je 0x42019b
cmp dword [eax], 0x214b214d
je 0x42019b
cmp dword [eax], 0x534d534e
je 0x42019b
cmp dword [eax], 0x4452414c
je 0x42019b
cmp dword [eax], 0x54544150
je 0x42019b
cmp dword [eax], 0x34544c46
je 0x42019b
cmp dword [eax], 0x38544c46
je 0x42019b
cmp dword [eax], 0x344f5845
je 0x42019b
cmp dword [eax], 0x384f5845
je 0x42019b
cmp dword [eax], 0x2e542e4e
je 0x42019b
cmp dword [eax], 0x214b264d
je 0x42019b
cmp dword [eax], 0x54534546
je 0x42019b
cmp dword [eax], 0x31364443
je 0x42019b
cmp dword [eax], 0x31384443
je 0x42019b
cmp dword [eax], 0x41544b4f
je 0x42019b
cmp dword [eax], 0x4154434f
je 0x42019b
lea eax, [esp + 0x58]
cmp dword [eax], 0x4d504d49
jne 0x4202a6
cmp byte [esp + 0x6e], 0
je 0x42032c
mov ecx, str.Extended_Module:
lea edx, [esp + 0x58]
mov edi, 0xd
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4202d8
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4202b4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4202d8
pop edi
pop esi
pop ebp
mov al, 2
pop ebx
add esp, 0x148
ret
lea eax, [ebp - 0x658]
cmp eax, 0xeffe2
ja 0x42032c
push 0
push 0x1d6
push esi
call fcn.00489d25
push esi
push 2
lea eax, [esp + 0x6c]
mov word [esp + 0x6c], 0
push 1
push eax
call fcn.0048a465
push esi
call fcn.00489d40
add esp, 0x20
cmp byte [esp + 0x58], 0x80
ja 0x42032c
cmp byte [esp + 0x59], 0xdc
ja 0x42032c
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x148
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x148
ret