Function at 0x47abd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x38]
push edi
test eax, eax
mov dword [esp + 0x14], ebx
je 0x47b43e
push 2
push 0xffffff71
push eax
call fcn.0048e82d
mov eax, dword [ebx + 0x38]
lea ecx, [esp + 0x68]
push eax
push 0x12
push 1
push ecx
call fcn.0048e557
add esp, 0x1c
mov ecx, 3
mov edi, 0x51af84
lea esi, [esp + 0x6b]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47b43e
mov ecx, 9
mov edi, str.LYRICSEND
lea esi, [esp + 0x62]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x47ae58
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x28], eax
push 2
add eax, 0xffffff77
push 0xffffeb21
push ecx
mov dword [esp + 0x30], eax
call fcn.0048e82d
push 0x1450
call fcn.004b2d27
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x47acb1
push 0x533538
push 0xd4
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x38]
push eax
push 0x1450
push 1
push ebp
call fcn.0048e557
add esp, 0x10
xor ebx, ebx
mov eax, ebp
cmp byte [eax], 0x4c
jne 0x47ace4
mov ecx, 0xb
mov edi, str.LYRICSBEGIN
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x47acff
inc ebx
inc eax
cmp ebx, 0x1450
jl 0x47accd
push ebp
call fcn.004b2d50
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push ebp
call fcn.004b2d50
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
push 0
mov edx, dword [ecx + 0x38]
lea eax, [ebx + eax - 0x14d4]
push eax
push edx
sub esi, eax
call fcn.0048e82d
push esi
call fcn.004b2d27
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x47ad79
push 0x533538
push 0xfc
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov ecx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x50], edx
call fcn.004905d6
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x38]
push edx
push esi
push 1
push ebp
call fcn.0048e557
push esi
push ebp
call fcn.0047aa30
mov esi, eax
lea eax, [esi + 1]
push eax
call fcn.004b2d27
mov ebx, eax
add esp, 0x1c
test ebx, ebx
jne 0x47ade9
push 0x533538
push 0x108
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov ecx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x50], edx
call fcn.004905d6
mov ecx, esi
mov byte [ebx + esi], 0
mov edx, ecx
mov esi, ebp
mov edi, ebx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004b2d50
mov eax, dword [esp + 0x18]
push 0
push ebx
push eax
call fcn.00475e40
mov esi, eax
add esp, 0x10
test esi, esi
je 0x47ae47
push 0x522318
push 0xa
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.00477b40
push str.Converted_from_Lyrics3_v1.00
push 5
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.00477b40
push ebx
call fcn.004b2d50
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov ecx, 9
mov edi, str.LYRICS200
lea esi, [esp + 0x62]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47b43e
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x62], al
lea eax, [esp + 0x5c]
push eax
call fcn.0048ebee
mov edx, dword [ebx + 0x38]
mov ebp, eax
mov ecx, 0xffffffee
push 1
sub ecx, ebp
push ecx
push edx
call fcn.0048e82d
mov eax, dword [ebx + 0x38]
lea ecx, [esp + 0x6c]
push eax
push 0xb
push 1
push ecx
call fcn.0048e557
add esp, 0x20
mov ecx, 0xb
mov edi, str.LYRICSBEGIN
lea esi, [esp + 0x5c]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47b43e
mov edi, dword [ebx + 0x44]
lea esi, [ebp - 0xb]
add ebp, 0xf
push esi
add edi, ebp
mov dword [esp + 0x34], esi
mov dword [ebx + 0x44], edi
call fcn.004b2d27
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x20], edi
jne 0x47af33
push 0x533538
push 0x132
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov ecx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x50], edx
call fcn.004905d6
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x18], 0
push ecx
push esi
push 1
push edi
mov byte [esp + 0x23], 0
call fcn.0048e557
add esp, 0x10
test esi, esi
jbe 0x47b424
mov byte [esp + 0x1f], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x39], 0
lea edx, [eax + ecx]
lea eax, [ecx + eax + 3]
mov si, word [edx]
mov ecx, dword [eax]
mov word [esp + 0x1c], si
mov dl, byte [edx + 2]
mov dword [esp + 0x34], ecx
mov byte [esp + 0x1e], dl
mov dl, byte [eax + 4]
lea eax, [esp + 0x34]
mov byte [esp + 0x38], dl
push eax
call fcn.0048ebee
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
mov esi, 0x523b84
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47afcd
test cl, cl
je 0x47afc9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47afcd
add eax, 2
add esi, 2
test cl, cl
jne 0x47afa9
xor eax, eax
jmp 0x47afd2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47afea
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp byte [eax + ecx + 9], 0x31
jne 0x47afea
mov byte [esp + 0x13], 1
mov esi, 0x523b80
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b017
test cl, cl
je 0x47b013
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b017
add eax, 2
add esi, 2
test cl, cl
jne 0x47aff3
xor eax, eax
jmp 0x47b01c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b06e
lea eax, [ebx + 1]
push eax
call fcn.004b2d27
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x47b446
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edi, ebp
lea esi, [edx + eax + 8]
mov edx, ecx
shr ecx, 2
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00475350
push ebp
call fcn.004b2d50
add esp, 0x10
mov esi, 0x523b7c
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b09b
test cl, cl
je 0x47b097
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b09b
add eax, 2
add esi, 2
test cl, cl
jne 0x47b077
xor eax, eax
jmp 0x47b0a0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b0f2
lea eax, [ebx + 1]
push eax
call fcn.004b2d27
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x47b48a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edi, ebp
lea esi, [edx + eax + 8]
mov edx, ecx
shr ecx, 2
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00474d50
push ebp
call fcn.004b2d50
add esp, 0x10
mov esi, 0x523b78
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b11f
test cl, cl
je 0x47b11b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b11f
add eax, 2
add esi, 2
test cl, cl
jne 0x47b0fb
xor eax, eax
jmp 0x47b124
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b176
lea eax, [ebx + 1]
push eax
call fcn.004b2d27
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x47b4ce
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edi, ebp
lea esi, [edx + eax + 8]
mov edx, ecx
shr ecx, 2
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00474f20
push ebp
call fcn.004b2d50
add esp, 0x10
mov esi, 0x523b74
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b1a3
test cl, cl
je 0x47b19f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b1a3
add eax, 2
add esi, 2
test cl, cl
jne 0x47b17f
xor eax, eax
jmp 0x47b1a8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b1fa
lea eax, [ebx + 1]
push eax
call fcn.004b2d27
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x47b512
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edi, ebp
lea esi, [edx + eax + 8]
mov edx, ecx
shr ecx, 2
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00475f90
push ebp
call fcn.004b2d50
add esp, 0x10
mov esi, 0x523b70
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b227
test cl, cl
je 0x47b223
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b227
add eax, 2
add esi, 2
test cl, cl
jne 0x47b203
xor eax, eax
jmp 0x47b22c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b28a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push ebx
lea esi, [eax + ecx + 8]
push esi
call fcn.0047aa30
mov edi, eax
lea edx, [edi + 1]
push edx
call fcn.004b2d27
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x47b556
mov ecx, edi
mov byte [edi + eax], 0
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x47b28a
push eax
push 5
call fcn.00477380
mov ecx, eax
call fcn.00477b40
mov esi, 0x523b6c
lea eax, [esp + 0x1c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47b2b7
test cl, cl
je 0x47b2b3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47b2b7
add eax, 2
add esi, 2
test cl, cl
jne 0x47b293
xor eax, eax
jmp 0x47b2bc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47b408
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push ebx
lea esi, [eax + ecx + 8]
push esi
mov dword [esp + 0x30], esi
call fcn.0047aa30
mov ebp, eax
mov al, byte [esp + 0x1b]
add esp, 8
test al, al
jne 0x47b36c
lea edx, [ebp + 1]
push edx
call fcn.004b2d27
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x47b59a
mov ecx, ebp
mov edi, ebx
mov eax, ecx
mov byte [ebx + ebp], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00475e40
mov esi, eax
add esp, 0xc
test esi, esi
je 0x47b363
push 0x522318
push 0xa
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.00477b40
mov eax, dword [esp + 0x24]
test eax, eax
je 0x47b34e
push eax
jmp 0x47b353
push str.Converted_from_Lyrics3_v2.00
push 5
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.00477b40
push ebx
call fcn.004b2d50
add esp, 4
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.0047aaf0
mov ebp, eax
lea eax, [ebp + 1]
push eax
call fcn.004b2d27
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x47b5de
mov esi, dword [esp + 0x28]
mov ecx, ebp
mov edx, ecx
mov edi, ebx
shr ecx, 2
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jne 0x47b3b6
mov eax, str.Converted_from_Lyrics3_v2.00
push 0
push ebp
push ebx
push eax
mov eax, dword [esp + 0x24]
push 0x522318
push eax
call fcn.00476090
mov esi, eax
add esp, 0x18
test esi, esi
mov dword [esp + 0x28], esi
je 0x47b3fb
push 2
push 0x16
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.004788f0
push 1
push 0x17
mov ecx, esi
call fcn.00477380
mov ecx, eax
call fcn.004788f0
push ebx
call fcn.004b2d50
mov ebx, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
lea ebx, [ecx + ebx + 8]
cmp ebx, eax
mov dword [esp + 0x18], ebx
jb 0x47af5d
mov edi, dword [esp + 0x20]
push edi
call fcn.004b2d50
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
je 0x47b43e
push eax
call fcn.004b2d50
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push 0x533538
push 0x158
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x16b
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x17e
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x191
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x1a6
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x1bf
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
push 0x533538
push 0x1e0
push str.C:NeoAudio_1.5.7ID3Lib_src_tag_parse_lyrics3.cpp
push 1
lea ecx, [esp + 0x5c]
call fcn.004741e0
mov edx, dword [eax]
push 0x50f878
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
call fcn.004905d6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop