Function at 0x401348
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, dword [ebp + 0xc]
or dword [esi + 4], 0xffffffff
or dword [esi + 8], 0xffffffff
push edi
mov edi, dword [ebp + 8]
push 6
lea eax, [edi + 2]
push str.TRACK
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x40147d
push 2
lea ecx, [edi + 8]
lea eax, [esi + 0xc]
push ecx
push eax
call fcn.004032d0
or word [esi], 0xffff
push 5
lea ebx, [edi + 0xb]
push str.AUDIO
push ebx
mov byte [esi + 0xe], 0
call fcn.00403400
add esp, 0x18
test eax, eax
jne 0x4013ab
and word [esi], ax
push 0xa
push str.MODE1_2352
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x4013c4
mov word [esi], 0xa
push 0xa
push str.MODE1_2048
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x4013dd
mov word [esi], 0x1e
push 0xa
push str.MODE2_2352
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x4013f6
mov word [esi], 0x14
push 0xa
push str.MODE2_2336
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x40140f
mov word [esi], 0x28
mov ebx, 0x80c9e0
lea eax, [esi + 0xf]
push ebx
push eax
call fcn.00403140
push ebx
call fcn.00403240
push 0x4091e8
lea ebx, [esi + 0xf]
push ebx
mov byte [eax + esi + 0xb], 0
call fcn.00403150
lea eax, [esi + 0xc]
push eax
push ebx
mov dword [ebp + 8], eax
call fcn.00403150
mov ax, word [esi]
add esp, 0x1c
cmp ax, 0xa
je 0x401485
cmp ax, 0x1e
je 0x401485
cmp ax, 0x14
je 0x401485
cmp ax, 0x28
je 0x401485
test ax, ax
jne 0x40146e
push str..wav
jmp 0x40148a
push dword [ebp + 8]
push str.Track__s_Unsupported_mode_n
call fcn.004029e5
pop ecx
pop ecx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret
push str..iso
push ebx
call fcn.00403150
jmp 0x40159a
push 6
lea eax, [edi + 2]
push str.TRACK
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
je 0x4015b8
push 6
lea ebx, [edi + 4]
push str.INDEX
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x401567
push 2
lea eax, [edi + 0xa]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.004032d0
mov al, byte [edi + 0xe]
mov cl, byte [edi + 0xd]
sub al, 0x30
shl cl, 4
or al, cl
mov cl, byte [edi + 0x10]
mov byte [ebp - 8], al
mov al, byte [edi + 0x11]
sub al, 0x30
shl cl, 4
or al, cl
mov cl, byte [edi + 0x13]
mov byte [ebp - 4], al
mov al, byte [edi + 0x14]
sub al, 0x30
shl cl, 4
or al, cl
mov byte [ebp + 8], al
lea eax, [ebp + 0xc]
push 0x4091b0
push eax
mov byte [ebp + 0xe], 0
call fcn.004030b0
add esp, 0x14
test eax, eax
jne 0x401539
push dword [ebp + 8]
push dword [ebp - 4]
push dword [ebp - 8]
call entry0
add esp, 0xc
mov dword [esi + 4], eax
jmp 0x40159c
lea eax, [ebp + 0xc]
push 0x4091ac
push eax
call fcn.004030b0
test eax, eax
pop ecx
pop ecx
jne 0x4015d7
push dword [ebp + 8]
push dword [ebp - 4]
push dword [ebp - 8]
call entry0
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x40159c
push 7
push str.PREGAP
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
je 0x40159c
push 6
push str.FLAGS
push ebx
call fcn.00403400
add esp, 0xc
test eax, eax
je 0x40159c
push edi
push str.Unexpected_cuefile_line:__s_n
call fcn.004029e5
pop ecx
pop ecx
push dword [0x80cbe0]
push 0x100
push edi
call fcn.0040304a
add esp, 0xc
test eax, eax
jne 0x401495
cmp dword [esi + 4], 0xffffffff
jne 0x4015c4
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0xffffffff
jne 0x4015d0
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
xor eax, eax
jmp 0x401480
lea eax, [ebp + 0xc]
push eax
push str.Unexpected_Index_number:__s_n
call fcn.004029e5
pop ecx
pop ecx
push 1
call fcn.00402c5a
int3