Function at 0x40a4c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x419bc8
push 0x40ef98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov eax, 0xc648
call fcn.0040ee70
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0xa16c], edi
mov ebx, 1
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x7d54], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0x64], edi
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x60], edi
mov dword [ebp - 0xa170], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0xc584], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0xc580], 0
mov dword [0x451c64], ebx
mov esi, dword [ebp + 8]
cmp esi, 2
jge 0x40a5e0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push ebx
call fcn.0040e17f
mov byte [0x804f18], 0
mov word [0x515184], di
mov dword [ebp - 0xc588], ebx
mov dword [0x5151e0], edi
mov dword [ebp - 0xa0], ebx
cmp esi, ebx
jle 0x40a9a9
mov ebx, 2
mov dword [ebp - 0xc610], 3
mov esi, dword [ebp + 0xc]
lea edi, [esi + 4]
mov dword [ebp - 0xc614], edi
add esi, 8
mov edx, dword [edi]
mov al, byte [edx]
cmp al, 0x2f
je 0x40a651
cmp al, 0x2d
jne 0x40a974
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
mov edi, dword [ebp - 0xc614]
jne 0x40a974
inc dword [ebp - 0xc588]
movsx eax, byte [edx + 1]
add eax, 0xffffffc1
cmp eax, 0x39
ja case.0x40a66f.82
xor ecx, ecx
mov cl, byte [eax + 0x40cc30]
jmp dword [ecx*4 + 0x40cbe0]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x64], 1
jmp 0x40a974
mov dword [ebp - 0x7d54], 1
jmp 0x40a974
add edx, 2
cmp byte [edx], 0
je 0x40a6b4
push edx
call fcn.0040d815
add esp, 4
fstp qword [ebp - 0x5c]
jmp 0x40a974
cmp ebx, dword [ebp + 8]
jge 0x40a9fb
mov edx, dword [esi]
push edx
call fcn.0040d815
add esp, 4
fstp qword [ebp - 0x5c]
jmp 0x40a7c1
mov dword [0x450804], 1
jmp 0x40a974
mov dword [ebp - 0xa170], 1
mov dword [ebp - 0x8c], 0
add edx, 2
cmp byte [edx], 0
je 0x40a70c
push edx
call fcn.0040d80a
add esp, 4
mov dword [ebp - 0x24], eax
jmp 0x40a974
cmp ebx, dword [ebp + 8]
jge 0x40aa77
jmp 0x40a7b3
mov dl, byte [edx + 2]
cmp dl, 0x77
je 0x40a738
cmp dl, 0x57
je 0x40a738
cmp ebx, dword [ebp + 8]
jge 0x40a750
mov ecx, dword [esi]
mov al, byte [ecx]
cmp al, 0x77
je 0x40a738
cmp al, 0x57
jne 0x40a73d
call fcn.0040ccc0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.0040ceb0
add esp, 4
jmp 0x40a974
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.0040ceb0
add esp, 4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.0040ceb0
add esp, 4
jmp 0x40a974
mov dword [ebp - 0x94], 1
jmp 0x40a974
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0xa170], 0
add edx, 2
cmp byte [edx], 0
je 0x40a7df
push edx
call fcn.0040d80a
add esp, 4
mov dword [0x4507f8], eax
cmp ebx, dword [ebp + 8]
jge 0x40aaf3
mov eax, dword [esi]
push eax
call fcn.0040d80a
add esp, 4
mov dword [ebp - 0x24], eax
inc dword [ebp - 0xa0]
inc dword [ebp - 0xc610]
inc ebx
add esi, 4
add edi, 4
inc dword [ebp - 0xc588]
jmp 0x40a974
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0xc610], ecx
jge 0x40ab6f
mov edx, dword [esi]
push edx
call fcn.0040d80a
mov dword [0x4507f8], eax
inc dword [ebp - 0xa0]
inc dword [ebp - 0xc610]
inc ebx
add esi, 4
add edi, 4
mov eax, dword [esi]
push eax
call fcn.0040d80a
add esp, 8
mov dword [ebp - 0x24], eax
inc dword [ebp - 0xa0]
inc dword [ebp - 0xc610]
inc ebx
add esi, 4
add edi, 4
add dword [ebp - 0xc588], 2
jmp 0x40a974
add edx, 2
cmp byte [edx], 0
je 0x40a857
push edx
call fcn.0040d80a
add esp, 4
mov dword [ebp - 0xc584], eax
jmp 0x40a974
cmp ebx, dword [ebp + 8]
jge 0x40abeb
mov ecx, dword [esi]
push ecx
call fcn.0040d80a
add esp, 4
mov dword [ebp - 0xc584], eax
jmp 0x40a7c1
mov dword [ebp - 0x60], 1
jmp 0x40a974
mov word [0x515184], 1
jmp 0x40a974
mov dword [0x4507ec], 1
jmp 0x40a974
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x64], 0
jmp 0x40a974
mov dl, byte [edx + 2]
test dl, dl
jne 0x40a8e4
cmp ebx, dword [ebp + 8]
jge 0x40ac67
inc dword [ebp - 0xa0]
inc dword [ebp - 0xc610]
inc ebx
add esi, 4
add edi, 4
inc dword [ebp - 0xc588]
mov edx, dword [edi]
mov al, byte [edx]
jmp 0x40a8e6
mov al, dl
movsx eax, al
add eax, 0xffffffbd
cmp eax, 0x30
ja case.0x40a8fd.71
xor ecx, ecx
mov cl, byte [eax + 0x40cc80]
jmp dword [ecx*4 + 0x40cc6c]
mov dword [0x45081c], 1
jmp 0x40a974
mov dword [0x450814], 1
jmp 0x40a974
mov dword [0x450810], 1
jmp 0x40a974
mov dword [0x450818], 1
jmp 0x40a974
mov dword [0x4507f0], 1
jmp 0x40a974
mov dword [0x45080c], 1
jmp 0x40a974
mov dword [0x450808], 1
jmp 0x40a974
mov byte [0x804f18], 1
jmp 0x40a974
push edx
push str.I_dont_recognize_option__s_n
push 0x41dd28
call fcn.0040e254
add esp, 0xc
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
inc dword [ebp - 0xc610]
inc ebx
add esi, 4
add edi, 4
mov dword [ebp - 0xc614], edi
mov ecx, dword [ebp + 8]
cmp eax, ecx
jl 0x40a626
xor edi, edi
mov ebx, dword [ebp - 0xc588]
mov esi, ecx
lea edx, [esi*4]
push edx
call fcn.0040d568
mov dword [ebp - 0x90], eax
push 0x58
push esi
call fcn.0040edee
mov dword [ebp - 0x98], eax
lea eax, [esi + esi*4]
shl eax, 2
push eax
call fcn.0040d568
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x60], edi
je 0x40adc5
cmp dword [0x45081c], edi
je 0x40ad97
push str.File_tMP3_gain_tdB_gain_tMax_Amplitude_tMax_global_gain_tMin_global_gain_tAlbum_gain_tAlbum_dB_gain_tAlbum_Max_Amplitude_tAlbum_Max_global_gain_tAlbum_Min_global_gain_n
jmp 0x40adab
mov edx, dword [ebp + 0xc]
mov esi, dword [edx]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov edx, dword [ebp + 0xc]
mov esi, dword [edx]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
mov edx, dword [ebp + 0xc]
mov esi, dword [edx]
push str.1.4.7
push esi
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push str.copyright_c__2001_2004_by_Glen_Sawyer_n
push 0x41dd28
call fcn.0040e254
push str.uses_mpglib__which_can_be_found_at_http:__www.mpg123.de_n
push 0x41dd28
call fcn.0040e254
push esi
push str.Usage:__s__options___infile____infile_2__...__n
push 0x41dd28
call fcn.0040e254
push 0x2f
push 0x2f
push str.____use__c__or__ch_for_a_full_list_of_options_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
add esp, 0x40
push 0x41dd28
call fcn.0040de15
add esp, 4
push 1
call fcn.0040e17f
push str.1.4.7
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str._s_version__s_n
push 0x41dd28
call fcn.0040e254
push 0x41dd08
call fcn.0040de15
push 0x41dd28
call fcn.0040de15
add esp, 0x18
push 0
call fcn.0040e17f
cmp dword [0x45080c], edi
je 0x40ada6
push str.File_tleft_global_gain_change_tright_global_gain_change_n
jmp 0x40adab
push str.File_tMP3_gain_tdB_gain_tMax_Amplitude_tMax_global_gain_tMin_global_gain_n
push 0x41dd08
call fcn.0040e254
add esp, 8
push 0x41dd08
call fcn.0040e9f5
add esp, 4
mov eax, esi
sub eax, ebx
mov dword [ebp - 0xc618], eax
mov dword [0x5151e4], eax
cmp ebx, esi
jge 0x40aeee
mov edx, dword [ebp + 0xc]
lea ecx, [edx + ebx*4]
mov dword [ebp - 0xc61c], ecx
lea ecx, [ebx + ebx*4]
lea ecx, [ebx + ecx*2]
mov esi, dword [ebp - 0x98]
lea esi, [esi + ecx*8 + 8]
lea ecx, [ebx + ebx*4]
mov ebx, dword [ebp - 0x20]
lea ecx, [ebx + ecx*4 + 8]
mov dword [ebp - 0xc620], ecx
mov ecx, dword [ebp - 0x90]
sub ecx, edx
mov dword [ebp - 0xc624], ecx
mov dword [ebp - 0xc628], eax
mov edx, dword [ebp - 0xc624]
mov eax, dword [ebp - 0xc61c]
mov dword [edx + eax], edi
mov eax, dword [eax]
mov dword [0x5151ec], eax
mov eax, dword [ebp - 0xc620]
mov dword [eax - 4], edi
mov dword [eax], edi
mov dword [eax + 8], edi
mov dword [esi + 0x48], edi
mov dword [esi], edi
mov dword [esi + 4], edi
lea ebx, [esi - 8]
mov dword [ebx], edi
mov dword [esi - 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x4c], edi
cmp dword [0x450810], edi
jne 0x40aed1
cmp dword [0x450814], edi
jne 0x40aed1
mov ecx, dword [ebp - 0xc620]
add ecx, 0xfffffff8
push ecx
push ebx
mov edx, dword [0x5151ec]
push edx
call fcn.004016f0
add esp, 0xc
cmp dword [0x450818], edi
je 0x40aed1
cmp dword [esi], edi
mov eax, 1
je 0x40ae9c
mov dword [esi + 0x48], eax
mov dword [esi], edi
cmp dword [esi + 4], edi
je 0x40aea7
mov dword [esi + 0x48], eax
mov dword [esi + 4], edi
cmp dword [ebx], edi
je 0x40aeb0
mov dword [esi + 0x48], eax
mov dword [ebx], edi
cmp dword [esi - 4], edi
je 0x40aebb
mov dword [esi + 0x48], eax
mov dword [esi - 4], edi
cmp dword [esi + 0xc], edi
je 0x40aec6
mov dword [esi + 0x48], eax
mov dword [esi + 0xc], edi
cmp dword [esi + 0x10], edi
je 0x40aed1
mov dword [esi + 0x48], eax
mov dword [esi + 0x10], edi
add dword [ebp - 0xc61c], 4
add dword [ebp - 0xc620], 0x14
add esi, 0x58
dec dword [ebp - 0xc628]
jne 0x40ae1c
mov eax, dword [0x450818]
cmp eax, edi
jne 0x40af03
cmp dword [0x450810], edi
jne 0x40af03
xor esi, esi
jmp 0x40af08
mov esi, 1
mov dword [ebp - 0x7c], esi
cmp dword [0x450810], edi
jne 0x40b02f
cmp dword [0x450814], edi
jne 0x40b02f
cmp eax, edi
jne 0x40b02f
mov ebx, dword [ebp - 0xc618]
cmp ebx, 1
jle 0x40af71
mov eax, dword [ebp - 0xc588]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx + edx*8]
fld qword [ecx + 0x30]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ebx
mov dl, byte [ecx + 0x4e]
mov byte [ebp - 0x1c], dl
mov cl, byte [ecx + 0x4f]
mov byte [ebp - 0xc580], cl
mov ebx, dword [ebp - 0xc618]
jmp 0x40af7a
fld qword [ebp - 0x40]
mov eax, dword [ebp - 0xc588]
cmp eax, dword [ebp + 8]
jge 0x40b02d
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx + eax*8 + 0x30]
mov edx, ebx
mov al, byte [0x804f18]
test al, al
jne 0x40afc9
cmp ebx, 1
jle 0x40afbc
cmp dword [ebp - 0xa8], edi
jne 0x40afbc
cmp dword [ecx - 0x28], edi
je 0x40afb9
fcom qword [ecx]
fnstsw ax
test ah, 0x40
jne 0x40afbc
or esi, 1
cmp dword [ecx - 0x30], edi
jne 0x40afc9
mov eax, dword [ecx + 0x24]
or al, 1
mov dword [ecx + 0x24], eax
cmp ebx, 1
jle 0x40b006
cmp dword [ebp - 0xa8], edi
jne 0x40b006
cmp dword [ecx - 0x24], edi
je 0x40afe8
fld qword [ecx + 8]
fcomp qword [ebp - 0x34]
fnstsw ax
test ah, 0x40
jne 0x40afeb
or esi, 2
cmp dword [ecx - 0x18], edi
je 0x40b003
mov al, byte [ebp - 0xc580]
cmp byte [ecx + 0x1f], al
jne 0x40b003
mov al, byte [ebp - 0x1c]
cmp byte [ecx + 0x1e], al
je 0x40b006
or esi, 4
cmp dword [ecx - 0x2c], edi
jne 0x40b013
mov eax, dword [ecx + 0x24]
or al, 2
mov dword [ecx + 0x24], eax
cmp dword [ecx - 0x1c], edi
jne 0x40b020
mov eax, dword [ecx + 0x24]
or al, 4
mov dword [ecx + 0x24], eax
add ecx, 0x58
dec edx
jne 0x40af95
mov dword [ebp - 0x7c], esi
fstp st(0)
mov ebx, dword [ebp - 0xc588]
cmp ebx, dword [ebp + 8]
jge 0x40c423
mov ecx, 0x1f28
xor eax, eax
lea edi, [ebp - 0x7d50]
rep stosd dword es:[edi], eax
lea ecx, [ebx + ebx*4]
lea edx, [ebx + ecx*2]
mov eax, dword [ebp - 0x98]
lea esi, [eax + edx*8]
mov ecx, dword [ebp - 0x7c]
or dword [esi + 0x54], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
mov dword [0x5151ec], eax
mov eax, dword [0x45081c]
test eax, eax
je 0x40b4f8
cmp dword [esi], 0
je 0x40b0e2
fldlg2
fld qword [0x4198c8]
fyl2x
fmul qword [0x419bc0]
fdivr qword [esi + 0x20]
fld st(0)
fabs
fld st(0)
call fcn.0040e410
mov dword [ebp - 0xc62c], eax
fild dword [ebp - 0xc62c]
fsubr st(1)
fcomp qword [0x417a08]
fstp st(0)
fnstsw ax
test ah, 1
je 0x40b0c1
call fcn.0040e410
jmp 0x40b0df
fcom qword [0x419bb8]
fnstsw ax
test ah, 1
je 0x40b0d3
or edi, 0xffffffff
jmp 0x40b0d8
mov edi, 1
call fcn.0040e410
add eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 8]
test eax, eax
je 0x40b14f
fldlg2
fld qword [0x4198c8]
fyl2x
fmul qword [0x419bc0]
fdivr qword [esi + 0x30]
fld st(0)
fabs
fld st(0)
call fcn.0040e410
mov dword [ebp - 0xc630], eax
fild dword [ebp - 0xc630]
fsubr st(1)
fcomp qword [0x417a08]
fstp st(0)
fnstsw ax
test ah, 1
je 0x40b12b
call fcn.0040e410
jmp 0x40b149
fcom qword [0x419bb8]
fnstsw ax
test ah, 1
je 0x40b13d
or edi, 0xffffffff
jmp 0x40b142
mov edi, 1
call fcn.0040e410
add eax, edi
mov dword [ebp - 0xa16c], eax
mov eax, dword [ebp - 0x60]
test eax, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
jne 0x40b329
push 0x41ccb8
push 0x41dd08
call fcn.0040e254
add esp, 0xc
cmp dword [esi], 0
je 0x40b1e2
mov eax, dword [esi + 0x24]
push eax
mov ecx, dword [esi + 0x20]
push ecx
push str.Recommended__Track__dB_change:__f_n
push 0x41dd08
call fcn.0040e254
mov edx, dword [ebp - 0x38]
push edx
push str.Recommended__Track__mp3_gain_change:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
mov eax, dword [esi + 4]
test eax, eax
je 0x40b20a
fld qword [0x4198c8]
fild dword [ebp - 0x38]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [esi + 0x28]
fcomp qword [0x4198b0]
fnstsw ax
test ah, 0x41
jne 0x40b1e2
push str.WARNING:_some_clipping_may_occur_with_this_gain_change__n
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 4]
test eax, eax
je 0x40b20a
fld qword [esi + 0x28]
fmul qword [0x419bb0]
sub esp, 8
fstp qword [esp]
push str.Max_PCM_sample_at_current_gain:__f_n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
mov eax, dword [esi + 0x14]
test eax, eax
je 0x40b23e
xor eax, eax
mov al, byte [esi + 0x4d]
push eax
push str.Max_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
xor ecx, ecx
mov cl, byte [esi + 0x4c]
push ecx
push str.Min_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x18
mov eax, dword [esi + 8]
test eax, eax
je 0x40b2b5
mov edx, dword [esi + 0x34]
push edx
mov eax, dword [esi + 0x30]
push eax
push str.Recommended__Album__dB_change:__f_n
push 0x41dd08
call fcn.0040e254
mov ecx, dword [ebp - 0xa16c]
push ecx
push str.Recommended__Album__mp3_gain_change:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
mov eax, dword [esi + 4]
test eax, eax
je 0x40b2b5
fld qword [0x4198c8]
fild dword [ebp - 0xa16c]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [esi + 0x28]
fcomp qword [0x4198b0]
fnstsw ax
test ah, 0x41
jne 0x40b2b5
push str.WARNING:_some_clipping_may_occur_with_this_gain_change__n
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x40b2dd
fld qword [esi + 0x38]
fmul qword [0x419bb0]
sub esp, 8
fstp qword [esp]
push str.Max_Album_PCM_sample_at_current_gain:__f_n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
mov eax, dword [esi + 0x18]
test eax, eax
je 0x40b311
xor edx, edx
mov dl, byte [esi + 0x4f]
push edx
push str.Max_Album_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
xor eax, eax
mov al, byte [esi + 0x4e]
push eax
push str.Min_Album_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x18
push 0x41c550
push 0x41dd08
call fcn.0040e254
add esp, 8
inc ebx
jmp 0x40b035
push 0x41caf8
push 0x41dd08
call fcn.0040e254
add esp, 0xc
cmp dword [esi], 0
je 0x40b36f
mov eax, dword [ebp - 0x38]
push eax
push 0x41caf4
push 0x41dd08
call fcn.0040e254
mov ecx, dword [esi + 0x24]
push ecx
mov edx, dword [esi + 0x20]
push edx
push 0x41caf0
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
jmp 0x40b381
push str.NA_tNA_t
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 4]
test eax, eax
je 0x40b3ab
fld qword [esi + 0x28]
fmul qword [0x419bb0]
sub esp, 8
fstp qword [esp]
push 0x41caf0
push 0x41dd08
call fcn.0040e254
add esp, 0x10
jmp 0x40b3bd
push 0x41cae4
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 0x14]
test eax, eax
je 0x40b3f3
xor eax, eax
mov al, byte [esi + 0x4d]
push eax
push 0x41caf4
push 0x41dd08
call fcn.0040e254
xor ecx, ecx
mov cl, byte [esi + 0x4c]
push ecx
push 0x41caf4
push 0x41dd08
call fcn.0040e254
add esp, 0x18
jmp 0x40b405
push str.NA_tNA_t
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 8]
test eax, eax
je 0x40b43e
mov edx, dword [ebp - 0xa16c]
push edx
push 0x41caf4
push 0x41dd08
call fcn.0040e254
mov eax, dword [esi + 0x34]
push eax
mov ecx, dword [esi + 0x30]
push ecx
push 0x41caf0
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
jmp 0x40b450
push str.NA_tNA_t
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x40b47a
fld qword [esi + 0x38]
fmul qword [0x419bb0]
sub esp, 8
fstp qword [esp]
push 0x41caf0
push 0x41dd08
call fcn.0040e254
add esp, 0x10
jmp 0x40b48c
push 0x41cae4
push 0x41dd08
call fcn.0040e254
add esp, 8
mov eax, dword [esi + 0x18]
test eax, eax
je 0x40b4d3
xor edx, edx
mov dl, byte [esi + 0x4f]
push edx
push 0x41caf4
push 0x41dd08
call fcn.0040e254
xor eax, eax
mov al, byte [esi + 0x4e]
push eax
push 0x41cae0
push 0x41dd08
call fcn.0040e254
add esp, 0x18
push 0x41dd08
call fcn.0040e9f5
add esp, 4
inc ebx
jmp 0x40b035
push str.NA_tNA_n
push 0x41dd08
call fcn.0040e254
add esp, 8
push 0x41dd08
call fcn.0040e9f5
add esp, 4
inc ebx
jmp 0x40b035
mov eax, dword [0x45080c]
test eax, eax
je 0x40b61c
mov dword [ebp - 0xa170], 1
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x40b5a7
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x40b528
mov edx, dword [esi + 0x44]
test edx, edx
je 0x40b5a7
mov ecx, dword [0x4507ec]
test ecx, ecx
jne 0x40b557
mov ecx, dword [ebp - 0x60]
test ecx, ecx
jne 0x40b557
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
mov ecx, dword [esi + 0x44]
push ecx
push eax
push str.Undoing_mp3gain_changes___d__d__to__s..._n
push 0x41dd28
call fcn.0040e254
add esp, 0x14
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x40b57f
mov edx, dword [esi + 0x44]
push edx
mov eax, dword [esi + 0x40]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
push str._s_t_d_t_d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x14
lea eax, [ebx + ebx*4]
mov ecx, dword [ebp - 0x20]
lea edx, [ecx + eax*4]
push edx
push esi
mov eax, dword [esi + 0x44]
push eax
mov ecx, dword [esi + 0x40]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
push eax
call fcn.00408f70
add esp, 0x14
inc ebx
jmp 0x40b035
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x40b5cd
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
push str._s_t0_t0_n
push 0x41dd08
call fcn.0040e254
add esp, 0xc
inc ebx
jmp 0x40b035
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40c41d
test ecx, ecx
je 0x40b5fd
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
push str.No_changes_to_undo_in__s_n
push 0x41dd28
call fcn.0040e254
add esp, 0xc
inc ebx
jmp 0x40b035
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
push eax
push str.No_undo_information_in__s_n
push 0x41dd28
call fcn.0040e254
add esp, 0xc
inc ebx
jmp 0x40b035
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x40b6f0
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40b656
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
mov eax, dword [0x4507f8]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
push str.Applying_gain_change_of__d_to_CHANNEL__d_of__s..._n
push 0x41dd28
call fcn.0040e254
add esp, 0x14
mov eax, dword [0x4507f8]
test eax, eax
mov eax, dword [0x450810]
je 0x40b692
test eax, eax
je 0x40b67f
mov edx, dword [ebp - 0x24]
push edx
push 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
call fcn.00409160
add esp, 0xc
jmp 0x40b6be
lea edx, [ebx + ebx*4]
mov eax, dword [ebp - 0x20]
lea ecx, [eax + edx*4]
push ecx
push esi
mov edx, dword [ebp - 0x24]
push edx
push 0
jmp 0x40b6af
test eax, eax
je 0x40b69e
push 0
mov edx, dword [ebp - 0x24]
push edx
jmp 0x40b66e
lea edx, [ebx + ebx*4]
mov eax, dword [ebp - 0x20]
lea ecx, [eax + edx*4]
push ecx
push esi
push 0
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
call fcn.00408f70
add esp, 0x14
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40c41d
cmp dword [0x451c64], 1
jne 0x40c41d
push str._ndone_n
push 0x41dd28
call fcn.0040e254
add esp, 8
inc ebx
jmp 0x40b035
mov eax, dword [ebp - 0xa170]
test eax, eax
je 0x40b75e
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40b720
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
push str.Applying_gain_change_of__d_to__s..._n
push 0x41dd28
call fcn.0040e254
add esp, 0x10
mov eax, dword [0x450810]
test eax, eax
je 0x40b742
mov eax, dword [ebp - 0x24]
push eax
push eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
push eax
call fcn.00409160
add esp, 0xc
jmp 0x40b6be
lea ecx, [ebx + ebx*4]
mov edx, dword [ebp - 0x20]
lea eax, [edx + ecx*4]
push eax
push esi
mov eax, dword [ebp - 0x24]
push eax
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
jmp 0x40b6b6
mov eax, dword [0x450814]
test eax, eax
je 0x40b784
movsx eax, word [0x515184]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
call fcn.00402340
add esp, 8
inc ebx
jmp 0x40b035
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40b7a4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
push 0x41ccb8
push 0x41dd08
call fcn.0040e254
add esp, 0xc
mov eax, dword [esi + 0x54]
test eax, eax
jle 0x40b810
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ebx*4]
mov dword [ebp - 0xc5cc], 0
push 0x41c0f0
push eax
call fcn.0040dfe3
add esp, 8
mov edi, eax
test edi, edi
je 0x40b7ee
push 2
push 0
push edi
call fcn.0040d6f3
push edi
call fcn.0040de6b
mov dword [ebp - 0xc5cc], eax
push edi
call fcn.0040de15
add esp, 0x14
mov eax, dword [ebp - 0xc5cc]
mov dword [ebp - 0x80], eax
push 0x41c0f0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
call fcn.0040dfe3
add esp, 8
mov dword [0x450820], eax
mov eax, dword [0x450820]
test eax, eax
jne 0x40b849
mov eax, dword [esi + 0x54]
test eax, eax
jle 0x40b849
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
push str.Cant_open__s_for_reading_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x10
inc ebx
jmp 0x40b035
lea edx, [ebp - 0x7d50]
push edx
call fcn.00404900
add esp, 4
mov eax, dword [esi + 0x54]
xor edi, edi
cmp eax, edi
jne 0x40b888
fld qword [esi + 0x28]
fmul qword [0x419bb0]
fstp qword [ebp - 0xa168]
mov al, byte [esi + 0x4d]
mov byte [ebp - 0x4c], al
mov cl, byte [esi + 0x4c]
mov byte [ebp - 0x48], cl
mov dword [ebp - 0xa174], 1
jmp 0x40b8ec
test al, 3
jne 0x40b89d
fld qword [esi + 0x28]
fmul qword [0x419bb0]
fstp qword [ebp - 0xa168]
jmp 0x40b8b1
mov dword [ebp - 0xa168], 0
mov dword [ebp - 0xa164], 0
mov dword [0x4507fc], edi
mov edx, dword [0x450804]
mov dword [0x450800], edx
mov byte [ebp - 0x4c], 0
mov byte [ebp - 0x48], 0xff
mov dword [0x451c60], edi
mov dword [0x515180], edi
mov dword [0x51518c], edi
push edi
call fcn.0040a0a0
add esp, 4
mov dword [ebp - 0xa174], eax
cmp dword [ebp - 0xa174], edi
je 0x40c3de
cmp dword [esi + 0x54], edi
jle 0x40b9c4
mov dword [0x451c68], 0x515200
cmp byte [0x515200], 0x49
jne 0x40b9b2
cmp byte [0x515201], 0x44
jne 0x40b9b2
cmp byte [0x515202], 0x33
jne 0x40b9b2
cmp byte [0x515203], 0xff
jae 0x40b9b2
cmp byte [0x515204], 0xff
jae 0x40b9b2
xor eax, eax
mov al, byte [0x515206]
mov edi, eax
shl edi, 7
xor ecx, ecx
mov cl, byte [0x515207]
or edi, ecx
shl edi, 7
mov eax, dword [0x515208]
mov edx, eax
and edx, 0xff
or edi, edx
shl edi, 7
xor ecx, ecx
mov cl, ah
or edi, ecx
add edi, 0xa
lea edi, [edi + 0x515200]
mov dword [0x451c68], edi
mov edx, edi
sub edx, 0x515200
add edx, 4
mov eax, dword [0x451c60]
cmp edx, eax
jle 0x40b9b2
sub eax, edi
add eax, 0x515200
push eax
call fcn.0040a0a0
add esp, 4
mov dword [0x451c68], 0x515200
push 1
call fcn.0040a1d0
add esp, 4
mov dword [ebp - 0xa174], eax
xor edi, edi
cmp dword [ebp - 0xa174], edi
jne 0x40ba00
cmp dword [0x4507fc], edi
jne 0x40c3de
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ebx*4]
push ecx
push str.Cant_find_any_valid_MP3_frames_in_file__s_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x10
jmp 0x40c3de
mov dword [0x450800], 1
mov edx, dword [ebp - 0x90]
mov dword [edx + ebx*4], 1
inc dword [0x5151e0]
cmp dword [esi + 0x54], edi
jle 0x40be47
mov ecx, dword [0x515188]
mov al, byte [ecx + 1]
mov dl, al
and dl, 8
cmp dl, 8
mov dl, byte [ecx + 3]
jne 0x40ba4e
and dl, 0xc0
sub dl, 0xc0
neg dl
sbb edx, edx
and edx, 0xf
add edx, 0x15
jmp 0x40ba5e
and dl, 0xc0
sub dl, 0xc0
neg dl
sbb edx, edx
and edx, 8
add edx, 0xd
mov esi, edx
test al, 1
jne 0x40ba67
add esi, 2
mov al, byte [ecx + esi]
cmp al, 0x58
jne 0x40ba83
cmp byte [ecx + esi + 1], 0x69
jne 0x40ba83
cmp byte [ecx + esi + 2], 0x6e
jne 0x40ba83
cmp byte [ecx + esi + 3], 0x67
je 0x40ba9c
cmp al, 0x49
jne 0x40bafa
cmp byte [ecx + esi + 1], 0x6e
jne 0x40bafa
cmp byte [ecx + esi + 2], 0x66
jne 0x40bafa
cmp byte [ecx + esi + 3], 0x6f
jne 0x40bafa
xor eax, eax
mov al, byte [ecx + 2]
mov edx, eax
shr edx, 4
jne 0x40bad2
mov eax, dword [0x5151ec]
push eax
push str._s_is_free_format__not_currently_supported__n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x10
mov dword [ebp - 0xa174], edi
jmp 0x40baf4
shr eax, 1
and eax, 1
add eax, dword [edx*4 + 0x5151a0]
add eax, ecx
mov dword [0x451c68], eax
push edi
call fcn.0040a1d0
add esp, 4
mov dword [ebp - 0xa174], eax
mov ecx, dword [0x515188]
mov dword [ebp - 0xa4], 1
mov al, byte [0x804f18]
test al, al
jne 0x40bbac
cmp dword [ebp - 0xa174], edi
je 0x40bbb3
mov dl, byte [ecx + 1]
shr edx, 3
and edx, 3
mov esi, edx
mov al, byte [ecx + 2]
shr eax, 2
and eax, 3
cmp dword [ebp - 0x50], edi
je 0x40bb6c
lea eax, [eax + esi*4]
fld qword [eax*8 + 0x419ad0]
fst qword [0x41c300]
fmul qword [0x4179f8]
call fcn.0040e410
push eax
call fcn.00403ea0
add esp, 4
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x50], edi
mov ecx, dword [0x515188]
jmp 0x40bbb3
lea edx, [eax + esi*4]
fld qword [edx*8 + 0x419ad0]
fcomp qword [0x41c300]
fnstsw ax
test ah, 0x40
jne 0x40bbb3
fld qword [edx*8 + 0x419ad0]
fst qword [0x41c300]
fmul qword [0x4179f8]
call fcn.0040e410
push eax
call fcn.00403d20
add esp, 4
mov ecx, dword [0x515188]
jmp 0x40bbb3
mov byte [ebp - 0x88], 0
mov eax, dword [ebp - 0xa174]
test eax, eax
je 0x40be47
xor eax, eax
mov al, byte [ecx + 2]
mov edx, eax
shr edx, 4
jne 0x40bc02
mov ecx, dword [0x5151ec]
push ecx
push str._s_is_free_format__not_currently_supported__n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x10
mov dword [ebp - 0xa174], 0
mov ecx, dword [0x515188]
jmp 0x40bbb3
shr eax, 1
and eax, 1
add eax, dword [edx*4 + 0x5151a0]
mov edi, eax
xor edx, edx
mov dl, byte [ecx + 3]
mov esi, edx
shr esi, 6
xor eax, eax
cmp esi, 3
setne al
inc eax
mov dword [ebp - 0x70], eax
cmp dword [0x451c60], edi
jl 0x40bd1c
lea edx, [ebp - 0xa160]
mov dword [0x804f1c], edx
lea eax, [ebp - 0xc57c]
mov dword [0x804f24], eax
lea edx, [ebp - 0xa168]
mov dword [0x804f20], edx
lea eax, [ebp - 0x4c]
mov dword [0x7f1fd8], eax
lea edx, [ebp - 0x48]
mov dword [0x7f1fdc], edx
xor eax, eax
mov dword [0x804f28], eax
lea edx, [ebx + ebx*4]
lea edx, [ebx + edx*2]
mov esi, dword [ebp - 0x98]
lea esi, [esi + edx*8 + 0x54]
test byte [esi], 3
jne 0x40bc90
mov dword [ebp - 0x54], 1
call fcn.00408da0
jmp 0x40bcb7
wait
mov dword [ebp - 4], eax
lea eax, [ebp - 0x7d58]
push eax
push edi
push ecx
lea ecx, [ebp - 0x7d50]
push ecx
call fcn.00404db0
add esp, 0x10
mov dword [ebp - 0x54], eax
wait
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x40bd16
mov al, byte [0x804f18]
test al, al
jne 0x40bd16
test byte [esi], 1
je 0x40bd16
mov ecx, dword [ebp - 0x70]
push ecx
mov eax, dword [0x804f28]
cdq
idiv ecx
push eax
lea edx, [ebp - 0xc57c]
push edx
lea eax, [ebp - 0xa160]
push eax
call fcn.00403f10
add esp, 0x10
test eax, eax
jne 0x40bd16
push str.Error_analyzing_further_samples__max_time_reached____________n
push 0x41dd28
call fcn.0040e254
add esp, 8
mov byte [ebp - 0x88], 1
mov dword [ebp - 0xa174], 0
mov ecx, dword [0x515188]
mov al, byte [ebp - 0x88]
test al, al
jne 0x40bd44
add ecx, edi
mov dword [0x451c68], ecx
push 0
call fcn.0040a1d0
add esp, 4
mov dword [ebp - 0xa174], eax
mov ecx, dword [0x515188]
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40bbb3
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
xor edx, edx
mov esi, 0xc8
div esi
test edx, edx
jne 0x40bbb3
sub ecx, dword [0x451c60]
sub ecx, 0x515200
add ecx, dword [0x515180]
add ecx, edi
mov dword [ebp - 0xc638], ecx
mov dword [ebp - 0xc634], 0
fild qword [ebp - 0xc638]
fmul qword [0x419b70]
fidiv dword [ebp - 0x80]
call fcn.0040e410
mov esi, eax
mov byte [ebp - 0xc5f4], 0
mov eax, dword [0x5151e4]
lea edx, [eax - 1]
test edx, edx
je 0x40bdd7
push eax
mov eax, dword [0x5151e0]
push eax
push str.__d__d_
lea ecx, [ebp - 0xc5f4]
push ecx
call fcn.0040e100
add esp, 0x10
mov edx, dword [ebp - 0x80]
push edx
push esi
lea eax, [ebp - 0xc5f4]
push eax
push str.____________________________________________r_s__2d___of__u_bytes_analyzed_r
push 0x41dd28
call fcn.0040e254
push 0x41dd28
call fcn.0040e9f5
add esp, 0x18
mov ecx, dword [0x515188]
jmp 0x40bbb3
mov eax, dword [0x4507ec]
test eax, eax
jne 0x40be62
push str.__________________________________________________r
push 0x41dd28
call fcn.0040e254
add esp, 8
lea ecx, [ebx + ebx*4]
lea edx, [ebx + ecx*2]
mov eax, dword [ebp - 0x98]
lea esi, [eax + edx*8]
mov dword [ebp - 0xc63c], esi
test byte [esi + 0x54], 1
je 0x40be95
mov al, byte [0x804f18]
test al, al
je 0x40be8e
fld qword [0x419bb8]
jmp 0x40be98
call fcn.00404750
jmp 0x40be98
fld qword [esi + 0x20]
fcom qword [0x417a30]
fnstsw ax
test ah, 0x40
je 0x40bed5
fstp st(0)
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx*4]
push edx
push str.Not_enough_samples_in__s_to_do_analysis_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x10
dec dword [0x5151e0]
jmp 0x40c3de
mov al, byte [0x804f18]
test al, al
jne 0x40bf06
cmp dword [esi], 0
je 0x40bef7
fld st(0)
fsub qword [esi + 0x20]
fabs
fcomp qword [0x417a20]
fnstsw ax
test ah, 1
jne 0x40bf06
mov edi, 1
mov dword [esi + 0x50], edi
mov dword [esi], edi
fst qword [esi + 0x20]
jmp 0x40bf0b
mov edi, 1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x40bf22
mov al, byte [esi + 0x4c]
cmp al, byte [ebp - 0x48]
jne 0x40bf22
mov cl, byte [esi + 0x4d]
cmp cl, byte [ebp - 0x4c]
je 0x40bf34
mov dword [esi + 0x50], edi
mov dword [esi + 0x14], edi
mov dl, byte [ebp - 0x48]
mov byte [esi + 0x4c], dl
mov al, byte [ebp - 0x4c]
mov byte [esi + 0x4d], al
mov eax, dword [esi + 4]
test eax, eax
je 0x40bf59
fld qword [esi + 0x28]
fmul qword [0x419bb0]
fsubr qword [ebp - 0xa168]
fabs
fcomp qword [0x419ba8]
fnstsw ax
test ah, 1
jne 0x40bf6e
mov dword [esi + 0x50], edi
mov dword [esi + 4], edi
fld qword [ebp - 0xa168]
fmul qword [0x419ba0]
fstp qword [esi + 0x28]
fadd qword [ebp - 0x5c]
fst qword [ebp - 0x2c]
fldlg2
fld qword [0x4198c8]
fyl2x
fst qword [ebp - 0xc644]
fmul qword [0x419bc0]
fdivp st(1)
fld st(0)
fabs
fld st(0)
call fcn.0040e410
mov dword [ebp - 0xc648], eax
fild dword [ebp - 0xc648]
fsubr st(1)
fcomp qword [0x417a08]
fstp st(0)
fnstsw ax
test ah, 1
je 0x40bfbd
call fcn.0040e410
mov esi, eax
jmp 0x40bfd6
fcom qword [0x419bb8]
fnstsw ax
test ah, 1
je 0x40bfcd
or edi, 0xffffffff
call fcn.0040e410
mov esi, eax
add esi, edi
add esi, dword [ebp - 0xc584]
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x40c036
mov ecx, dword [ebp - 0x48]
and ecx, 0xff
push ecx
mov edx, dword [ebp - 0x4c]
and edx, 0xff
push edx
mov eax, dword [ebp - 0xa164]
push eax
mov ecx, dword [ebp - 0xa168]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
push esi
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*4]
push ecx
push str._s_t_d_t_f_t_f_t_d_t_d_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x2c
jmp 0x40c039
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x40c12d
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x40c125
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40c3de
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
push str.Recommended__Track__dB_change:__f_n
push 0x41dd08
call fcn.0040e254
push esi
push str.Recommended__Track__mp3_gain_change:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
fld qword [0x4198c8]
fild dword [ebp - 0x38]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [ebp - 0xa168]
fcomp qword [0x419b98]
fnstsw ax
test ah, 0x41
jne 0x40c0c0
push str.WARNING:_some_clipping_may_occur_with_this_gain_change__n
push 0x41dd08
call fcn.0040e254
add esp, 8
mov ecx, dword [ebp - 0xa164]
push ecx
mov edx, dword [ebp - 0xa168]
push edx
push str.Max_PCM_sample_at_current_gain:__f_n
push 0x41dd08
call fcn.0040e254
mov eax, dword [ebp - 0x4c]
and eax, 0xff
push eax
push str.Max_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
mov ecx, dword [ebp - 0x48]
and ecx, 0xff
push ecx
push str.Min_mp3_global_gain_field:__d_n
push 0x41dd08
call fcn.0040e254
push 0x41c550
push 0x41dd08
call fcn.0040e254
add esp, 0x30
jmp 0x40c3de
test eax, eax
je 0x40c3de
mov dword [ebp - 0x50], 1
mov eax, dword [0x450820]
test eax, eax
je 0x40c146
push eax
call fcn.0040de15
add esp, 4
mov dword [0x450820], 0
mov dword [ebp - 0x9c], 1
test esi, esi
jne 0x40c1c7
mov edx, dword [edi + ebx*4]
push edx
push str.No_changes_to__s_are_necessary_n
push 0x41dd08
call fcn.0040e254
add esp, 0xc
mov eax, dword [0x450810]
test eax, eax
jne 0x40c3de
mov eax, dword [ebp - 0xc63c]
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x40c3de
mov ecx, dword [edi + ebx*4]
push ecx
push str....but_tag_needs_update:_Writing_tag_information_for__s_n
push 0x41dd08
call fcn.0040e254
movsx edx, word [0x515184]
push edx
lea eax, [ebx + ebx*4]
mov ecx, dword [ebp - 0x20]
lea edx, [ecx + eax*4]
push edx
mov eax, dword [ebp - 0xc63c]
push eax
mov ecx, dword [edi + ebx*4]
push ecx
jmp 0x40c3d6
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x40c236
fld qword [0x419b98]
fdiv qword [ebp - 0xa168]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x419b90]
fdiv qword [ebp - 0xc644]
sub esp, 8
fstp qword [esp]
call fcn.0040eb7a
add esp, 8
call fcn.0040e410
mov dword [ebp - 0xc590], eax
cmp esi, eax
jle 0x40c335
push esi
mov edx, dword [edi + ebx*4]
push edx
push eax
push str.Applying_auto_clipped_mp3_gain_change_of__d_to__s_n_Original_suggested_gain_was__d__n
push 0x41dd08
call fcn.0040e254
add esp, 0x14
mov esi, dword [ebp - 0xc590]
mov dword [ebp - 0x38], esi
jmp 0x40c335
mov eax, dword [ebp - 0x7d54]
test eax, eax
jne 0x40c335
fld qword [0x4198c8]
fild dword [ebp - 0x38]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [ebp - 0xa168]
fcomp qword [0x419b98]
fnstsw ax
test ah, 0x41
jne 0x40c335
push esi
mov ecx, dword [edi + ebx*4]
push ecx
push str._nWARNING:__s_may_clip_with_mp3_gain_change__d_n
push 0x41dd28
call fcn.0040e254
mov byte [ebp - 0xc5fc], 0
push 0x41dd08
call fcn.0040e9f5
push 0x41dd28
call fcn.0040e9f5
add esp, 0x18
cmp byte [ebp - 0xc5fc], 0x4e
je 0x40c302
push str.Make_change___y_n_:
push 0x41dd28
call fcn.0040e254
push 0x41dd28
call fcn.0040e9f5
add esp, 0xc
dec dword [0x41dcec]
js 0x40c2df
mov ecx, dword [0x41dce8]
mov al, byte [ecx]
inc ecx
mov dword [0x41dce8], ecx
jmp 0x40c2ec
push 0x41dce8
call fcn.0040ed15
add esp, 4
movsx edx, al
push edx
call fcn.0040ec49
add esp, 4
mov byte [ebp - 0xc5fc], al
cmp al, 0x59
jne 0x40c2a1
xor eax, eax
cmp byte [ebp - 0xc5fc], 0x4e
setne al
test eax, eax
je 0x40c32b
mov eax, dword [edi + ebx*4]
push eax
push esi
push str.Applying_mp3_gain_change_of__d_to__s..._n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
jmp 0x40c335
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x40c390
mov ecx, dword [edi + ebx*4]
push ecx
push esi
push str.Applying_mp3_gain_change_of__d_to__s..._n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
mov eax, dword [0x450810]
test eax, eax
je 0x40c36f
push esi
push esi
mov edx, dword [edi + ebx*4]
push edx
call fcn.00409160
add esp, 0xc
jmp 0x40c3de
lea eax, [ebx + ebx*4]
mov ecx, dword [ebp - 0x20]
lea edx, [ecx + eax*4]
push edx
mov eax, dword [ebp - 0xc63c]
push eax
push esi
push esi
mov ecx, dword [edi + ebx*4]
push ecx
call fcn.00408f70
add esp, 0x14
jmp 0x40c3de
mov eax, dword [0x450810]
test eax, eax
jne 0x40c3de
mov edx, dword [ebp - 0xc63c]
mov eax, dword [edx + 0x50]
test eax, eax
je 0x40c3de
mov eax, dword [edi + ebx*4]
push eax
push str.Writing_tag_information_for__s_n
push 0x41dd08
call fcn.0040e254
movsx ecx, word [0x515184]
push ecx
lea edx, [ebx + ebx*4]
mov eax, dword [ebp - 0x20]
lea ecx, [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xc63c]
push edx
mov eax, dword [edi + ebx*4]
push eax
call fcn.00401a40
add esp, 0x1c
lea ecx, [ebp - 0x7d50]
push ecx
call fcn.00404980
push 0x41dd28
call fcn.0040e9f5
push 0x41dd08
call fcn.0040e9f5
add esp, 0xc
mov eax, dword [0x450820]
test eax, eax
je 0x40c413
push eax
call fcn.0040de15
add esp, 4
mov dword [0x450820], 0
inc ebx
jmp 0x40b035
mov eax, dword [0x5151e0]
test eax, eax
jle 0x40ca34
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x40cb25
test byte [ebp - 0x7c], 1
je 0x40c468
mov al, byte [0x804f18]
test al, al
je 0x40c45b
fld qword [0x419bb8]
mov edx, dword [ebp - 0xc588]
jmp 0x40c48c
call fcn.00404870
mov edx, dword [ebp - 0xc588]
jmp 0x40c48c
mov edx, dword [ebp - 0xc588]
lea eax, [edx + edx*4]
lea ecx, [edx + eax*2]
mov eax, dword [ebp - 0x98]
lea eax, [eax + ecx*8]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x40c489
fld qword [eax + 0x30]
jmp 0x40c48c
fld qword [eax + 0x20]
fcom qword [0x417a30]
fnstsw ax
test ah, 0x40
je 0x40c4bc
fstp st(0)
push str.Not_enough_samples_in_mp3_files_to_do_analysis_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0xc
jmp 0x40ca34
fld qword [0x419bb8]
fst qword [ebp - 0xc5a0]
mov byte [ebp - 0xc598], 0
or bl, 0xff
mov byte [ebp - 0xc594], bl
mov edi, dword [ebp + 8]
cmp edx, edi
jge 0x40c545
mov ecx, dword [ebp - 0x90]
lea ecx, [ecx + edx*4]
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
mov esi, dword [ebp - 0x98]
lea esi, [esi + eax*8 + 0x4d]
sub edi, edx
cmp dword [ecx], 0
je 0x40c533
fcom qword [esi - 0x25]
fnstsw ax
test ah, 1
je 0x40c50e
fstp st(0)
fld qword [esi - 0x25]
mov al, byte [esi]
cmp al, byte [ebp - 0xc598]
jbe 0x40c51e
mov byte [ebp - 0xc598], al
mov al, byte [esi - 1]
mov bl, byte [ebp - 0xc594]
cmp al, bl
jae 0x40c533
mov bl, al
mov byte [ebp - 0xc594], bl
add ecx, 4
add esi, 0x58
dec edi
jne 0x40c4fa
fst qword [ebp - 0xc5a0]
mov edi, dword [ebp + 8]
mov eax, dword [0x450810]
test eax, eax
jne 0x40c603
mov esi, 1
cmp dword [0x5151e0], esi
jg 0x40c56a
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x40c603
cmp edx, edi
jge 0x40c603
lea ecx, [edx + edx*4]
lea eax, [edx + ecx*2]
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx + eax*8 + 8]
sub edi, edx
mov al, byte [0x804f18]
test al, al
jne 0x40c5b0
cmp dword [ecx], 0
je 0x40c5a6
fld st(1)
fsub qword [ecx + 0x28]
fabs
fcomp qword [0x417a20]
fnstsw ax
test ah, 1
jne 0x40c5b0
mov dword [ecx + 0x48], esi
mov dword [ecx], esi
fld st(1)
fstp qword [ecx + 0x28]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x40c5c7
cmp byte [ecx + 0x46], bl
jne 0x40c5c7
mov dl, byte [ecx + 0x47]
cmp dl, byte [ebp - 0xc598]
je 0x40c5d9
mov dword [ecx + 0x48], esi
mov dword [ecx + 0x10], esi
mov byte [ecx + 0x46], bl
mov al, byte [ebp - 0xc598]
mov byte [ecx + 0x47], al
mov eax, dword [ecx + 4]
test eax, eax
je 0x40c5f4
fld st(0)
fsub qword [ecx + 0x30]
fabs
fcomp qword [0x419b88]
fnstsw ax
test ah, 1
jne 0x40c5fd
mov dword [ecx + 0x48], esi
mov dword [ecx + 4], esi
fst qword [ecx + 0x30]
add ecx, 0x58
dec edi
jne 0x40c584
fstp st(0)
fadd qword [ebp - 0x5c]
fst qword [ebp - 0x2c]
fldlg2
fld qword [0x4198c8]
fyl2x
fst qword [ebp - 0xc644]
fmul qword [0x419bc0]
fdivp st(1)
fld st(0)
fabs
fld st(0)
call fcn.0040e410
mov dword [ebp - 0xc64c], eax
fild dword [ebp - 0xc64c]
fsubr st(1)
fcomp qword [0x417a08]
fstp st(0)
fnstsw ax
test ah, 1
je 0x40c654
call fcn.0040e410
mov edi, eax
jmp 0x40c674
fcom qword [0x419bb8]
fnstsw ax
test ah, 1
je 0x40c666
or esi, 0xffffffff
jmp 0x40c66b
mov esi, 1
call fcn.0040e410
mov edi, eax
add edi, esi
add edi, dword [ebp - 0xc584]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x60]
test esi, esi
je 0x40c6d5
mov ecx, dword [ebp - 0xc594]
and ecx, 0xff
push ecx
mov edx, dword [ebp - 0xc598]
and edx, 0xff
push edx
fld qword [ebp - 0xc5a0]
fmul qword [0x419bb0]
sub esp, 8
fstp qword [esp]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
push edi
push str._Album__t_d_t_f_t_f_t_d_t_d_n
push 0x41dd08
call fcn.0040e254
push 0x41dd08
call fcn.0040e9f5
add esp, 0x28
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40c79d
test esi, esi
jne 0x40ca34
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
push str._nRecommended__Album__dB_change_for_all_files:__f_n
push 0x41dd08
call fcn.0040e254
push edi
push str.Recommended__Album__mp3_gain_change_for_all_files:__d_n
push 0x41dd08
call fcn.0040e254
add esp, 0x1c
mov eax, dword [ebp - 0xc588]
mov edi, dword [ebp + 8]
cmp eax, edi
jge 0x40ca34
mov ecx, dword [ebp + 0xc]
lea esi, [ecx + eax*4]
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
mov ebx, dword [ebp - 0x98]
lea ebx, [ebx + edx*8 + 0x28]
mov edx, dword [ebp - 0x90]
sub edx, ecx
mov dword [ebp - 0xc624], edx
sub edi, eax
jmp 0x40c751
mov edx, dword [ebp - 0xc624]
cmp dword [edx + esi], 0
je 0x40c78f
fld qword [0x4198c8]
fild dword [ebp - 0x38]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [ebx]
fcomp qword [0x4198b0]
fnstsw ax
test ah, 0x41
jne 0x40c78f
mov eax, dword [esi]
push eax
push str.WARNING:_with_this_global_gain_change__some_clipping_may_occur_in_file__s_n
push 0x41dd08
call fcn.0040e254
add esp, 0xc
add ebx, 0x58
add esi, 4
dec edi
jne 0x40c74b
jmp 0x40ca34
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x40c7ef
fldlg2
fld qword [ebp - 0xc5a0]
fyl2x
fmul qword [0x419b80]
fdiv qword [ebp - 0xc644]
sub esp, 8
fstp qword [esp]
call fcn.0040eb7a
add esp, 8
call fcn.0040e410
mov esi, eax
cmp edi, esi
jle 0x40c7ef
push edi
push esi
push str.Applying_auto_clipped_mp3_gain_change_of__d_to_album_n_Original_suggested_gain_was__d__n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
mov edi, esi
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0xc588]
cmp eax, dword [ebp + 8]
jge 0x40ca34
mov ecx, dword [ebp + 0xc]
lea esi, [ecx + eax*4]
lea edx, [eax + eax*4]
lea ecx, [eax + edx*2]
mov edx, dword [ebp - 0x98]
lea ebx, [edx + ecx*8]
mov dword [ebp - 0xc650], ebx
lea ecx, [eax + eax*4]
mov edx, dword [ebp - 0x20]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xc654], ecx
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebp + 0xc]
mov dword [ebp - 0xc624], ecx
mov edx, dword [ebp + 8]
sub edx, eax
mov dword [ebp - 0xc658], edx
jmp 0x40c84a
mov ecx, dword [ebp - 0xc624]
cmp dword [ecx + esi], 0
je 0x40ca15
mov dword [ebp - 0x9c], 1
test edi, edi
jne 0x40c8b9
mov edx, dword [esi]
push edx
push str._nNo_changes_to__s_are_necessary_n
push 0x41dd08
call fcn.0040e254
add esp, 0xc
mov eax, dword [0x450810]
test eax, eax
jne 0x40ca15
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x40ca15
mov eax, dword [esi]
push eax
push str....but_tag_needs_update:_Writing_tag_information_for__s_n
push 0x41dd08
call fcn.0040e254
movsx ecx, word [0x515184]
push ecx
mov edx, dword [ebp - 0xc654]
push edx
push ebx
mov eax, dword [esi]
push eax
jmp 0x40ca0d
mov eax, dword [ebp - 0x7d54]
test eax, eax
jne 0x40c989
fld qword [0x4198c8]
fild dword [ebp - 0x38]
fmul qword [0x419b60]
call fcn.0040e780
fmul qword [ebx + 0x28]
fcomp qword [0x4198b0]
fnstsw ax
test ah, 0x41
jne 0x40c989
push edi
mov ecx, dword [esi]
push ecx
push str._nWARNING:__s_may_clip_with_mp3_gain_change__d_n
push 0x41dd28
call fcn.0040e254
xor bl, bl
push 0x41dd08
call fcn.0040e9f5
push 0x41dd28
call fcn.0040e9f5
add esp, 0x18
cmp bl, 0x4e
je 0x40c975
push str.Make_change___y_n_:
push 0x41dd28
call fcn.0040e254
push 0x41dd28
call fcn.0040e9f5
add esp, 0xc
dec dword [0x41dcec]
js 0x40c955
mov ecx, dword [0x41dce8]
mov al, byte [ecx]
inc ecx
mov dword [0x41dce8], ecx
jmp 0x40c962
push 0x41dce8
call fcn.0040ed15
add esp, 4
movsx edx, al
push edx
call fcn.0040ec49
add esp, 4
mov bl, al
cmp bl, 0x59
jne 0x40c91b
xor eax, eax
cmp bl, 0x4e
setne al
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0xc650]
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x40c9d8
mov ecx, dword [esi]
push ecx
push edi
push str.Applying_mp3_gain_change_of__d_to__s..._n
push 0x41dd08
call fcn.0040e254
add esp, 0x10
mov eax, dword [0x450810]
test eax, eax
je 0x40c9c1
push edi
push edi
mov edx, dword [esi]
push edx
call fcn.00409160
add esp, 0xc
jmp 0x40ca15
mov eax, dword [ebp - 0xc654]
push eax
push ebx
push edi
push edi
mov ecx, dword [esi]
push ecx
call fcn.00408f70
add esp, 0x14
jmp 0x40ca15
mov eax, dword [0x450810]
test eax, eax
jne 0x40ca15
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x40ca15
mov edx, dword [esi]
push edx
push str.Writing_tag_information_for__s_n
push 0x41dd08
call fcn.0040e254
movsx eax, word [0x515184]
push eax
mov ecx, dword [ebp - 0xc654]
push ecx
push ebx
mov edx, dword [esi]
push edx
call fcn.00401a40
add esp, 0x1c
add dword [ebp - 0xc654], 0x14
add ebx, 0x58
mov dword [ebp - 0xc650], ebx
add esi, 4
dec dword [ebp - 0xc658]
jne 0x40c844
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x40cb25
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40cb25
mov eax, dword [ebp - 0xa170]
test eax, eax
jne 0x40cb25
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x40cb25
mov eax, dword [0x450814]
test eax, eax
jne 0x40cb25
mov eax, dword [0x450810]
test eax, eax
jne 0x40cb25
mov eax, dword [0x45081c]
test eax, eax
jne 0x40cb25
mov esi, dword [ebp - 0xc588]
mov edi, dword [ebp + 8]
cmp esi, edi
jge 0x40cb2b
mov eax, dword [ebp + 0xc]
lea ebx, [eax + esi*4]
lea ecx, [esi + esi*4]
lea edx, [esi + ecx*2]
mov ecx, dword [ebp - 0x98]
lea edx, [ecx + edx*8]
mov dword [ebp - 0xc65c], edx
lea ecx, [esi + esi*4]
mov edx, dword [ebp - 0x20]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xc660], ecx
mov ecx, dword [ebp - 0x90]
sub ecx, eax
mov dword [ebp - 0xc624], ecx
sub edi, esi
cmp dword [ecx + ebx], 0
je 0x40cb0f
mov edx, dword [ebp - 0xc65c]
mov eax, dword [edx + 0x50]
test eax, eax
je 0x40cb0f
movsx eax, word [0x515184]
push eax
mov ecx, dword [ebp - 0xc660]
push ecx
push edx
mov eax, dword [ebx]
push eax
call fcn.00401a40
add esp, 0x10
mov ecx, dword [ebp - 0xc624]
add dword [ebp - 0xc660], 0x14
add dword [ebp - 0xc65c], 0x58
add ebx, 4
dec edi
jne 0x40cadb
jmp 0x40cb2b
mov esi, dword [ebp - 0xc588]
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.0040d5dc
mov edx, dword [ebp - 0x90]
push edx
call fcn.0040d5dc
add esp, 8
mov eax, dword [ebp + 8]
cmp esi, eax
jge 0x40cba2
lea ecx, [esi + esi*4]
mov edx, dword [ebp - 0x20]
lea edi, [edx + ecx*4 + 4]
sub eax, esi
mov esi, eax
mov eax, dword [edi]
test eax, eax
je 0x40cb7c
mov eax, dword [eax + 0x48]
test eax, eax
je 0x40cb71
push eax
call fcn.0040d5dc
add esp, 4
mov eax, dword [edi]
push eax
call fcn.0040d5dc
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x40cb8c
push eax
call fcn.0040d5dc
add esp, 4
mov eax, dword [edi + 0xc]
test eax, eax
je 0x40cb9c
push eax
call fcn.0040d5dc
add esp, 4
add edi, 0x14
dec esi
jne 0x40cb5b
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0040d5dc
push 0x41dd08
call fcn.0040de15
push 0x41dd28
call fcn.0040de15
add esp, 0xc
xor eax, eax
mov ecx, dword [0x451c64]
test ecx, ecx
sete al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret