Function at 0x49ab65
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x4f2665
call fcn.004ebd20
sub esp, 0xcc
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
xor ebx, ebx
or eax, 0xffffffff
xor edi, edi
mov word [ebp - 0xd8], 0x46
mov dword [ebp - 0xd4], str.filetitle
mov word [ebp - 0xd0], 0x45
mov dword [ebp - 0xcc], str.fileext
mov word [ebp - 0xc8], 0x50
mov dword [ebp - 0xc4], str.filepath
mov word [ebp - 0xc0], 0x43
mov dword [ebp - 0xbc], str.codec
mov word [ebp - 0xb8], 0x42
mov dword [ebp - 0xb4], str.bitrate
mov word [ebp - 0xb0], 0x52
mov dword [ebp - 0xac], str.rating
mov word [ebp - 0xa8], 0x41
mov dword [ebp - 0xa4], str.Artist
mov word [ebp - 0xa0], 0x54
mov dword [ebp - 0x9c], str.Title
mov word [ebp - 0x98], 0x4c
mov dword [ebp - 0x94], str.Album
mov word [ebp - 0x90], 0x47
mov dword [ebp - 0x8c], str.Genre
mov word [ebp - 0x88], 0x49
mov dword [ebp - 0x84], str.Tracknumber
mov word [ebp - 0x80], 0x59
mov dword [ebp - 0x7c], str.Date
mov word [ebp - 0x78], 0x44
mov dword [ebp - 0x74], str.Comment
mov word [ebp - 0x70], bx
mov dword [ebp - 0x6c], ebx
call fcn.0049c451
mov esi, dword [ebp + 0x10]
push 0x200
call fcn.004076f2
mov eax, esi
mov eax, dword [eax]
cmp dword [eax - 4], ebx
jle 0x49ac99
mov dword [eax - 8], ebx
mov eax, esi
mov eax, dword [eax]
mov word [eax], bx
mov eax, dword [0x51b438]
mov dword [ebp - 0x20], eax
push 0x81c8
mov dword [ebp - 4], ebx
push dword [0x522618]
lea eax, [ebp - 0x20]
push eax
call fcn.0040386d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, ebx
mov ecx, dword [eax - 8]
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], eax
je 0x49b135
mov ecx, eax
cmp ecx, dword [ebp - 0x1c]
jae 0x49b11a
cmp word [ecx], 0
je 0x49b11a
push 2
mov ebx, ecx
pop esi
cmp word [ebx], 0x25
je 0x49ad03
add ebx, esi
cmp ebx, dword [ebp - 0x1c]
jb 0x49acf4
xor ebx, ebx
test ebx, ebx
je 0x49b11a
mov eax, ebx
sub eax, ecx
sar eax, 1
add dword [ebp - 0x24], eax
cmp ebx, ecx
jbe 0x49ad3d
push ecx
lea edi, [ebp - 0x3c]
call fcn.00403775
push dword [ebp + 0x10]
call fcn.00405a57
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
je 0x49ad3d
push eax
call fcn.004013b2
lea ecx, [ebx + 2]
mov di, word [ecx]
movzx eax, di
xor ebx, ebx
add ecx, esi
mov dword [ebp - 0x50], eax
sub eax, 0x28
mov dword [ebp + 8], ebx
mov dword [ebp - 0x10], ecx
je 0x49afb7
sub eax, 0x1a
je 0x49af30
dec eax
je 0x49aeff
sub eax, esi
je 0x49aedb
dec eax
je 0x49aeb6
sub eax, 0xa
je 0x49ae92
sub eax, esi
je 0x49ae59
mov esi, dword [0x51b438]
mov dword [ebp - 0x18], esi
push 6
mov byte [ebp - 4], 4
pop eax
cmp di, word [ebp + eax*8 - 0xd8]
je 0x49adb1
inc eax
cmp eax, 0xe
jb 0x49ad9c
jmp 0x49ae48
cmp di, 0x49
mov esi, dword [ebp + eax*8 - 0xd4]
jne 0x49adcd
push 0x4fde08
lea eax, [ebp - 0x18]
call fcn.0040315f
jmp 0x49adff
lea eax, [ebp - 0x4c]
push 0
push eax
mov eax, esi
call fcn.004063a9
push dword [eax]
lea eax, [ebp - 0x18]
push dword [ebp - 0x20]
push eax
call fcn.00405b51
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff4
add esp, 0x14
cmp eax, dword [0x51b43c]
je 0x49adff
push eax
call fcn.004013b2
test esi, esi
je 0x49ae45
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 0xc]
mov ebx, esi
call fcn.0042ae03
mov esi, dword [ebp - 0x18]
push esi
push dword [ebp + 0x10]
call fcn.0049ab49
mov ebx, eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
pop ecx
pop ecx
je 0x49ae35
push eax
call fcn.004013b2
test ebx, ebx
je 0x49ae3d
xor eax, eax
jmp 0x49ae40
mov eax, dword [esi - 8]
mov dword [ebp + 8], eax
jmp 0x49ae51
mov esi, dword [ebp - 0x18]
push edi
push dword [ebp + 0x10]
call fcn.00405a3d
lea eax, [esi - 0xc]
jmp 0x49b09a
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp + 0xc]
call fcn.0049a9a4
push 0x4f8548
push dword [ebp + 0x10]
call fcn.0049ab49
mov ebx, eax
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
pop ecx
pop ecx
je 0x49ae8a
push eax
call fcn.004013b2
mov dword [ebp - 0x2c], ebx
jmp 0x49b0a8
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
call fcn.0049a86a
push 0x4f8548
push dword [ebp + 0x10]
call fcn.0049ab49
pop ecx
mov ebx, eax
mov eax, dword [ebp - 0x44]
pop ecx
jmp 0x49b097
lea eax, [ebp - 0x54]
push eax
push dword [ebp + 0xc]
call fcn.0049a6d7
push 0x4f8548
push dword [ebp + 0x10]
call fcn.0049ab49
pop ecx
mov ebx, eax
mov eax, dword [ebp - 0x54]
pop ecx
jmp 0x49b097
push dword [ebp + 0xc]
lea eax, [ebp - 0x34]
call fcn.0049a818
push 0x4f8548
push dword [ebp + 0x10]
call fcn.0049ab49
pop ecx
mov ebx, eax
mov eax, dword [ebp - 0x34]
pop ecx
jmp 0x49b097
push dword [ebp + 0xc]
lea ebx, [ebp - 0x38]
call fcn.00466ef2
mov edi, dword [ebp - 0x38]
mov esi, dword [edi - 8]
test esi, esi
mov eax, edi
jne 0x49af1b
mov eax, 0x5005c4
push eax
push dword [ebp + 0x10]
call fcn.00403184
test esi, esi
mov ebx, esi
je 0x49afa0
and dword [ebp + 8], 0
jmp 0x49afaf
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
mov edi, dword [0x51b438]
and eax, 0x7fffffff
cmp eax, 0xf4240
mov dword [ebp + 8], edi
jbe 0x49af79
test eax, eax
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
jge 0x49af5b
fadd qword [0x505348]
fmul qword [0x5053e8]
push ecx
push ecx
lea eax, [ebp + 8]
fstp qword [esp]
push str._.2fM
push eax
call fcn.00405b51
add esp, 0x10
jmp 0x49af98
cmp eax, ebx
je 0x49af0d
xor edx, edx
mov ecx, 0x3e8
div ecx
push eax
lea eax, [ebp + 8]
push 0x5005b0
push eax
call fcn.00405b51
add esp, 0xc
mov edi, dword [ebp + 8]
jmp 0x49af0d
push 0x5005c4
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov dword [ebp + 8], eax
lea eax, [edi - 0xc]
jmp 0x49b09a
cmp ecx, dword [ebp - 0x1c]
mov eax, ecx
jae 0x49afcf
cmp word [eax], 0x29
je 0x49b070
add eax, esi
cmp eax, dword [ebp - 0x1c]
jb 0x49afbe
xor esi, esi
test esi, esi
je 0x49b0a8
cmp esi, dword [ebp - 0x10]
jbe 0x49b0a8
push dword [ebp - 0x10]
mov eax, esi
sub eax, dword [ebp - 0x10]
lea edi, [ebp - 0x28]
sar eax, 1
call fcn.00403775
mov eax, dword [0x51b438]
mov dword [ebp + 8], eax
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push dword [ebp - 0x20]
push eax
call fcn.00405b51
push dword [ebp - 0x28]
or eax, 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00401571
add esp, 0x10
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
mov eax, dword [eax]
push ecx
push dword [ebp + 0xc]
mov ebx, eax
call fcn.0042ae03
mov edi, dword [ebp + 8]
push edi
push dword [ebp + 0x10]
call fcn.0049ab49
mov ebx, eax
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
pop ecx
pop ecx
je 0x49b054
push eax
call fcn.004013b2
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
je 0x49b068
push eax
call fcn.004013b2
test ebx, ebx
je 0x49b077
xor eax, eax
jmp 0x49b07a
mov esi, eax
jmp 0x49afd1
mov eax, dword [edi - 8]
mov dword [ebp + 8], eax
add esi, 2
lea eax, [edi - 0xc]
cmp eax, dword [0x51b43c]
mov dword [ebp - 0x10], esi
je 0x49b094
push eax
call fcn.004013b2
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
je 0x49b0a8
push eax
call fcn.004013b2
mov eax, dword [0x51b438]
mov dword [ebp - 0x68], eax
push dword [ebp - 0x50]
lea eax, [ebp - 0x68]
push str.___c
push eax
mov byte [ebp - 4], 5
call fcn.00405b51
mov ecx, dword [ebp - 0x24]
add esp, 0xc
test ebx, ebx
mov dword [ebp - 0x64], ecx
mov eax, ebx
jne 0x49b0d7
mov eax, dword [ebp + 8]
add ecx, eax
xor eax, eax
test ebx, ebx
setne al
lea edi, [ebp - 0x68]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
call fcn.0049c343
add dword [ebp - 0x14], ebx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
je 0x49b10f
push eax
call fcn.004013b2
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x49acdc
test ecx, ecx
je 0x49b12d
cmp word [ecx], 0
je 0x49b12d
push ecx
push dword [ebp + 0x10]
call fcn.00403184
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x2c]
jne 0x49b139
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
jne 0x49b14c
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
xor edi, edi
call fcn.0049c451
mov eax, dword [ebp + 0x10]
call fcn.00403260
mov eax, dword [ebp - 0x20]
pop edi
add eax, 0xfffffff4
cmp eax, dword [0x51b43c]
pop esi
pop ebx
je 0x49b16b
push eax
call fcn.004013b2
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov dword fs:[0], ecx
leave
ret