Function at 0x401ebf
Capabilities:
Terminate process

Disassembly:
push ebp
mov eax, 0x2cf8
lea ebp, [esp - 0x2c78]
call fcn.004036f0
mov eax, dword [0x40c040]
push ebx
push esi
push edi
mov esi, 0x4091b0
lea edi, [ebp - 0x74]
movsw word es:[edi], word [esi]
push str.13:56:33
mov dword [ebp + 0x2c74], eax
xor eax, eax
xor ebx, ebx
push str.Feb_22_2005
inc ebx
push str._n_s___s
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x64], eax
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x5c], eax
mov byte [0x80cae0], al
call fcn.004029e5
push str._nbin2iso_V1.95___Converts_raw_formatted__.BIN__files_to_.ISO_.WAV_format_n_______________Bob_Doiron_n_______________Joonas_Loppi_n_nCheck_for_updates_at_http:__www.xs.fi_go_11__n_n
call fcn.004029e5
add esp, 0x10
push 2
pop esi
cmp dword [ebp + 0x2c80], esi
jge 0x401f79
push str.Usage:_bin2iso__cuefile____output_dir______a_wg____t_XX____i____nob__nor___:_bin2iso__cuefile___c__binfile__n_nWhere:_n____cuefile_______the_.cue_file_that_belongs_to_the_.bin_file_to__n__________________be_converted_n____output_dir____the_output_directory__defaults_to_current_dir___n____nwg___________indicates_that_audio_data_found_in_the_track____n__________________gaps_shouldnt_be_appended_to_the_audio_tracks_n____awg___________looks_for_non_zero_data_in_the_gaps__if_found_n__________________then_gaps_are_appended_to_audio_tracks._Looks___n__________________for_more_than_1_2_of_a_sector_of_non_zero_values_n
call fcn.004029e5
mov dword [esp], 0x24c
push str.____________________d_values______________________________________n
call fcn.004029e5
push str.____t_XX__________Extracts_the_XXth_track._______________________n____i_____________Performs_the_conversion_in_place._Meaning_it__n__________________truncates_the_binfile_after_each_track_is_______n__________________created_to_minimize_diskspace_requirements._____n___________________not_valid_with__t______________________________n
call fcn.004029e5
push 0x51c19
push str.____nob___________Doesnt_use_overburn_data_past__ld_sectors._____n
call fcn.004029e5
push str.__________________This_of_course_presumes_that_the_data_is_not____n__________________useful._________________________________________n____c_____________Attempts_to_create_a__cuefile__from_an_existing_n___________________binfile________________________________________n
call fcn.004029e5
add esp, 0x18
push ebx
jmp 0x402987
lea eax, [ebp + 0x2b48]
push 0x409740
push eax
call fcn.00403140
push 0x40973c
call fcn.004029e5
mov ebx, dword [ebp + 0x2c84]
add esp, 0xc
cmp dword [ebp + 0x2c80], esi
mov dword [ebp - 0x58], esi
mov edi, 0x80c9e0
jle 0x4021ec
mov eax, dword [ebp - 0x58]
lea esi, [ebx + eax*4]
mov eax, dword [esi]
cmp byte [eax], 0x2d
jne 0x4020e3
push 3
inc eax
push 0x409738
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x401fe2
or dword [ebp - 0x60], 0xffffffff
push str.Note:_Auto_detecting_pregap_data_n
jmp 0x402027
mov eax, dword [esi]
push 3
inc eax
push 0x409710
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x402001
and dword [ebp - 0x60], eax
jmp 0x4020f4
mov eax, dword [esi]
push 5
inc eax
push str.m2to1
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x402031
mov dword [0x40c790], 1
push str.Note:_Converting_Mode2_ISO_to_Mode1_n
call fcn.004029e5
jmp 0x4020f3
mov eax, dword [esi]
push 1
inc eax
push 0x4096dc
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x402061
mov eax, dword [ebp - 0x58]
push dword [ebx + eax*4 + 4]
lea eax, [ebp - 0x74]
push eax
call fcn.00403140
mov dword [ebp - 0x68], 1
jmp 0x4020be
mov eax, dword [esi]
push 1
inc eax
push 0x4096d8
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x402093
xor esi, esi
inc esi
cmp dword [ebp - 0x68], esi
je 0x402131
push str.Bin_file_will_be_truncated_after_each_track_created_n
call fcn.004029e5
mov dword [ebp - 0x70], esi
jmp 0x4020f3
mov eax, dword [esi]
push 1
inc eax
push 0x40969c
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x4020c3
mov eax, dword [ebp - 0x58]
push dword [ebx + eax*4 + 4]
mov dword [ebp - 0x64], 1
push edi
call fcn.00403140
inc dword [ebp - 0x58]
jmp 0x4020f2
mov eax, dword [esi]
push 3
inc eax
push 0x409698
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x4020f4
mov dword [ebp - 0x6c], 1
jmp 0x4020f4
push dword [ebx + 8]
lea eax, [ebp + 0x2b48]
push eax
call fcn.00403140
pop ecx
pop ecx
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp + 0x2c80]
jl 0x401fb1
cmp dword [ebp - 0x64], 1
jne 0x4021ec
push 0x409694
push edi
call fcn.004034ca
test eax, eax
pop ecx
pop ecx
mov dword [0x80c9c0], eax
jne 0x402142
push edi
push str.Unable_to_open__s_n
jmp 0x40297e
push str.Invalid_combination_of_options..._n
call fcn.004029e5
pop ecx
push esi
jmp 0x402987
push 0x409658
push dword [ebx + 4]
call fcn.004034ca
test eax, eax
pop ecx
pop ecx
mov dword [0x80cbe0], eax
jne 0x402167
push dword [ebx + 4]
push str.Unable_to_create__s_n
jmp 0x40297e
push str..wav
mov esi, edi
push edi
sub esi, 4
call fcn.00403240
pop ecx
add eax, esi
push eax
call fcn.004030b0
test eax, eax
pop ecx
pop ecx
je 0x4021a0
push str..WAV
push edi
call fcn.00403240
pop ecx
add eax, esi
push eax
call fcn.004030b0
test eax, eax
pop ecx
pop ecx
jne 0x4021c3
push str..wav_binfile___Skipping_wav_header_n
call fcn.004029e5
push dword [0x80c9c0]
lea eax, [ebp + 0x29dc]
push 0x2c
push 1
push eax
call fcn.00402a16
add esp, 0x14
call fcn.00401aa4
push dword [0x80c9c0]
call fcn.00402c9a
pop ecx
mov ecx, dword [ebp + 0x2c74]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.0040350e
add ebp, 0x2c78
leave
ret
push 0x409610
push dword [ebx + 4]
call fcn.004034ca
test eax, eax
pop ecx
pop ecx
mov dword [0x80cbe0], eax
jne 0x40220c
push dword [ebx + 4]
jmp 0x402127
push eax
lea eax, [ebp + 0x29dc]
push 0x100
push eax
call fcn.0040304a
add esp, 0xc
test eax, eax
jne 0x402234
push str.Error_Reading_Cuefile_n
call fcn.004029e5
jmp 0x402984
push 5
lea eax, [ebp + 0x29dc]
push str.FILE
push eax
call fcn.00403400
add esp, 0xc
test eax, eax
jne 0x402976
mov esi, edi
xor ebx, ebx
dec esi
lea ecx, [ebp + 0x29e0]
inc ecx
mov dl, byte [ecx]
mov byte [eax + 0x80c9e0], dl
inc eax
mov dl, byte [esi + eax]
cmp dl, 0x5c
je 0x402274
cmp dl, 0x2f
jne 0x402276
xor eax, eax
cmp byte [esi + eax], 0x22
jne 0x40227e
dec eax
inc ebx
cmp byte [ecx], 0x20
jne 0x40225d
cmp ebx, 1
je 0x40225d
mov byte [eax + 0x80c9e0], 0
lea eax, [eax + 0x80c9df]
jmp 0x40229b
mov byte [eax], 0
dec eax
cmp byte [eax], 0x20
je 0x402297
push edi
call fcn.00408998
cmp dword [ebp - 0x70], 1
pop ecx
jne 0x4022b4
push 0x4095ec
jmp 0x4022b9
push 0x409694
push edi
call fcn.004034ca
test eax, eax
pop ecx
pop ecx
mov dword [0x80c9c0], eax
jne 0x4022e7
push edi
push str.Unable_to_open__s_n
call fcn.004029e5
push str._nbin2iso_fopen_
call fcn.00402df7
add esp, 0xc
jmp 0x402985
push dword [0x80cbe0]
lea eax, [ebp + 0x29dc]
push 0x100
push eax
call fcn.0040304a
add esp, 0xc
test eax, eax
je 0x402225
lea eax, [ebp + 0x2b48]
push eax
call fcn.00403240
test eax, eax
pop ecx
jbe 0x40235a
lea eax, [ebp + 0x2b48]
lea esi, [ebp + 0x2b48]
push eax
dec esi
call fcn.00403240
cmp byte [eax + esi], 0x5c
pop ecx
je 0x40235a
lea eax, [ebp + 0x2b48]
push eax
call fcn.00403240
cmp byte [eax + esi], 0x3a
pop ecx
je 0x40235a
lea eax, [ebp + 0x2b48]
push 0x4095d8
push eax
call fcn.00403150
pop ecx
pop ecx
mov eax, dword [0x80cbe0]
test byte [eax + 0xc], 0x10
jne 0x402388
lea esi, [ebp - 0x54]
lea eax, [ebp + 0x29dc]
push esi
push eax
call fcn.00401348
mov eax, dword [0x80cbe0]
inc dword [ebp - 0x5c]
pop ecx
add esi, 0x6c
test byte [eax + 0xc], 0x10
pop ecx
je 0x402368
mov ebx, dword [ebp - 0x5c]
imul ebx, ebx, 0x6c
lea eax, [ebp + ebx - 0x4c]
or dword [eax], 0xffffffff
mov dword [ebp + 0x2c80], eax
lea eax, [ebp + ebx - 0x50]
or dword [eax], 0xffffffff
mov dword [ebp - 0x7c], eax
movzx eax, word [ebp - 0x54]
cmp eax, 0x1e
je 0x4023c6
cmp eax, 0x28
mov eax, dword [ebp - 0x50]
je 0x4023be
imul eax, eax, 0x930
jmp 0x4023cc
imul eax, eax, 0x920
jmp 0x4023cc
mov eax, dword [ebp - 0x50]
shl eax, 0xb
push 2
push 0
push dword [0x80c9c0]
mov dword [ebp + 0xc], eax
call fcn.00402e63
add esp, 0xc
test eax, eax
je 0x4023f4
push str._nbin2iso_fseek_
call fcn.00402df7
jmp 0x402984
push dword [0x80c9c0]
call fcn.00402ef1
cmp dword [ebp - 0x5c], 0
pop ecx
lea ecx, [ebp + ebx + 0x10]
mov dword [ebp - 0x64], ecx
mov dword [ecx], eax
lea ecx, [ebp + ebx + 0xc]
mov dword [ebp - 0x58], ecx
mov dword [ecx], eax
jle 0x4024fc
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x78], eax
movzx eax, word [ecx - 4]
cmp eax, 0x1e
je 0x4024a3
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x5c]
cmp eax, 0x28
lea esi, [ecx + 0x6c]
mov eax, edi
je 0x402463
sub eax, dword [ecx]
imul eax, eax, 0x930
add edx, eax
mov eax, dword [esi]
cmp eax, 0xffffffff
mov dword [ecx + 0x60], edx
je 0x40245c
sub eax, edi
imul eax, eax, 0x930
jmp 0x40247f
mov edi, 0x930
jmp 0x40248e
sub eax, dword [ecx]
imul eax, eax, 0x920
add edx, eax
mov eax, dword [esi]
cmp eax, 0xffffffff
mov dword [ecx + 0x60], edx
je 0x402489
sub eax, edi
imul eax, eax, 0x920
add eax, edx
mov dword [ecx + 0xc8], eax
jmp 0x4024f1
mov edi, 0x920
mov eax, dword [ecx + 0xc8]
sub eax, edx
xor edx, edx
div edi
mov edi, dword [ecx + 4]
add eax, edi
test edx, edx
jmp 0x4024df
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 0x5c]
mov eax, edx
sub eax, dword [ecx]
shl eax, 0xb
lea edi, [eax + esi]
lea esi, [ecx + 0x6c]
mov eax, dword [esi]
cmp eax, 0xffffffff
mov dword [ecx + 0x60], edi
je 0x4024c9
sub eax, edx
shl eax, 0xb
add eax, edi
jmp 0x402481
mov eax, dword [ecx + 0xc8]
sub eax, edi
mov dword [ebp - 0x80], eax
shr eax, 0xb
add eax, edx
test word [ebp - 0x80], 0x7ff
mov dword [ecx + 0x70], eax
mov dword [esi], eax
je 0x4024f1
push str.Warning:_Bin_file_has_invalid_byte_count_for_cuefile._n
call fcn.004029e5
pop ecx
dec dword [ebp - 0x78]
mov ecx, esi
jne 0x402425
cmp dword [ebp - 0x6c], 1
jne 0x4025a5
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0x51c19
jbe 0x4025a5
push 0x1b
pop ecx
lea esi, [ebp + ebx - 0x54]
lea eax, [ebp + ebx - 0x45]
push str.obdatatemp.bin
lea edi, [ebp + ebx + 0x18]
mov dword [ebp - 0x6c], esi
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00403140
mov edx, dword [ebp + 0x2c80]
pop ecx
mov eax, 0x51c19
pop ecx
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x2c80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6c]
mov cx, word [eax - 0x6c]
movzx eax, cx
cmp eax, 0x1e
je 0x40257d
cmp eax, 0x28
mov eax, 0x51c19
je 0x402572
sub eax, dword [edx - 0x6c]
imul eax, eax, 0x930
jmp 0x402588
sub eax, dword [edx - 0x6c]
imul eax, eax, 0x920
jmp 0x402588
mov eax, 0x51c19
sub eax, dword [edx - 0x6c]
shl eax, 0xb
mov edx, dword [ebp - 0x64]
add eax, dword [edx - 0x6c]
mov edx, dword [ebp - 0x58]
inc dword [ebp - 0x5c]
mov dword [edx], eax
mov eax, edx
mov eax, dword [eax]
mov edx, dword [ebp - 0x64]
mov dword [edx], eax
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov esi, dword [ebp - 0x5c]
test esi, esi
jle 0x4025f7
lea ecx, [ebp + 0x7c]
mov edi, esi
movzx eax, word [ecx - 0xd0]
cmp eax, 0xa
je 0x4025dd
cmp eax, 0x28
mov eax, dword [ecx]
je 0x4025c9
sub eax, dword [ecx - 0x6c]
jmp 0x4025ee
sub eax, dword [ecx - 0x6c]
xor edx, edx
mov ebx, 0x920
div ebx
imul eax, eax, 0x930
jmp 0x4025ee
mov eax, dword [ecx]
sub eax, dword [ecx - 0x6c]
xor edx, edx
mov ebx, 0x930
div ebx
shl eax, 0xb
mov dword [ecx - 0x68], eax
add ecx, 0x6c
dec edi
jne 0x4025b1
cmp dword [ebp - 0x60], 0xffffffff
jne 0x402613
push esi
lea eax, [ebp - 0x54]
push eax
push dword [0x80c9c0]
call fcn.00401d6e
add esp, 0xc
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jne 0x402620
push str.Note:_Appending_pregap_data_to_end_of_audio_tracks_n
jmp 0x402625
push str.Note:_Discarding_pregap_data_n
call fcn.004029e5
pop ecx
mov edi, 0x40973c
push edi
call fcn.004029e5
lea eax, [esi - 1]
test eax, eax
pop ecx
mov dword [ebp + 0x2c80], eax
jl 0x40269e
mov ebx, eax
lea esi, [ebp - 0x54]
inc ebx
xor eax, eax
cmp dword [ebp - 0x60], eax
je 0x40265e
cmp word [esi], ax
jne 0x40265e
mov ecx, dword [esi + 0xd0]
jmp 0x402664
mov ecx, dword [esi + 0xcc]
cmp dword [ebp - 0x60], eax
je 0x402673
cmp word [esi], ax
jne 0x402673
mov eax, dword [esi + 0x74]
jmp 0x402676
mov eax, dword [esi + 0x70]
dec ecx
push ecx
push dword [esi + 0x64]
dec eax
push eax
push dword [esi + 8]
mov eax, dword [esi + 0x68]
shr eax, 0x14
push eax
lea eax, [esi + 0xf]
push eax
push str._s___3d_Mb____sectors__06ld:_06ld__offset__09ld:_09ld__n
call fcn.004029e5
add esp, 0x1c
add esi, 0x6c
dec ebx
jne 0x40264a
push edi
call fcn.004029e5
cmp dword [0x40c790], 1
pop ecx
je 0x4026b5
cmp word [ebp - 0x54], 0x14
je 0x4026bc
cmp word [ebp - 0x54], 0x1e
jne 0x402737
cmp dword [ebp - 0x5c], 1
jne 0x402737
cmp word [ebp - 0x54], 0x14
jne 0x4026d4
push str.Mode2_2352
call fcn.004029e5
pop ecx
cmp word [ebp - 0x54], 0x1e
jne 0x4026e6
push str.Mode1_2048
call fcn.004029e5
pop ecx
push str._single_track_bin_file_indicated_by_cue_file_n
call fcn.004029e5
push dword [0x80c9c0]
call fcn.00402c9a
lea eax, [ebp - 0x45]
push eax
mov esi, 0x80c9e0
push esi
call fcn.004036b5
add esp, 0x10
test eax, eax
jne 0x402958
lea eax, [ebp - 0x45]
push eax
push esi
push str._s_renamed_to__s_n
call fcn.004029e5
push dword [0x80cbe0]
call fcn.00402c9a
add esp, 0x10
jmp 0x4021d4
push dword [0x80cbe0]
call fcn.00402c9a
mov ebx, dword [ebp + 0x2c80]
test ebx, ebx
pop ecx
jl 0x4021c8
mov eax, ebx
imul eax, eax, 0x6c
cmp dword [ebp - 0x70], 1
push 0x1b
pop ecx
lea esi, [ebp + eax - 0x54]
lea edi, [ebp + 0x2c08]
rep movsd dword es:[edi], dword [esi]
push 0x1b
lea esi, [ebp + eax + 0x18]
pop ecx
lea edi, [ebp + 0x2adc]
rep movsd dword es:[edi], dword [esi]
jne 0x402799
test ebx, ebx
jne 0x402799
cmp word [ebp + 0x2c08], bx
je 0x402799
cmp word [ebp + 0x2c08], 0x28
je 0x402799
mov byte [0x80cae0], bl
jmp 0x4027bb
lea eax, [ebp + 0x2b48]
push eax
mov esi, 0x80cae0
push esi
call fcn.00403140
lea eax, [ebp + 0x2c17]
push eax
push esi
call fcn.00403150
add esp, 0x10
cmp dword [ebp - 0x68], 1
jne 0x4027d7
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x2c14]
push eax
call fcn.004030b0
test eax, eax
pop ecx
pop ecx
je 0x4027e4
xor edi, edi
cmp dword [ebp - 0x68], edi
jne 0x40294c
jmp 0x4027e6
xor edi, edi
cmp ebx, edi
jne 0x402804
cmp word [ebp + 0x2c08], 0x14
je 0x4027fe
cmp word [ebp + 0x2c08], 0x1e
jne 0x402804
cmp dword [ebp - 0x70], 1
je 0x402853
cmp dword [ebp - 0x60], edi
je 0x40282d
cmp word [ebp + 0x2c08], di
jne 0x40282d
push dword [ebp + 0x2c6c]
push dword [ebp + 0x2ae4]
push dword [ebp + 0x2c10]
push dword [ebp + 0x2c10]
push edi
jmp 0x40284b
push dword [ebp + 0x2c6c]
push dword [ebp + 0x2ae0]
push dword [ebp + 0x2c10]
push dword [ebp + 0x2c0c]
push dword [ebp + 0x2c08]
call fcn.004015ef
add esp, 0x14
cmp dword [ebp - 0x68], edi
jne 0x40294c
cmp dword [ebp - 0x70], 1
jne 0x40294c
cmp ebx, edi
jne 0x402921
cmp word [ebp + 0x2c08], di
je 0x402921
cmp word [ebp + 0x2c08], 0x28
je 0x402921
lea eax, [ebp + 0x2c17]
push eax
mov esi, 0x80c9e0
push esi
push str.Renaming__s_to__s_n
call fcn.004029e5
push dword [0x80c9c0]
call fcn.00402c9a
lea eax, [ebp + 0x2c17]
push eax
push esi
call fcn.004036b5
add esp, 0x18
test eax, eax
jne 0x402958
cmp word [ebp + 0x2c08], 0x14
je 0x4028d7
cmp word [ebp + 0x2c08], 0x1e
jne 0x4028e2
mov eax, dword [ebp + 0x2b3c]
mov dword [0x40c780], eax
push dword [0x40c780]
push str.Truncating_to__ld_bytes_n
call fcn.004029e5
lea eax, [ebp + 0x2c17]
push 0x4095ec
push eax
call fcn.004034ca
add esp, 0x10
cmp eax, edi
mov dword [0x80c9c0], eax
je 0x402962
push dword [0x40c780]
push dword [eax + 0x10]
call fcn.00403559
pop ecx
pop ecx
jmp 0x402947
push dword [ebp + 0x2c6c]
push str.Truncating_bin_file_to__ld_bytes_n
call fcn.004029e5
push dword [ebp + 0x2c6c]
mov eax, dword [0x80c9c0]
push dword [eax + 0x10]
call fcn.00403559
add esp, 0x10
cmp eax, 0xffffffff
je 0x40296c
dec ebx
jns 0x402751
jmp 0x4021c8
push str._nbin2iso_rename_
jmp 0x4023ea
push str.bin2iso_fopen_
jmp 0x4023ea
push str._nbin2iso__chsize_
jmp 0x4023ea
push dword [ebx + 4]
push str.Error:_Filename_not_found_on_first_line_of_cuefile._n
call fcn.004029e5
pop ecx
pop ecx
push 1
call fcn.00402c5a
int3