Function at 0x4891c6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x4c2d4d
call fcn.004bf97c
sub esp, 0xe4
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor ebx, ebx
or eax, 0xffffffff
xor edi, edi
mov byte [ebp - 0xf0], 0x46
mov dword [ebp - 0xec], str.filetitle
mov byte [ebp - 0xe8], 0x45
mov dword [ebp - 0xe4], str.fileext
mov byte [ebp - 0xe0], 0x50
mov dword [ebp - 0xdc], str.filepath
mov byte [ebp - 0xd8], 0x43
mov dword [ebp - 0xd4], str.codec
mov byte [ebp - 0xd0], 0x42
mov dword [ebp - 0xcc], str.bitrate
mov byte [ebp - 0xc8], 0x52
mov dword [ebp - 0xc4], str.rating
mov byte [ebp - 0xc0], 0x41
mov dword [ebp - 0xbc], str.Artist
mov byte [ebp - 0xb8], 0x54
mov dword [ebp - 0xb4], str.Title
mov byte [ebp - 0xb0], 0x4c
mov dword [ebp - 0xac], str.Album
mov byte [ebp - 0xa8], 0x47
mov dword [ebp - 0xa4], str.Genre
mov byte [ebp - 0xa0], 0x49
mov dword [ebp - 0x9c], str.Tracknumber
mov byte [ebp - 0x98], 0x59
mov dword [ebp - 0x94], str.Date
mov byte [ebp - 0x90], 0x44
mov dword [ebp - 0x8c], str.Comment
mov byte [ebp - 0x88], bl
mov dword [ebp - 0x84], ebx
call fcn.0048acdb
push 0x200
call fcn.0041dd97
mov eax, dword [esi]
cmp dword [eax - 4], ebx
jle 0x4892ed
mov dword [eax - 8], ebx
mov eax, dword [esi]
mov word [eax], bx
mov eax, dword [0x4e4150]
mov dword [ebp - 0x24], eax
push 0x81c8
mov dword [ebp - 4], ebx
push dword [0x4e5994]
lea eax, [ebp - 0x24]
push eax
call fcn.0041cb6c
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 - 0x18], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], eax
je 0x48985d
mov ecx, eax
cmp ecx, dword [ebp - 0x20]
jae 0x489842
cmp word [ecx], 0
je 0x489842
mov ebx, ecx
cmp word [ebx], 0x25
je 0x489354
inc ebx
inc ebx
cmp ebx, dword [ebp - 0x20]
jb 0x489345
xor ebx, ebx
test ebx, ebx
je 0x489842
mov eax, ebx
sub eax, ecx
sar eax, 1
add dword [ebp - 0x28], eax
cmp ebx, ecx
jbe 0x48938e
push ecx
lea edi, [ebp - 0x6c]
call fcn.004038d8
push dword [ebp + 0x10]
call fcn.0041dd6c
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x48938e
push eax
call fcn.00401377
lea ecx, [ebx + 2]
mov si, word [ecx]
movzx edx, si
push 2
xor ebx, ebx
pop edi
add ecx, edi
mov eax, edx
sub eax, 0x28
mov dword [ebp - 0x14], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x68], edx
je 0x4896f2
sub eax, 0x1a
je 0x489641
dec eax
je 0x4895e5
sub eax, edi
je 0x48959f
dec eax
je 0x489558
sub eax, 0xa
je 0x489512
sub eax, edi
je 0x4894b5
mov edi, dword [0x4e4150]
mov dword [ebp - 0x1c], edi
push 6
mov byte [ebp - 4], 4
pop eax
movsx ecx, byte [ebp + eax*8 - 0xf0]
cmp edx, ecx
je 0x48940c
inc eax
cmp eax, 0xe
jb 0x4893f5
jmp 0x4894a7
cmp si, 0x49
mov edi, dword [ebp + eax*8 - 0xec]
jne 0x489428
push 0x4cedb0
lea eax, [ebp - 0x1c]
call fcn.0040321c
jmp 0x48945a
lea eax, [ebp - 0x3c]
push 0
push eax
mov eax, edi
call fcn.00401809
push dword [eax]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x24]
push eax
call fcn.0041dd84
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff4
add esp, 0x14
cmp eax, dword [0x4e4154]
je 0x48945a
push eax
call fcn.00401377
test edi, edi
je 0x4894a4
lea eax, [ebp - 0x5c]
push eax
push dword [ebp + 0xc]
mov ebx, edi
call fcn.004231c6
mov edi, dword [ebp - 0x1c]
push edi
push dword [ebp + 0x10]
call fcn.004891aa
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
pop ecx
pop ecx
je 0x489491
push eax
call fcn.00401377
xor eax, eax
cmp dword [ebp + 8], eax
jne 0x4896db
mov eax, dword [edi - 8]
jmp 0x4896db
mov edi, dword [ebp - 0x1c]
push esi
push dword [ebp + 0x10]
call fcn.004242f2
jmp 0x4896de
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0xc]
call fcn.00489005
mov eax, dword [eax]
lea ecx, [ebp - 0x44]
push ebx
push ecx
call fcn.00401809
push 0x4cbf04
push dword [ebp + 0x10]
call fcn.004891aa
mov esi, eax
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff4
add esp, 0x10
cmp eax, dword [0x4e4154]
mov dword [ebp + 8], esi
je 0x4894f6
push eax
call fcn.00401377
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x48950a
push eax
call fcn.00401377
mov dword [ebp - 0x30], esi
jmp 0x4897c9
push dword [ebp + 0xc]
lea eax, [ebp - 0x64]
call fcn.00488f97
mov eax, dword [eax]
lea ecx, [ebp - 0x4c]
push ebx
push ecx
call fcn.00401809
push 0x4cbf04
push dword [ebp + 0x10]
call fcn.004891aa
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff4
add esp, 0x10
cmp eax, dword [0x4e4154]
je 0x489550
push eax
call fcn.00401377
mov eax, dword [ebp - 0x64]
jmp 0x4897b8
lea eax, [ebp - 0x70]
push eax
push dword [ebp + 0xc]
call fcn.00488e1e
mov eax, dword [eax]
lea ecx, [ebp - 0x54]
push ebx
push ecx
call fcn.00401809
push 0x4cbf04
push dword [ebp + 0x10]
call fcn.004891aa
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff4
add esp, 0x10
cmp eax, dword [0x4e4154]
je 0x489597
push eax
call fcn.00401377
mov eax, dword [ebp - 0x70]
jmp 0x4897b8
push dword [ebp + 0xc]
lea eax, [ebp - 0x40]
call fcn.00488f45
mov eax, dword [eax]
lea ecx, [ebp - 0x38]
push ebx
push ecx
call fcn.00401809
push 0x4cbf04
push dword [ebp + 0x10]
call fcn.004891aa
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff4
add esp, 0x10
cmp eax, dword [0x4e4154]
je 0x4895dd
push eax
call fcn.00401377
mov eax, dword [ebp - 0x40]
jmp 0x4897b8
push dword [ebp + 0xc]
lea ebx, [ebp - 0x48]
call fcn.00459ddb
mov eax, dword [eax]
lea ecx, [ebp - 0x50]
push 0
push ecx
call fcn.00401809
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
pop ecx
pop ecx
je 0x489613
push eax
call fcn.00401377
mov edi, dword [ebp - 0x50]
mov esi, dword [edi - 8]
test esi, esi
mov eax, edi
jne 0x489624
mov eax, 0x4cedc8
push eax
push dword [ebp + 0x10]
call fcn.0041dd42
test esi, esi
mov dword [ebp + 8], esi
je 0x4896cf
and dword [ebp - 0x14], 0
jmp 0x4896de
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
mov edi, dword [0x4e4150]
and eax, 0x7fffffff
cmp eax, 0xf4240
mov dword [ebp + 8], edi
jbe 0x48968a
test eax, eax
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
jge 0x48966c
fadd qword [0x4d2e68]
fmul qword [0x4d2f18]
push ecx
push ecx
lea eax, [ebp + 8]
fstp qword [esp]
push 0x4cedbc
push eax
call fcn.0041dd84
add esp, 0x10
jmp 0x4896a9
cmp eax, ebx
je 0x4896ac
xor edx, edx
mov ecx, 0x3e8
div ecx
push eax
lea eax, [ebp + 8]
push 0x4cedb4
push eax
call fcn.0041dd84
add esp, 0xc
mov edi, dword [ebp + 8]
mov esi, dword [edi - 8]
cmp esi, ebx
mov eax, edi
jne 0x4896ba
mov eax, 0x4cedc8
push eax
push dword [ebp + 0x10]
call fcn.0041dd42
cmp esi, ebx
mov dword [ebp + 8], esi
je 0x4896cf
mov dword [ebp - 0x14], ebx
jmp 0x4896de
push 0x4cedc8
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov dword [ebp - 0x14], eax
lea eax, [edi - 0xc]
jmp 0x4897bb
cmp word [ecx], 0x29
je 0x4898a2
add ecx, edi
cmp ecx, dword [ebp - 0x20]
jb 0x4896e6
xor esi, esi
test esi, esi
je 0x4897c9
cmp esi, dword [ebp - 0x10]
jbe 0x4897c9
push dword [ebp - 0x10]
mov eax, esi
sub eax, dword [ebp - 0x10]
lea edi, [ebp - 0x2c]
sar eax, 1
call fcn.004038d8
mov eax, dword [0x4e4150]
mov dword [ebp + 8], eax
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push dword [ebp - 0x24]
push eax
call fcn.0041dd84
push dword [ebp - 0x2c]
or eax, 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00401687
add esp, 0x10
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
mov eax, dword [eax]
push ecx
push dword [ebp + 0xc]
mov ebx, eax
call fcn.004231c6
mov edi, dword [ebp + 8]
push edi
push dword [ebp + 0x10]
call fcn.004891aa
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
pop ecx
pop ecx
je 0x48977d
push eax
call fcn.00401377
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x489791
push eax
call fcn.00401377
xor eax, eax
cmp dword [ebp + 8], eax
jne 0x48979b
mov eax, dword [edi - 8]
mov dword [ebp - 0x14], eax
add esi, 2
lea eax, [edi - 0xc]
cmp eax, dword [0x4e4154]
mov dword [ebp - 0x10], esi
je 0x4897b5
push eax
call fcn.00401377
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4897c9
push eax
call fcn.00401377
mov eax, dword [0x4e4150]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x68]
lea eax, [ebp - 0x80]
push str.___c
push eax
mov byte [ebp - 4], 5
call fcn.004058d5
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
add esp, 0xc
cmp dword [ebp + 8], 0
mov dword [ebp - 0x7c], ecx
jne 0x4897fb
mov eax, dword [ebp - 0x14]
add ecx, eax
xor eax, eax
cmp dword [ebp + 8], eax
lea edi, [ebp - 0x80]
setne al
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x14]
call fcn.0048ab67
mov eax, dword [ebp + 8]
add dword [ebp - 0x18], eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x489837
push eax
call fcn.00401377
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x489330
test ecx, ecx
je 0x489855
cmp word [ecx], 0
je 0x489855
push ecx
push dword [ebp + 0x10]
call fcn.0041dd42
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x30]
jne 0x489861
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0
jne 0x489874
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
xor edi, edi
call fcn.0048acdb
mov eax, dword [ebp + 0x10]
call fcn.00402f6f
mov eax, dword [ebp - 0x24]
pop edi
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
pop esi
pop ebx
je 0x489893
push eax
call fcn.00401377
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword fs:[0], ecx
leave
ret
mov esi, ecx
jmp 0x4896f9