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

Disassembly:
sub esp, 0x2b0
mov eax, dword [0x5eef00]
xor eax, esp
mov dword [esp + 0x2ac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2d4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x314]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x31c]
mov ebx, dword [esp + 0x2d8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x320]
mov ebp, dword [esp + 0x2dc]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x324]
mov esi, dword [esp + 0x310]
mov dword [esp + 0x28], eax
xor eax, eax
xor edi, edi
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2d0]
cmp ecx, edi
mov dword [esp + 0x199], eax
mov dword [esp + 0x19d], eax
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a5], eax
mov dword [esp + 0x1a9], eax
mov dword [esp + 0x1ad], eax
mov dword [esp + 0x1b1], eax
mov word [esp + 0x1b5], ax
mov byte [esp + 0x1b7], al
mov dword [esp + 0x38], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov byte [esp + 0x198], 0
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x18], edi
lea eax, [edi + 1]
mov dword [esp + 0x3c], edi
je 0x438e15
mov dword [ecx], edi
jmp 0x438e17
xor eax, eax
cmp edx, edi
je 0x438e1f
mov dword [edx], edi
jmp 0x438e21
xor eax, eax
mov ecx, dword [esp + 0x40]
cmp ecx, edi
je 0x438e2d
mov dword [ecx], edi
jmp 0x438e2f
xor eax, eax
cmp ebx, edi
je 0x438e37
mov dword [ebx], edi
jmp 0x438e39
xor eax, eax
cmp ebp, edi
je 0x438e42
mov dword [ebp], edi
jmp 0x438e44
xor eax, eax
mov ecx, dword [esp + 0x90]
cmp ecx, edi
je 0x438e53
mov dword [ecx], edi
jmp 0x438e55
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp ecx, edi
je 0x438e61
mov dword [ecx], edi
jmp 0x438e63
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, edi
je 0x438e72
mov dword [ecx], edi
jmp 0x438e74
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, edi
je 0x438e80
mov dword [ecx], edi
jmp 0x438e82
xor eax, eax
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x438e8e
mov dword [ecx], edi
jmp 0x438e90
xor eax, eax
mov ecx, dword [esp + 0x7c]
cmp ecx, edi
je 0x438e9c
mov dword [ecx], edi
jmp 0x438e9e
xor eax, eax
mov ecx, dword [esp + 0x50]
cmp ecx, edi
je 0x438ead
mov dword [ecx], edi
mov dword [ecx + 4], edi
jmp 0x438eaf
xor eax, eax
mov ecx, dword [esp + 0x58]
cmp ecx, edi
je 0x438ebb
mov dword [ecx], edi
jmp 0x438ebd
xor eax, eax
mov ecx, dword [esp + 0x74]
cmp ecx, edi
je 0x438ec9
mov dword [ecx], edi
jmp 0x438ecb
xor eax, eax
mov ecx, dword [esp + 0x6c]
cmp ecx, edi
je 0x438ed7
mov dword [ecx], edi
jmp 0x438ed9
xor eax, eax
mov ecx, dword [esp + 0x44]
cmp ecx, edi
je 0x438ee5
mov dword [ecx], edi
jmp 0x438ee7
xor eax, eax
mov ecx, dword [esp + 0x48]
cmp ecx, edi
je 0x438ef3
mov dword [ecx], edi
jmp 0x438ef5
xor eax, eax
cmp esi, edi
je 0x438efd
mov dword [esi], edi
jmp 0x438eff
xor eax, eax
mov ecx, dword [esp + 0x94]
cmp ecx, edi
je 0x438f0e
mov dword [ecx], edi
jmp 0x438f10
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, edi
je 0x438f1c
mov dword [ecx], edi
jmp 0x438f1e
xor eax, eax
cmp dword [esp + 0x30], edi
je 0x43a478
cmp eax, 1
jne 0x43a478
push 0x80
lea ecx, [esp + 0xe4]
push edi
push ecx
call fcn.004b3a80
xor eax, eax
add esp, 0xc
lea edx, [esp + 0xb8]
mov dword [esp + 0x190], eax
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.00478880
add esp, 8
test eax, eax
jne 0x43a478
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x2c]
cmp ebx, edi
mov edx, dword [esp + 0xd0]
mov dword [esi], ecx
mov ecx, dword [esp + 0xd4]
mov dword [eax], edx
mov dword [eax + 4], ecx
je 0x43a478
mov esi, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2cc]
mov edx, esi
or edx, ebp
je 0x438fd0
push edi
push ebp
push esi
push ebx
call fcn.004b1910
add esp, 0x10
cmp eax, esi
jne 0x43a478
cmp edx, ebp
jne 0x43a478
mov ebp, 0xa
push ebp
lea eax, [esp + 0x170]
push eax
push ebx
mov dword [esp + 0x2c], ebp
call fcn.004b14d0
add esp, 0xc
cmp eax, ebp
jl 0x439daa
push 3
lea ecx, [esp + 0x170]
push 0x5e2b08
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439daa
mov bl, byte [esp + 0x16f]
mov dl, bl
sub dl, 2
cmp dl, 2
ja 0x439daa
mov al, byte [esp + 0x171]
mov cl, al
and cl, 0x80
xor edx, edx
cmp cl, 0x80
sete dl
xor ecx, ecx
and al, 0x40
cmp al, 0x40
sete cl
mov dword [esp + 0x9c], edx
mov esi, ecx
xor ecx, ecx
xor eax, eax
mov dl, byte [esp + eax + 0x172]
test dl, dl
js 0x43906e
movzx edx, dl
shl ecx, 7
add eax, 1
add ecx, edx
cmp eax, 4
jl 0x439051
jmp 0x43909d
movzx ecx, byte [esp + 0x172]
movzx eax, byte [esp + 0x173]
movzx edx, byte [esp + 0x174]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x175]
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, eax
lea edi, [ecx + 0xa]
xor ecx, ecx
cmp bl, 2
setne cl
xor edx, edx
cmp bl, 2
setne dl
mov dword [esp + 0x18], edi
lea ecx, [ecx*4 + 6]
mov dword [esp + 0xac], ecx
add edx, 3
test esi, esi
mov dword [esp + 0x98], edx
je 0x4391a7
mov ecx, dword [esp + 0x2c]
push 4
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.004b14d0
add esp, 0xc
cmp byte [esp + 0x16f], 3
jbe 0x43913b
xor ecx, ecx
xor eax, eax
mov dl, byte [esp + eax + 0x14]
test dl, dl
js 0x439113
movzx edx, dl
shl ecx, 7
add eax, 1
add ecx, edx
cmp eax, 4
jl 0x4390f6
lea ebp, [ecx + 0xa]
jmp 0x439161
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x16]
movzx ecx, al
shl ecx, 8
movzx eax, ah
add ecx, eax
movzx eax, byte [esp + 0x17]
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, eax
lea ebp, [ecx + 0xa]
jmp 0x439161
mov ecx, dword [esp + 0x14]
movzx edx, byte [esp + 0x16]
movzx eax, cl
shl eax, 8
movzx ecx, ch
add eax, ecx
movzx ecx, byte [esp + 0x17]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
lea ebp, [eax + 0xe]
cmp ebp, edi
mov dword [esp + 0x20], ebp
jg 0x439daa
mov eax, ebp
cdq
mov esi, eax
add esi, dword [esp + 0x2c8]
mov edi, edx
adc edi, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c]
push 0
push edi
push esi
push edx
call fcn.004b1910
add esp, 0x10
cmp esi, eax
jne 0x439daa
cmp edi, edx
jne 0x439daa
mov edi, dword [esp + 0x18]
cmp ebp, edi
jge 0x439daa
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0xac]
push esi
lea eax, [esp + 0x164]
push eax
push ebp
call fcn.004b14d0
add esp, 0xc
cmp eax, esi
jl 0x439daa
add dword [esp + 0x20], esi
push 3
lea ecx, [esp + 0x164]
push 0x5e2b0c
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439daa
mov dl, byte [esp + 0x162]
or dl, byte [esp + 0x161]
or dl, byte [esp + 0x160]
je 0x439daa
cmp byte [esp + 0x16f], 3
jbe 0x439231
mov esi, dword [esp + 0x98]
lea edi, [esp + esi + 0x160]
call fcn.00438730
jmp 0x439244
mov edx, dword [esp + 0x98]
lea esi, [esp + edx + 0x160]
call fcn.00438700
mov esi, eax
test esi, esi
je 0x439d9c
cmp esi, dword [esp + 0x18]
jg 0x439daa
movsx cx, byte [esp + 0x169]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov ah, byte [esp + 0x168]
push 3
lea edx, [esp + 0x164]
push 0x5e2b10
add ebx, esi
push edx
mov dword [esp + 0x2c], ebx
or ax, cx
movzx edi, ax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x43936c
push 4
lea eax, [esp + 0x164]
push str.TCOM
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43936c
push 4
lea ecx, [esp + 0x164]
push str.TCOP
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43936c
mov edx, dword [esp + 0x16f]
push edi
push edx
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.00438a90
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
add esp, 0xc
test eax, eax
jne 0x43930f
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
jmp 0x439d9c
mov esi, dword [esp + 0x14]
test esi, esi
je 0x439d9c
push esi
push eax
push 0x5e2b24
push 0
call fcn.00477200
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc0], eax
mov eax, dword [edi]
add esp, 0x10
test eax, eax
je 0x43934c
push eax
call fcn.00477540
add esp, 4
mov dword [edi], 0
lea eax, [esp + 0xb0]
push eax
call fcn.00474cf0
add esp, 4
push esi
mov dword [edi], eax
call fcn.00477540
add esp, 4
jmp 0x439d9c
push 4
lea ecx, [esp + 0x164]
push str.TCOM
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d69
lea eax, [esp + 0x160]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439395
sub eax, edx
cmp eax, 3
jne 0x4393c3
push eax
lea edx, [esp + 0x164]
push 0x5e2b2c
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d69
push 4
lea eax, [esp + 0x164]
push str.POPM
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x43944f
push esi
call fcn.004772c0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x439d9c
mov ecx, dword [esp + 0x16f]
push edi
push ecx
lea ebx, [esp + 0x1c]
mov edi, ebp
call fcn.00438420
mov edx, dword [esp + 0x1c]
lea ecx, [esi - 1]
add esp, 8
xor eax, eax
test ecx, ecx
jle 0x439439
cmp byte [eax + edx], 0
je 0x439426
add eax, 1
cmp eax, ecx
jl 0x439417
jmp 0x439439
movzx eax, byte [eax + edx + 1]
call fcn.00438c30
mov ecx, dword [esp + 0x94]
mov dword [ecx], eax
test edx, edx
je 0x439d9c
push edx
call fcn.00477540
add esp, 4
jmp 0x439d9c
push 3
lea edx, [esp + 0x164]
push 0x5e2b38
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439473
mov ebx, dword [esp + 0x24]
jmp 0x439d70
push 3
lea ecx, [esp + 0x164]
push 0x5e2b3c
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x4394ba
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x43949f
push eax
call fcn.00477540
add esp, 4
mov edx, dword [esp + 0x16f]
push edi
push edx
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov dword [esp + 0x44], eax
jmp 0x439d99
push 3
lea eax, [esp + 0x164]
push 0x5e2b40
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x4394fc
mov ebx, dword [esp + 0x4c]
mov eax, dword [ebx]
test eax, eax
je 0x4394ee
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov ecx, dword [esp + 0x16f]
push edi
push ecx
jmp 0x439d8e
push 3
lea edx, [esp + 0x164]
push 0x5e2b44
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439532
push 4
lea eax, [esp + 0x164]
push str.TIT2
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439574
push 4
lea ecx, [esp + 0x164]
push str.TT22
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439574
mov ebx, dword [esp + 0x38]
mov eax, dword [ebx]
test eax, eax
je 0x439566
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov edx, dword [esp + 0x16f]
push edi
push edx
jmp 0x439d8e
push 3
lea eax, [esp + 0x164]
push 0x5e2b58
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d1b
push 4
lea ecx, [esp + 0x164]
push str.TPE1
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d1b
push 3
lea edx, [esp + 0x164]
push 0x5e2b64
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d12
push 4
lea eax, [esp + 0x164]
push str.TPE2
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439d12
push 3
lea ecx, [esp + 0x164]
push 0x5e2b70
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43996f
push 4
lea edx, [esp + 0x164]
push str.APIC
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43996f
push 3
lea eax, [esp + 0x164]
push 0x5e2bf0
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439933
push 4
lea ecx, [esp + 0x164]
push str.TRCK
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x439933
push 3
lea edx, [esp + 0x164]
push 0x5e2bfc
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x4398bf
push 4
lea eax, [esp + 0x164]
push str.TPOS
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x4398bf
push 3
lea ecx, [esp + 0x164]
push 0x5e2c08
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43987a
push 4
lea edx, [esp + 0x164]
push str.TLEN
push edx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x43987a
push 4
lea eax, [esp + 0x164]
push str.PRIV
push eax
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439857
lea ecx, [esp + 0x180]
mov byte [esp + 0x180], al
mov dword [esp + 0x181], eax
mov dword [esp + 0x185], eax
mov dword [esp + 0x189], eax
mov word [esp + 0x18d], ax
mov byte [esp + 0x18f], al
push ecx
mov eax, esi
mov ecx, ebp
call fcn.00438770
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x439d9c
mov eax, dword [esp + 0x48]
test eax, eax
je 0x439849
cmp dword [eax], 0
jne 0x439849
mov edi, str.WM_WMCollectionID
mov esi, ebx
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x43978d
mov edi, str.WM_WMCollectionGroupID
mov esi, ebx
mov ecx, 0x17
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x439849
movzx ecx, byte [esp + 0x18f]
movzx edx, byte [esp + 0x18e]
movzx eax, byte [esp + 0x18d]
push ecx
movzx ecx, byte [esp + 0x190]
push edx
movzx edx, byte [esp + 0x193]
push eax
movzx eax, byte [esp + 0x196]
push ecx
movzx ecx, byte [esp + 0x199]
push edx
movzx edx, byte [esp + 0x19c]
push eax
movzx eax, byte [esp + 0x19e]
push ecx
movzx ecx, byte [esp + 0x1a3]
push edx
movzx edx, byte [esp + 0x1a4]
push eax
movzx eax, byte [esp + 0x1a9]
push ecx
movzx ecx, byte [esp + 0x1a8]
push edx
movzx edx, byte [esp + 0x1ad]
push eax
movzx eax, byte [esp + 0x1b2]
push ecx
movzx ecx, byte [esp + 0x1b7]
push edx
push eax
push ecx
push str._02X_02X_02X_02X__02X_02X__02X_02X__02X_02X__02X_02X_02X_02X_02X_02X
push 0
call fcn.00477200
lea edx, [esp + 0xfc]
push edx
mov dword [esp + 0x100], eax
call fcn.00474cf0
mov ecx, dword [esp + 0x94]
add esp, 0x4c
mov dword [ecx], eax
push ebx
call fcn.00477540
add esp, 4
jmp 0x439d9c
mov eax, ebx
cdq
add eax, dword [esp + 0x2c8]
push 0
adc edx, dword [esp + 0x2d0]
push edx
push eax
push ebp
call fcn.004b1910
add esp, 0x10
jmp 0x439d9c
mov edx, dword [esp + 0x16f]
push edi
push edx
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov esi, eax
add esp, 8
test esi, esi
je 0x439d9c
push esi
call fcn.004b3196
cdq
add esp, 4
push esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
call fcn.00477540
add esp, 4
jmp 0x439d9c
mov eax, dword [esp + 0x16f]
push edi
push eax
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov esi, eax
add esp, 8
test esi, esi
je 0x439d9c
push esi
call fcn.004b31a7
mov edx, dword [esp + 0x68]
add esp, 4
movzx ecx, al
push 0x5cd6d8
push esi
mov dword [edx], ecx
call fcn.004b3110
add esp, 8
test eax, eax
je 0x439925
push 0x5cd6d8
push esi
call fcn.004b3110
add eax, 1
push eax
call fcn.004b31a7
mov ecx, dword [esp + 0x88]
movzx eax, al
add esp, 0xc
mov dword [ecx], eax
push esi
call fcn.00477540
add esp, 4
jmp 0x439d9c
mov edx, dword [esp + 0x16f]
push edi
push edx
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov esi, eax
add esp, 8
test esi, esi
je 0x439d9c
push esi
call fcn.004b31a7
mov ecx, dword [esp + 0x38]
add esp, 4
push esi
mov dword [ecx], eax
call fcn.00477540
add esp, 4
jmp 0x439d9c
mov edi, dword [esp + 0x2c8]
mov ecx, ebx
mov ebx, dword [esp + 0x2cc]
sub ecx, esi
mov eax, ecx
cdq
add eax, edi
adc edx, ebx
test edx, edx
ja 0x439ce8
jb 0x43999b
cmp eax, 0xffffffff
ja 0x439ce8
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x74]
sub ecx, esi
add ecx, dword [esp + 0x20]
mov dword [eax], edx
push 3
xor eax, eax
lea edx, [esp + 0x164]
mov dword [edi], ecx
push 0x5e2b70
mov dword [ebx], esi
push edx
xor esi, esi
mov byte [esp + 0x1f], 0
mov byte [esp + 0x184], 0
mov dword [esp + 0x185], eax
mov word [esp + 0x189], ax
mov byte [esp + 0x18b], al
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439a9a
push 1
lea eax, [esp + 0x17]
push eax
push ebp
call fcn.004b14d0
add esp, 0xc
push 3
lea ecx, [esp + 0x17c]
push ecx
push ebp
mov esi, eax
call fcn.004b14d0
add esp, 0xc
push 1
lea edx, [esp + 0x17c]
push edx
push ebp
add esi, eax
call fcn.004b14d0
add esi, eax
mov al, byte [esp + 0x1f]
add esp, 0xc
test al, al
je 0x439b89
cmp al, 3
je 0x439b89
cmp al, 1
je 0x439a88
cmp al, 2
je 0x439a88
mov eax, dword [esp + 0x30]
push eax
push str.embedded_albumart_not_recognized_in_file__s
push 0
push str.mp3_get_metadata_impl
push pe_nt_image_headers32
push 2
call fcn.0048d750
add esp, 0x18
xor esi, esi
mov dword [ebx], esi
jmp 0x439b9b
push 0x100000
push 0
push ebp
call fcn.004b1c40
jmp 0x439b96
push 4
lea ecx, [esp + 0x164]
push str.APIC
push ecx
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x439b9b
push 1
lea edx, [esp + 0x17]
push edx
push ebp
call fcn.004b14d0
mov esi, eax
mov al, byte [esp + 0x1f]
add esp, 0xc
test al, al
je 0x439ad7
cmp al, 3
jne 0x439b20
push 1
lea eax, [esp + 0x17c]
push eax
push ebp
call fcn.004b14d0
add esi, eax
mov al, byte [esp + 0x184]
add esp, 0xc
cmp al, 0x69
je 0x439b20
cmp al, 0x6a
je 0x439b20
cmp al, 0x4a
je 0x439b20
cmp al, 0x70
je 0x439b20
cmp al, 0x50
je 0x439b20
cmp al, 0x2d
je 0x439b20
push 3
lea ecx, [esp + 0x17d]
push ecx
push ebp
call fcn.004b14d0
add esp, 0xc
add esi, eax
push 0x400
push 0
push ebp
call fcn.004b1b90
add esp, 0xc
push 1
lea edx, [esp + 0x17c]
push edx
push ebp
add esi, eax
call fcn.004b14d0
add esi, eax
mov al, byte [esp + 0x1f]
add esp, 0xc
test al, al
je 0x439b89
cmp al, 3
je 0x439b89
cmp al, 1
je 0x439a88
cmp al, 2
je 0x439a88
mov eax, dword [esp + 0x30]
push eax
push str.embedded_albumart_not_recognized_in_file__s
push 0
push str.mp3_get_metadata_impl
push pe_nt_image_headers32
push 2
call fcn.0048d750
add esp, 0x18
xor esi, esi
mov dword [ebx], esi
jmp 0x439b9b
push 0x100000
push 0
push ebp
call fcn.004b1b90
add esp, 0xc
add esi, eax
add dword [edi], esi
sub dword [ebx], esi
push 8
lea ecx, [esp + 0x17c]
push ecx
push ebp
call fcn.004b14d0
lea edx, [esp + 0x184]
add esp, 0xc
test edx, edx
je 0x439cb9
movzx eax, byte [0x5e22b4]
movzx ecx, byte [esp + 0x178]
sub ecx, eax
jne 0x439be7
movzx ecx, byte [esp + 0x179]
movzx edx, byte [0x5e22b5]
sub ecx, edx
je 0x439bf5
test ecx, ecx
mov eax, 1
jg 0x439bf7
or eax, 0xffffffff
jmp 0x439bf7
xor eax, eax
test eax, eax
jne 0x439c16
mov eax, dword [esp + 0x44]
test eax, eax
je 0x439cdf
mov dword [eax], 0
mov eax, dword [esp + 0x20]
jmp 0x439859
mov eax, 8
mov ecx, 0x5e22d0
lea edx, [esp + 0x178]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x439c3f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x439c27
test eax, eax
je 0x439c9c
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x439c8e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x439c9c
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x439c8e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x439c9c
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x439c8e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x439c9c
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x439c9c
test esi, esi
mov eax, 1
jg 0x439c9e
or eax, 0xffffffff
jmp 0x439c9e
xor eax, eax
test eax, eax
jne 0x439cb9
mov eax, dword [esp + 0x44]
test eax, eax
je 0x439cdf
mov dword [eax], 1
mov eax, dword [esp + 0x20]
jmp 0x439859
mov ecx, dword [esp + 0x30]
push ecx
push str.embedded_albumart_not_recognized_in_file__s
push 0
push str.mp3_get_metadata_impl
push pe_nt_image_headers32
push 2
call fcn.0048d750
add esp, 0x18
mov dword [ebx], 0
mov eax, dword [esp + 0x20]
jmp 0x439859
lea eax, [ecx + 0xd]
cdq
add eax, edi
adc edx, ebx
push edx
push eax
push str.Embedded_album_art_offset__I64u__out_of_range
push 0
push str.mp3_get_metadata_impl
push pe_nt_image_headers32
push 3
call fcn.0048d750
add esp, 0x1c
jmp 0x439d9c
mov ebx, dword [esp + 0x40]
jmp 0x439551
mov ebx, dword [esp + 0x54]
mov eax, dword [ebx]
test eax, eax
je 0x439d34
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov eax, dword [esp + 0x16f]
push edi
push eax
mov eax, esi
mov ecx, ebp
call fcn.004384a0
add esp, 8
test eax, eax
mov dword [ebx], eax
je 0x439d9c
mov ecx, dword [esp + 0x40]
cmp dword [ecx], 0
jne 0x439d9c
push eax
call fcn.004774f0
mov edx, dword [esp + 0x44]
add esp, 4
mov dword [edx], eax
jmp 0x439d9c
mov ebx, dword [esp + 0x90]
mov eax, dword [ebx]
test eax, eax
je 0x439d85
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov eax, dword [esp + 0x16f]
push edi
push eax
mov eax, esi
mov ecx, ebp
call fcn.004384a0
mov dword [ebx], eax
add esp, 8
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x20], ecx
jl 0x4391b3
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
mov eax, esi
cdq
add eax, dword [esp + 0x2c8]
push 0
adc edx, dword [esp + 0x2d0]
push edx
push eax
push ebp
call fcn.004b1910
push pe_nt_image_headers32
lea edx, [esp + 0x1cc]
push 0
push edx
call fcn.004b3a80
add esp, 0x1c
cmp dword [esp + 0x60], 0
je 0x439ed2
cmp dword [esp + 0x5c], 0
je 0x439ed2
cmp dword [esp + 0x68], 0
je 0x439ed2
lea edi, [esi + 0xc350]
cmp esi, edi
jge 0x439ed2
mov al, byte [esp + 0x1b9]
mov bl, 0xff
lea esp, [esp]
mov byte [esp + 0x1b8], al
push 1
lea eax, [esp + 0x1bd]
push eax
push ebp
call fcn.004b14d0
add esp, 0xc
test eax, eax
jle 0x439ed2
cmp byte [esp + 0x1b8], bl
mov al, byte [esp + 0x1b9]
jne 0x439e5c
mov cl, al
and cl, 0xe6
cmp cl, 0xe2
je 0x439e65
add esi, 1
cmp esi, edi
jl 0x439e20
jmp 0x439ed2
push 0xfe
lea edx, [esp + 0x1be]
push edx
push ebp
call fcn.004b14d0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
add esp, 0xc
push eax
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x64]
mov eax, esi
mov esi, dword [ecx]
cdq
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
push eax
push esi
lea eax, [esp + 0x1d4]
call fcn.00438830
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov ecx, esi
add esp, 0x1c
or ecx, edi
jne 0x439ee0
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
test edi, edi
ja 0x439eec
test esi, esi
jbe 0x439f75
mov ebx, dword [esp + 0x30]
push str.O_MP3_5.mp3
push ebx
call fcn.00474ea0
add esp, 8
test eax, eax
je 0x439f09
mov esi, 0xea60
xor edi, edi
push str.O_MP3_6.mp3
push ebx
call fcn.00474ea0
add esp, 8
test eax, eax
je 0x439f22
mov esi, 0xea60
xor edi, edi
push 0
add esi, 0x1f4
push 0x3e8
adc edi, 0
push edi
push esi
call fcn.004b3e60
push 0
push 0x3e8
push edx
push eax
call fcn.004b3e20
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x439f62
cmp dword [esp + 0x78], 2
mov esi, dword [esp + 0x70]
mov dword [ecx], esi
jne 0x439f62
mov dword [ecx], 0
push edx
push eax
call fcn.00474ef0
mov edx, dword [esp + 0x94]
add esp, 8
mov dword [edx], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x1c]
xor ebp, ebp
or eax, dword [esp + 0x2cc]
jne 0x43a026
cmp dword [ebx], ebp
je 0x439fbb
mov eax, dword [esp + 0x24]
cmp dword [eax], ebp
je 0x439fbb
mov ecx, dword [esp + 0x34]
cmp dword [ecx], ebp
je 0x439fbb
mov edx, dword [esp + 0x4c]
cmp dword [edx], ebp
je 0x439fbb
mov eax, dword [esp + 0x54]
cmp dword [eax], ebp
je 0x439fbb
mov ecx, dword [esp + 0x38]
cmp dword [ecx], ebp
jne 0x43a026
push 0x80
lea edx, [esp + 0xe4]
push 0
push edx
call fcn.004b3a80
mov esi, dword [esp + 0x38]
add esp, 0xc
push 2
push 0xffffffffffffffff
push 0xffffffffffffff80
push esi
call fcn.004b1910
push 0x80
lea eax, [esp + 0xf4]
push eax
push esi
call fcn.004b14d0
mov ecx, dword [esp + 0x159]
add esp, 0x1c
push 3
lea edx, [esp + 0xe4]
push 0x5e2ca8
push edx
mov dword [esp + 0x19c], ecx
call fcn.004b2fa4
add esp, 0xc
mov ebp, eax
neg ebp
sbb ebp, ebp
add ebp, 1
mov eax, dword [ebx]
test eax, eax
je 0x43a0d6
mov cl, byte [eax]
cmp cl, 0x28
jne 0x43a093
add eax, 1
push eax
call fcn.004b31a7
add esp, 4
mov edi, eax
call fcn.004386e0
mov esi, eax
test esi, esi
je 0x43a106
mov eax, dword [ebx]
test eax, eax
je 0x43a069
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [ebx], esi
je 0x43a106
cmp edi, 0x65
je 0x43a088
cmp edi, 0xb7
jne 0x43a106
mov dword [eax], 1
jmp 0x43a106
cmp cl, 0x30
jl 0x43a106
cmp cl, 0x39
jg 0x43a106
mov cl, byte [eax + 1]
cmp cl, 0x20
jge 0x43a0a9
test cl, cl
jne 0x43a106
push eax
call fcn.004b31a7
add esp, 4
call fcn.004386e0
mov esi, eax
test esi, esi
je 0x43a106
mov eax, dword [ebx]
test eax, eax
je 0x43a0d2
push eax
call fcn.00477540
add esp, 4
mov dword [ebx], 0
mov dword [ebx], esi
jmp 0x43a106
test ebp, ebp
je 0x43a106
movzx eax, byte [esp + 0x15f]
call fcn.004386e0
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov dword [ebx], eax
je 0x43a106
mov al, byte [esp + 0x15f]
cmp al, 0x65
je 0x43a100
cmp al, 0xb7
jne 0x43a106
mov dword [ecx], 1
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
test eax, eax
je 0x43a2cd
push eax
call fcn.004b31a7
mov ecx, 1
lea ebx, [eax - 0x76c]
add esp, 4
cmp ebx, 0x44b
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
ja 0x43a1f6
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x43a1f6
mov ecx, edi
lea esi, [ecx + 1]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x43a151
sub ecx, esi
cmp ecx, 4
jne 0x43a1f6
lea esi, [edi + 2]
push esi
call fcn.004b31a7
add esp, 4
push edi
mov dword [esp + 0x1c], eax
mov byte [esi], 0
call fcn.004b31a7
mov ecx, dword [esp + 0x1c]
lea edx, [ecx - 1]
add esp, 4
cmp edx, 0xb
mov dword [esp + 0x1c], eax
ja 0x43a19b
cmp eax, 0x1f
ja 0x43a19b
cmp eax, 1
jae 0x43a1aa
mov ecx, 1
mov eax, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
push eax
mov eax, dword [esp + 0x2c]
push ecx
push eax
push str._04u__02u__02uT12:00:00
lea ecx, [esp + 0x1a8]
push 0x20
push ecx
call fcn.004776e0
mov esi, dword [esp + 0x3c]
mov eax, dword [esi]
add esp, 0x18
test eax, eax
je 0x43a1e1
push eax
call fcn.00477540
add esp, 4
mov dword [esi], 0
lea edx, [esp + 0x198]
push edx
call fcn.004774f0
add esp, 4
jmp 0x43a334
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx]
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x43a201
sub ecx, edi
cmp ecx, 8
jne 0x43a27a
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
push ecx
push str._04u_02u_02u
push esi
call fcn.004b8402
add esp, 0x14
cmp eax, 3
jne 0x43a336
mov ecx, dword [esp + 0x28]
lea edx, [ecx - 0x76c]
cmp edx, 0x44b
ja 0x43a336
mov edx, dword [esp + 0x18]
lea eax, [edx - 1]
cmp eax, 0xb
ja 0x43a336
mov eax, dword [esp + 0x1c]
lea esi, [eax - 1]
cmp esi, 0x1e
ja 0x43a336
push eax
push edx
push ecx
push str._04d__02d__02dT12:00:00
jmp 0x43a1b6
cmp ebx, 0x44b
ja 0x43a336
push 1
push 1
push eax
push str._04u__02u__02uT12:00:00
lea eax, [esp + 0x1a8]
push 0x20
push eax
call fcn.004776e0
mov esi, dword [esp + 0x3c]
mov eax, dword [esi]
add esp, 0x18
test eax, eax
je 0x43a2bb
push eax
call fcn.00477540
add esp, 4
mov dword [esi], 0
lea ecx, [esp + 0x198]
push ecx
call fcn.004774f0
add esp, 4
jmp 0x43a334
test ebp, ebp
je 0x43a336
lea edx, [esp + 0x190]
push edx
call fcn.004b31a7
add esp, 4
cmp eax, 0x76c
jle 0x43a336
lea eax, [esp + 0x190]
push eax
call fcn.004b31a7
add esp, 4
cmp eax, 0xbb8
jge 0x43a336
lea ecx, [esp + 0x190]
push ecx
call fcn.004b31a7
add esp, 4
push eax
push str._04d_01_01T12:00:00
lea edx, [esp + 0x1a0]
push 0x20
push edx
call fcn.004776e0
lea eax, [esp + 0x1a8]
push eax
call fcn.004774f0
add esp, 0x14
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x43a347
push eax
call fcn.00477540
add esp, 4
test ebp, ebp
je 0x43a42b
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
jne 0x43a362
movsx ecx, byte [esp + 0x15e]
mov dword [eax], ecx
mov esi, dword [esp + 0x4c]
cmp dword [esi], 0
jne 0x43a3ab
lea edx, [esp + 0x11f]
push edx
call fcn.0048e450
add esp, 4
test eax, eax
jne 0x43a399
push 0x10d
call fcn.0047ac60
add esp, 4
cmp eax, 1
jne 0x43a399
mov dword [esi], 0
jmp 0x43a3ab
lea eax, [esp + 0x11f]
push eax
call fcn.004383b0
add esp, 4
mov dword [esi], eax
mov esi, dword [esp + 0x54]
cmp dword [esi], 0
jne 0x43a3c6
lea ecx, [esp + 0x101]
push ecx
call fcn.004383b0
add esp, 4
mov dword [esi], eax
mov edi, dword [esp + 0x38]
mov edx, dword [edi]
test edx, edx
je 0x43a3f1
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x43a3d5
sub eax, esi
jne 0x43a42f
push edx
call fcn.00477540
add esp, 4
mov dword [edi], 0
lea edx, [esp + 0xe3]
push edx
call fcn.0048e450
add esp, 4
test eax, eax
jne 0x43a417
push 0x10d
call fcn.0047ac60
add esp, 4
cmp eax, 1
je 0x43a472
lea eax, [esp + 0xe3]
push eax
call fcn.004383b0
add esp, 4
mov dword [edi], eax
jmp 0x43a42f
mov edi, dword [esp + 0x38]
mov edx, dword [edi]
test edx, edx
je 0x43a478
mov eax, edx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x43a440
sub eax, esi
mov ecx, 0
je 0x43a45f
cmp byte [edx + ecx], 0x20
jne 0x43a478
add ecx, 1
cmp ecx, eax
jb 0x43a452
test edx, edx
je 0x43a472
push edx
call fcn.00477540
add esp, 4
mov dword [edi], 0
mov dword [edi], 0
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b2f95
add esp, 0x2b0
ret