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

Disassembly:
push 0xffffffffffffffff
push 0x487933
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push ebp
xor ebx, ebx
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x34], ebx
xor edi, edi
cmp dword [esp + 0xc8], ebx
mov byte [esp + 0xb0], 1
jb 0x456cb7
ja 0x4566b8
cmp dword [esp + 0xc4], ebx
jbe 0x456cb7
mov esi, dword [esp + 0xbc]
nop
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0x3c]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0xd0]
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0xc4]
sbb ecx, ebp
push ecx
push eax
push edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.00450960
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 0x18
cmp edi, ebx
mov dword [esp + 0x24], 0x4a6a90
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
jne 0x456ab2
mov eax, dword [esp + 0x40]
cmp eax, 0x61746164
mov ecx, dword [esp + 0x44]
jne 0x456a55
cmp ecx, ebx
jne 0x456a55
push 1
lea eax, [esp + 0x1b]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1f], bl
call dword [0x4a6a94]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
push 3
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x2c]
call eax
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
push 4
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
call eax
cmp esi, 0x65726e67
mov eax, dword [esp + 0xc0]
jne 0x4567a3
cmp eax, ebx
je 0x4569a1
cmp esi, 0x6f706d74
jne 0x4567b3
cmp eax, ebx
je 0x4569a1
cmp esi, 0x6e6b7274
jne 0x4567c3
cmp eax, ebx
je 0x456870
cmp esi, 0x6b736964
jne 0x4567d3
cmp eax, ebx
je 0x456870
cmp esi, 0x6e737674
jne 0x4567df
cmp eax, ebx
je 0x456806
cmp esi, 0x73657674
jne 0x4567eb
cmp eax, ebx
je 0x456806
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff8
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x3c]
call fcn.00452080
jmp 0x456ab2
cmp dword [esp + 0x20], ebx
ja 0x456817
cmp dword [esp + 0x1c], 0xc
jb 0x456ab2
lea ecx, [esp + 0x24]
call fcn.0044d9b0
cmp esi, 0x6e737674
jne 0x456836
cmp dword [esp + 0xc0], ebx
mov esi, str.season
je 0x45683b
mov esi, str.episode
push 0xa
push ebx
push ebx
push eax
lea ecx, [esp + 0x78]
call fcn.00443e30
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00407b10
mov edi, dword [esp + 0xd0]
push esi
call fcn.00456530
add esp, 8
mov edi, 1
jmp 0x456aab
cmp dword [esp + 0x20], ebx
ja 0x456881
cmp dword [esp + 0x1c], 0xe
jb 0x456ab2
mov edx, dword [esp + 0x24]
push 2
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
call eax
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
push 2
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
call eax
movzx ecx, word [esp + 0x10]
mov dh, cl
push 2
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], ebx
mov dl, ch
lea ecx, [esp + 0x2c]
movzx edi, dx
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x20], ebx
movzx ecx, word [esp + 0x10]
mov dh, cl
mov dl, ch
movzx ebp, dx
ja 0x4568ee
cmp dword [esp + 0x1c], 0x10
jb 0x4568f7
lea ecx, [esp + 0x24]
call fcn.00450b50
cmp dword [esp + 0xbc], 0x6e6b7274
jne 0x456912
cmp dword [esp + 0xc0], ebx
mov esi, str.track
je 0x456917
mov esi, str.disc
push 0xa
movzx eax, di
cdq
push ebx
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.00443e30
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00407b10
mov edi, dword [esp + 0xd0]
push esi
call fcn.00456530
add esp, 8
cmp bp, bx
jbe 0x456993
cmp dword [esp + 0xbc], 0x6e6b7274
jne 0x456966
cmp dword [esp + 0xc0], ebx
mov esi, str.totaltracks
je 0x45696b
mov esi, str.totaldiscs
push 0xa
movzx eax, bp
cdq
push ebx
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.00443e30
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00407b10
push esi
call fcn.00456530
add esp, 8
mov ebp, dword [esp + 0x3c]
mov edi, 1
jmp 0x456aab
cmp dword [esp + 0x20], ebx
ja 0x4569b2
cmp dword [esp + 0x1c], 0xa
jb 0x456ab2
mov edx, dword [esp + 0x24]
push 2
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
call eax
cmp esi, 0x6f706d74
mov cx, word [esp + 0x10]
mov dh, cl
mov dl, ch
movzx eax, dx
jne 0x456a14
cmp dword [esp + 0xc0], ebx
jne 0x456a14
movzx eax, ax
push eax
lea ecx, [esp + 0x5c]
push str._.5u_BPM
push ecx
call fcn.004545b0
add esp, 8
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00407b10
push str.tempo
jmp 0x456a3f
movzx eax, ax
lea ecx, [eax - 1]
cmp ecx, 0x93
ja 0x456a4e
mov eax, dword [eax*4 + 0x4c8f54]
cmp eax, ebx
je 0x456a4e
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00407b10
push str.genre
mov edi, dword [esp + 0xd4]
call fcn.00456530
add esp, 8
mov edi, 1
jmp 0x456ab2
cmp eax, 0x656d616e
jne 0x456ab2
cmp ecx, ebx
jne 0x456ab2
push 1
lea edx, [esp + 0x1b]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1f], bl
call dword [0x4a6a94]
mov edx, dword [esp + 0x24]
push 3
lea eax, [esp + 0x54]
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x2c]
call eax
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
add esi, 0xfffffffc
call fcn.00407770
push esi
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 4
call fcn.00448870
mov esi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
adc eax, dword [esp + 0x4c]
add dword [esp + 0x38], ecx
lea ecx, [esp + 0x24]
adc ebp, eax
mov dword [esp + 0x3c], ebp
call fcn.00448cc0
cmp ebp, dword [esp + 0xc8]
jb 0x4566c0
ja 0x456af5
mov edx, dword [esp + 0xc4]
cmp dword [esp + 0x38], edx
jb 0x4566c0
mov esi, dword [esp + 0x34]
cmp esi, ebx
je 0x456c94
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x456c70
cmp byte [eax], bl
je 0x456c70
cmp edi, ebx
jne 0x456c70
mov ebp, dword [esp + 0x18]
cmp ebp, ebx
je 0x456b33
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x456b33
cmp byte [eax], bl
jne 0x456c10
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
push eax
push ecx
lea edi, [esp + 0x20]
call fcn.00454bc0
mov ebp, dword [esp + 0x20]
add esp, 8
test al, al
je 0x456c74
cmp ebp, ebx
je 0x456b66
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x456b6b
mov eax, 0x4898d0
push str.itunescompilation
push eax
call fcn.00448950
add esp, 8
test eax, eax
je 0x456b9f
cmp ebp, ebx
je 0x456b88
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x456b8d
mov eax, 0x4898d0
push str.itunespodcast
push eax
call fcn.00448950
add esp, 8
test eax, eax
jne 0x456bde
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x456bab
mov eax, 0x4898d0
movsx eax, byte [eax]
push 0xa
cdq
push ebx
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.00443f20
push eax
lea ecx, [esp + 0x14]
call fcn.00407b10
push eax
lea ecx, [esp + 0x38]
call fcn.0044ac20
lea ecx, [esp + 0x10]
call fcn.00452d50
mov esi, dword [esp + 0x34]
cmp esi, ebx
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x456bee
add dword [esi], 1
cmp ebp, ebx
je 0x456bf9
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x456bfe
mov eax, 0x4898d0
mov edi, dword [esp + 0xd0]
push eax
call fcn.00456530
add esp, 8
jmp 0x456c74
cmp eax, ebx
jne 0x456c19
mov eax, 0x4898d0
push str.date
push eax
call fcn.00448950
add esp, 8
test eax, eax
jne 0x456c32
push str.year
jmp 0x456c55
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x456c3e
mov eax, 0x4898d0
push str.tracknumber
push eax
call fcn.00448950
add esp, 8
test eax, eax
jne 0x456c62
push str.track
lea ecx, [esp + 0x1c]
call fcn.004492b0
mov ebp, dword [esp + 0x18]
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
jmp 0x456beb
mov ebp, dword [esp + 0x18]
cmp esi, ebx
je 0x456c98
add dword [esi], 0xffffffff
jne 0x456c98
mov edx, dword [esi + 4]
push edx
call fcn.0046e9f9
push esi
mov dword [esi + 4], ebx
call fcn.0046d274
add esp, 8
jmp 0x456c98
mov ebp, dword [esp + 0x18]
cmp ebp, ebx
je 0x456cb7
add dword [ebp], 0xffffffff
jne 0x456cb7
mov eax, dword [ebp + 4]
push eax
call fcn.0046e9f9
push ebp
mov dword [ebp + 4], ebx
call fcn.0046d274
add esp, 8
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa4
ret 0x18