Function at 0x420070
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.0048a035
push esi
call fcn.00489d53
push esi
mov ebp, eax
call fcn.0048a050
push 0x100
lea eax, [esp + 0x70]
push 0
push eax
call fcn.00484630
push esi
push 0x100
lea eax, [esp + 0x80]
push 1
push eax
call fcn.0048a775
push 0
push 0x438
push esi
call fcn.0048a035
push esi
push 4
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 0
push 1
push eax
call fcn.0048a775
add esp, 0x4c
push esi
call fcn.0048a050
add esp, 4
test esi, esi
je 0x420222
push esi
call fcn.00489d53
push 0
push 0
push esi
mov ebx, eax
call fcn.0048a035
push 0x40
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.00484630
push esi
push 4
lea eax, [esp + 0x3c]
push 1
push eax
call fcn.0048a775
lea eax, [esp + 0x44]
add esp, 0x2c
cmp dword [eax], 0x35304e55
jne 0x420216
push 0
push 0x131
push esi
call fcn.0048a035
push esi
call fcn.004901c4
add esp, 0x10
test eax, eax
jne 0x420216
push esi
call fcn.00490555
add esp, 4
test al, 1
je 0x420216
push 0
push 0x132
push esi
call fcn.0048a035
push esi
call fcn.004901c4
add esp, 0x10
test eax, eax
jne 0x420216
push esi
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push 2
push eax
call fcn.0048a775
mov eax, dword [esp + 0x24]
add esp, 0x10
test ax, ax
je 0x420216
mov ecx, 0x200
cmp ax, cx
ja 0x420216
movzx eax, ax
push 1
add eax, 2
push eax
push esi
call fcn.0048a035
push esi
call fcn.004901c4
add esp, 0x10
test eax, eax
jne 0x420216
push esi
push 0x40
lea eax, [esp + 0x20]
push 1
push eax
call fcn.0048a775
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 0x420216
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4201e6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x420216
push 0
push ebx
push esi
call fcn.0048a035
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.0048a035
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 0x420258
add ecx, 4
add edx, 4
sub edi, 4
jae 0x420230
mov al, byte [esp + 0x71]
dec al
cmp al, 7
ja 0x420258
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 0x42027c
cmp al, 0x10
jne 0x42027c
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 0x420293
mov ecx, 0x216d6165
cmp ecx, dword [edx + 4]
je 0x4202d8
lea edx, [esp + 0x6c]
mov ecx, 0x444f4d42
cmp ecx, dword [edx]
jne 0x4202aa
mov ecx, 0x4d545332
cmp ecx, dword [edx + 4]
je 0x4202d8
lea edx, [esp + 0x6c]
mov ecx, 0x415a5557
cmp ecx, dword [edx]
jne 0x4202c1
mov ecx, 0x21444f4d
cmp ecx, dword [edx + 4]
je 0x4202d8
lea edx, [esp + 0x6c]
mov ecx, 0x76615753
cmp ecx, dword [edx]
jne 0x4202e9
mov ecx, 0x6f725065
cmp ecx, dword [edx + 4]
jne 0x4202e9
cmp al, 2
jne 0x4202e9
pop edi
pop esi
pop ebp
mov al, 5
pop ebx
add esp, 0x148
ret
movzx eax, byte [esp + 0x10]
push eax
call fcn.0048f630
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 0x42031e
cmp cl, 0x30
je 0x42031e
cmp bl, 0x43
jne 0x42031e
cmp dl, 0x48
jne 0x42031e
cmp al, 0x4e
je 0x42036b
cmp cl, 0x46
jne 0x420333
cmp bl, 0x41
jne 0x420333
cmp dl, 0x30
jne 0x420333
sub al, 0x34
cmp al, 4
jbe 0x42036b
movzx eax, cl
push eax
call fcn.0048f630
add esp, 4
test eax, eax
je 0x420378
movzx eax, byte [esp + 0x11]
push eax
call fcn.0048f630
add esp, 4
test eax, eax
je 0x420378
mov al, byte [esp + 0x10]
cmp al, 0x30
je 0x42037c
cmp byte [esp + 0x12], 0x43
jne 0x42037c
cmp byte [esp + 0x13], 0x48
jne 0x42037c
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.0048f630
add esp, 4
test eax, eax
je 0x4203b3
movzx eax, byte [esp + 0x11]
push eax
call fcn.0048f630
add esp, 4
test eax, eax
je 0x4203b3
cmp byte [esp + 0x10], 0x30
je 0x4203b3
cmp byte [esp + 0x12], 0x43
jne 0x4203b3
cmp byte [esp + 0x13], 0x4e
je 0x42036b
lea eax, [esp + 0x10]
cmp dword [eax], 0x2e4b2e4d
je 0x42036b
cmp dword [eax], 0x214b214d
je 0x42036b
cmp dword [eax], 0x534d534e
je 0x42036b
cmp dword [eax], 0x4452414c
je 0x42036b
cmp dword [eax], 0x54544150
je 0x42036b
cmp dword [eax], 0x34544c46
je 0x42036b
cmp dword [eax], 0x38544c46
je 0x42036b
cmp dword [eax], 0x344f5845
je 0x42036b
cmp dword [eax], 0x384f5845
je 0x42036b
cmp dword [eax], 0x2e542e4e
je 0x42036b
cmp dword [eax], 0x214b264d
je 0x42036b
cmp dword [eax], 0x54534546
je 0x42036b
cmp dword [eax], 0x31364443
je 0x42036b
cmp dword [eax], 0x31384443
je 0x42036b
cmp dword [eax], 0x41544b4f
je 0x42036b
cmp dword [eax], 0x4154434f
je 0x42036b
lea eax, [esp + 0x58]
cmp dword [eax], 0x4d504d49
jne 0x420476
cmp byte [esp + 0x6e], 0
je 0x4204fc
mov ecx, str.Extended_Module:
lea edx, [esp + 0x58]
mov edi, 0xd
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4204a8
add ecx, 4
add edx, 4
sub edi, 4
jae 0x420484
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4204a8
pop edi
pop esi
pop ebp
mov al, 2
pop ebx
add esp, 0x148
ret
lea eax, [ebp - 0x658]
cmp eax, 0xeffe2
ja 0x4204fc
push 0
push 0x1d6
push esi
call fcn.0048a035
push esi
push 2
lea eax, [esp + 0x6c]
mov word [esp + 0x6c], 0
push 1
push eax
call fcn.0048a775
push esi
call fcn.0048a050
add esp, 0x20
cmp byte [esp + 0x58], 0x80
ja 0x4204fc
cmp byte [esp + 0x59], 0xdc
ja 0x4204fc
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