Function at 0x10078d40
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101bba79
mov eax, dword fs:[0]
push eax
sub esp, 0xb54
mov eax, dword [0x10248f44]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xb18], esi
xor edi, edi
mov byte [ebp - 0xb12], 0
mov dword [ebp - 0xb10], edi
mov dword [ebp - 0x998], edi
mov dword [ebp - 0x988], edi
mov dword [ebp - 0x984], 0xf
mov byte [ebp - 0x998], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x9c8], edi
mov dword [ebp - 0x9b8], edi
mov dword [ebp - 0x9b4], 0xf
mov byte [ebp - 0x9c8], 0
mov dword [ebp - 0x980], edi
mov dword [ebp - 0x970], edi
mov dword [ebp - 0x96c], 0xf
mov byte [ebp - 0x980], 0
push 0x800
lea eax, [ebp - 0x890]
mov byte [ebp - 4], 5
push edi
push eax
call fcn.1018f2e0
add esp, 0xc
lea eax, [ebp - 0x890]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push str.LOG_DIR
mov dword [ebp - 0xb5c], eax
call fcn.1019dbe6
mov edx, eax
add esp, 4
test edx, edx
je 0x10078fa1
mov dword [ebp - 0x8f8], edi
mov ecx, edx
mov dword [ebp - 0x8e8], edi
mov dword [ebp - 0x8e4], 0xf
mov byte [ebp - 0x8f8], 0
mov byte [ebp - 4], 5
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078e50
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x8f8]
call fcn.10047990
lea edx, [ebp - 0x8f8]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8c0]
call fcn.10047580
push eax
lea ecx, [ebp - 0x8f8]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x10078ec1
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10078eb7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0a9
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp dword [ebp - 0x8e4], 0x10
lea edx, [ebp - 0x8f8]
lea ecx, [ebp - 0x930]
cmovae edx, dword [ebp - 0x8f8]
call fcn.1008a440
cmp dword [ebp - 0x91c], 8
lea eax, [ebp - 0x930]
mov edi, 0x100000
cmovae eax, dword [ebp - 0x930]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edx, dword [ebp - 0x91c]
cmp edx, 8
jb 0x10078f40
mov ecx, dword [ebp - 0x930]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10078f36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0ae
push edx
push ecx
call fcn.1018a765
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x8e4]
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x91c], 7
mov word [ebp - 0x930], ax
cmp edx, 0x10
jb 0x10078f9b
mov ecx, dword [ebp - 0x8f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10078f91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0ae
push edx
push ecx
call fcn.1018a765
add esp, 8
mov esi, dword [ebp - 0xb18]
cmp byte [esi + 0x50], 0
jne 0x1007afff
cmp dword [esi + 0x29c], 0x10
lea ecx, [esi + 0x288]
jb 0x10078fc0
mov ecx, dword [esi + 0x288]
xorps xmm0, xmm0
mov dword [esi + 0x298], 0
movups xmmword [ebp - 0x918], xmm0
push 0x38
mov byte [ecx], 0
movups xmmword [ebp - 0x908], xmm0
mov dword [ebp - 0x910], 0
call fcn.1018a730
add esp, 4
mov dword [ebp - 0x914], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x90c], 0
mov dword [ebp - 0x908], 0
mov dword [ebp - 0x904], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x90c]
push eax
push 0x10
mov dword [ebp - 0x900], 7
mov dword [ebp - 0x8fc], 8
mov dword [ebp - 0x918], 0x3f800000
call fcn.1006d5f0
mov dword [ebp - 0x948], 0
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x934], 0xf
mov byte [ebp - 0x948], 0
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8e8], 0
mov dword [ebp - 0x8e4], 0xf
mov byte [ebp - 0x8f8], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x9a0], 0
mov dword [ebp - 0x99c], 0xf
mov byte [ebp - 0x9b0], 0
mov dword [ebp - 0x930], 0
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x91c], 0xf
mov byte [ebp - 0x930], 0
add esi, 8
mov byte [ebp - 4], 0x12
push esi
mov dword [ebp - 0xb54], esi
call fcn.1018d19b
add esp, 4
test eax, eax
jne 0x1007b0b3
mov eax, dword [ebp - 0xb18]
mov byte [ebp - 4], 0x13
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xb08], eax
test eax, eax
jne 0x10079244
push esi
call fcn.1018d1c0
mov byte [ebp - 4], 0x10
add esp, 4
mov edx, dword [ebp - 0x91c]
cmp edx, 0x10
jb 0x1007915f
mov ecx, dword [ebp - 0x930]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079155
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x934]
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x91c], 0xf
mov byte [ebp - 0x930], 0
cmp edx, 0x10
jb 0x100791b8
mov ecx, dword [ebp - 0x948]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100791ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x908]
mov edx, dword [ebp - 0x90c]
sub ecx, edx
and ecx, 0xfffffffc
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x934], 0xf
mov eax, edx
mov byte [ebp - 0x948], 0
cmp ecx, 0x1000
jb 0x10079206
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push ecx
push edx
call fcn.1018a765
add esp, 8
mov dword [ebp - 0x90c], 0
lea ecx, [ebp - 0x914]
mov dword [ebp - 0x908], 0
mov dword [ebp - 0x904], 0
call fcn.1006d2e0
mov esi, dword [ebp - 0xb18]
jmp 0x1007afff
mov cl, byte [eax + 0x118]
mov byte [ebp - 0xb19], cl
mov ecx, dword [eax + 0x114]
mov dword [ebp - 0xb50], ecx
mov ecx, dword [eax + 0x11c]
mov eax, dword [eax + 0xac]
push 0x38
mov dword [ebp - 0xb60], ecx
mov dword [ebp - 0x8e0], eax
mov dword [ebp - 0x8dc], 0
mov dword [ebp - 0x8d8], 0
call fcn.1018a730
mov ecx, eax
add esp, 4
mov dword [ecx], ecx
mov dword [ecx + 4], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8d4], 0
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
mov edx, dword [ebp - 0xb08]
mov byte [ebp - 4], 0x15
push ecx
lea ecx, [ebp - 0x8d4]
mov eax, dword [edx + 0xc4]
mov dword [ebp - 0x8c8], eax
mov eax, dword [edx + 0xc8]
mov dword [ebp - 0x8c4], eax
mov eax, dword [edx + 0xbc]
sub eax, dword [edx + 0xb8]
sar eax, 2
push eax
call fcn.1006d5f0
mov eax, dword [ebp - 0xb08]
lea ecx, [ebp - 0x8e0]
mov eax, dword [eax + 0xb0]
push eax
push dword [eax]
call fcn.1006df40
lea ecx, [ebp - 0x918]
mov byte [ebp - 4], 0x13
or edi, 0x200000
call fcn.1006d8d0
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x8dc]
mov edx, dword [ebp - 0x908]
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x8dc], eax
mov eax, dword [ebp - 0x8d8]
mov dword [ebp - 0xb58], ecx
mov dword [ebp - 0x914], ecx
mov ecx, dword [ebp - 0x910]
mov dword [ebp - 0x910], eax
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x8d8], ecx
mov ecx, dword [ebp - 0x90c]
mov dword [ebp - 0x90c], eax
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0xb08], ecx
mov dword [ebp - 0x908], eax
mov eax, dword [ebp - 0x8cc]
mov dword [ebp - 0x8d4], ecx
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x904], eax
mov eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x8cc], ecx
mov ecx, dword [ebp - 0x900]
mov dword [ebp - 0x900], eax
mov eax, dword [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ecx
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x8d0], edx
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0xb08]
sub edx, eax
and edx, 0xfffffffc
mov dword [ebp - 0x8c4], ecx
cmp edx, 0x1000
jb 0x10079413
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0a9
mov eax, ecx
push edx
push eax
call fcn.1018a765
add esp, 8
mov dword [ebp - 0x8d4], 0
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
call fcn.1006d2e0
mov ecx, dword [ebp - 0xb18]
mov eax, dword [ecx + 0x48]
lea ecx, [ebp - 0x8c0]
add eax, 0x94
push eax
call fcn.1004d8a0
lea eax, [ebp - 0x8c0]
or edi, 0x400000
push eax
lea ecx, [ebp - 0x948]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x100794b2
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100794a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
mov eax, dword [ebp - 0xb18]
lea ecx, [ebp - 0x8c0]
mov eax, dword [eax + 0x48]
add eax, 0x78
push eax
call fcn.1004d8a0
lea eax, [ebp - 0x8c0]
or edi, 0x800000
push eax
lea ecx, [ebp - 0x8f8]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x1007951c
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079512
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp dword [ebp - 0x8e4], 0x10
lea eax, [ebp - 0x8f8]
push dword [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8f8]
lea ecx, [ebp - 0x9b0]
push eax
call fcn.10047990
mov ecx, dword [ebp - 0xb18]
lea eax, [ebp - 0x9b0]
push eax
call fcn.1007db80
mov ecx, dword [ebp - 0xb18]
mov eax, dword [ecx + 0x48]
lea ecx, [ebp - 0x8c0]
add eax, 0x13c
push eax
call fcn.1004d8a0
lea eax, [ebp - 0x8c0]
or edi, 0x1000000
push eax
lea ecx, [ebp - 0x930]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x100795c0
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100795b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
mov ecx, dword [ebp - 0xb18]
cmp dword [ecx + 0x298], 0
jbe 0x100795fd
lea edx, [ebp - 0x948]
lea eax, [ecx + 0x288]
cmp edx, eax
je 0x100795fd
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100795ea
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x948]
call fcn.10047990
mov ecx, dword [ebp - 0xb18]
mov eax, dword [ecx + 0x48]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0xb08], eax
mov eax, dword [ecx + 0x21c]
test eax, eax
je 0x10079680
cmp byte [ecx + 0x222], 0
je 0x10079680
add eax, 0x2c
lea ecx, [ebp - 0x8c0]
push eax
call fcn.1004d8a0
lea eax, [ebp - 0x8c0]
or edi, 0x2000000
push eax
lea ecx, [ebp - 0x9c8]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x10079680
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079676
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
push esi
mov byte [ebp - 4], 0x12
call fcn.1018d1c0
mov esi, dword [ebp - 0xb18]
add esp, 4
cmp dword [esi + 0x24c], 0
je 0x100796ca
lea eax, [esi + 0x23c]
lea ecx, [ebp - 0x998]
cmp ecx, eax
je 0x10079735
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100796bb
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x998]
call fcn.10047990
jmp 0x10079735
mov eax, dword [esi + 0x218]
test eax, eax
je 0x10079735
add eax, 0x44
lea ecx, [ebp - 0x8c0]
push eax
call fcn.1004d8a0
lea eax, [ebp - 0x8c0]
or edi, 0x4000000
push eax
lea ecx, [ebp - 0x998]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x10079735
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007972b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
mov byte [ebp - 0xb01], 0
mov byte [ebp - 0xb11], 0
mov byte [ebp - 0xb09], 0
mov dword [ebp - 0xb34], 0
push 3
push 0x10230bac
lea ecx, [ebp - 0xb34]
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], 0
mov byte [ebp - 4], 0x12
call fcn.10047990
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0xb34]
or edi, 1
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x10079820
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x8a8]
push 3
push 0x10230bac
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0xf
mov byte [ebp - 0x8a8], al
mov byte [ebp - 4], 0x17
call fcn.10047990
mov dword [ebp - 4], 0x19
lea edx, [ebp - 0x8a8]
or edi, 2
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x10079827
mov byte [ebp - 0xaf9], 1
mov dword [ebp - 4], 0x17
mov eax, dword [ebp - 0xb00]
test al, 2
je 0x10079881
mov edx, dword [ebp - 0x894]
and eax, 0xfffffffd
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x10079881
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079871
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x12
test al, 1
je 0x100798cf
mov edx, dword [ebp - 0xb20]
and eax, 0xfffffffe
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x100798cf
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100798c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp byte [ebp - 0xaf9], 0
je 0x100798e4
mov byte [ebp - 0xb01], 1
jmp 0x10079d0e
mov dword [ebp - 0x8a8], 0
push 4
push str.flac
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0xf
mov byte [ebp - 0x8a8], 0
mov byte [ebp - 4], 0x12
call fcn.10047990
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x8a8]
mov edi, dword [ebp - 0xb00]
lea ecx, [ebp - 0x8f8]
or edi, 4
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x100799c0
mov dword [ebp - 0xb34], 0
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0xb34]
push 4
push str.flac
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], al
mov byte [ebp - 4], 0x1b
call fcn.10047990
mov dword [ebp - 4], 0x1d
lea edx, [ebp - 0xb34]
or edi, 8
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x100799c7
mov byte [ebp - 0xaf9], 1
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0xb00]
test al, 8
je 0x10079a21
mov edx, dword [ebp - 0xb20]
and eax, 0xfffffff7
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x10079a21
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079a11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x12
test al, 4
je 0x10079a6f
mov edx, dword [ebp - 0x894]
and eax, 0xfffffffb
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x10079a6f
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079a65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp byte [ebp - 0xaf9], 0
je 0x10079a84
mov byte [ebp - 0xb11], 1
jmp 0x10079d0e
mov dword [ebp - 0x8a8], 0
push 4
push str.aiff
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0xf
mov byte [ebp - 0x8a8], 0
mov byte [ebp - 4], 0x12
call fcn.10047990
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x8a8]
mov edi, dword [ebp - 0xb00]
lea ecx, [ebp - 0x8f8]
or edi, 0x10
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x10079b60
mov dword [ebp - 0xb34], 0
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0xb34]
push 4
push str.aiff
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], al
mov byte [ebp - 4], 0x1f
call fcn.10047990
mov dword [ebp - 4], 0x21
lea edx, [ebp - 0xb34]
or edi, 0x20
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x10079b67
mov byte [ebp - 0xaf9], 1
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0xb00]
test al, 0x20
je 0x10079bc1
mov edx, dword [ebp - 0xb20]
and eax, 0xffffffdf
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x10079bc1
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079bb1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x12
test al, 0x10
je 0x10079c0f
mov edx, dword [ebp - 0x894]
and eax, 0xffffffef
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x10079c0f
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079c05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0b9
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp byte [ebp - 0xaf9], 0
je 0x10079c24
mov byte [ebp - 0xb09], 1
jmp 0x10079d0e
lea edx, [ebp - 0x948]
lea ecx, [ebp - 0x8c0]
call fcn.10087820
cmp dword [ebp - 0x8b0], 0
je 0x10079cd0
mov dword [ebp - 0xb34], 0
push 3
push 0x10230bb8
lea ecx, [ebp - 0xb34]
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], 0
mov byte [ebp - 4], 0x22
call fcn.10047990
lea edx, [ebp - 0xb34]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x8c0]
call fcn.100873d0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0xb20]
cmp edx, 0x10
jb 0x10079cd0
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079cc6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0be
push edx
push ecx
call fcn.1018a765
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x10079d0e
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079d04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0be
push edx
push ecx
call fcn.1018a765
add esp, 8
lea edx, [ebp - 0x9c8]
lea ecx, [ebp - 0x8c0]
call fcn.100882f0
push eax
lea ecx, [ebp - 0x980]
call fcn.10047850
mov edx, dword [ebp - 0x8ac]
cmp edx, 0x10
jb 0x10079d65
mov ecx, dword [ebp - 0x8c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10079d5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c3
push edx
push ecx
call fcn.1018a765
add esp, 8
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.1018f2e0
push dword [ebp - 0xb08]
lea eax, [ebp - 0x90]
push 0x10230c14
push 0x80
push eax
call fcn.100594a0
xorps xmm0, xmm0
add esp, 0x1c
movlpd qword [ebp - 0x950], xmm0
mov dword [ebp - method.TSEnc2_cb.virtual_0], vtable.TSEnc2_cb.0
mov dword [ebp - 0x94c], esi
mov byte [ebp - 4], 0x25
call dword [sym.imp.trencoder2.dll_class_ITREnc2____cdecl_Create_ITREnc2_void_]
mov esi, eax
lea ecx, [ebp - 0x950]
push ecx
mov ecx, esi
mov dword [ebp - 0xb08], esi
mov eax, dword [esi]
call dword [eax + 0x18]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 0xafa], 0
call fcn.10070e10
mov dword [ebp - 0xb54], eax
test eax, eax
je 0x10079e2b
cmp dword [eax + 0x100], 0
jne 0x10079e2b
cmp dword [ebp - 0x920], 0
je 0x10079e2b
mov eax, dword [esi]
mov ecx, esi
cmp dword [ebp - 0x91c], 0x10
mov edx, dword [eax + 8]
lea eax, [ebp - 0x930]
cmovae eax, dword [ebp - 0x930]
push eax
push str.decryption_key
call edx
mov byte [ebp - 0xafa], 1
lea ecx, [ebp - 0x948]
call fcn.10087ab0
cmp byte [ebp - 0xb19], 0
jne 0x10079e50
mov eax, dword [esi]
mov ecx, esi
push str.00:00:00.000
push 0x10230c18
call dword [eax + 8]
push str.ENCODER_LOG
call fcn.1019dbe6
add esp, 4
mov dword [ebp - 0xb10], eax
test eax, eax
je 0x10079efc
mov edx, str.true
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xaf9], al
mov eax, dword [ebp - 0xb10]
jne 0x10079eb4
cmp byte [ebp - 0xaf9], 0
je 0x10079eb0
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xaf9], al
mov eax, dword [ebp - 0xb10]
jne 0x10079eb4
add ecx, 2
add edx, 2
cmp byte [ebp - 0xaf9], 0
jne 0x10079e72
xor ecx, ecx
jmp 0x10079eb9
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x10079eeb
mov ecx, str.TRUE
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10079ee2
test dl, dl
je 0x10079ede
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10079ee2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10079ec2
xor eax, eax
jmp 0x10079ee7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10079efc
mov eax, dword [esi]
mov ecx, esi
push 0x1022de8b
push str.report
call dword [eax + 8]
lea eax, [ebp - 0x8a8]
push eax
mov eax, dword [ebp - 0xb18]
mov ecx, dword [eax + 0x48]
call fcn.1006cfd0
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0x898], 0
je 0x1007a3f8
mov dword [ebp - 0xb4c], 0
push 4
push str.flac
lea ecx, [ebp - 0xb4c]
mov dword [ebp - 0xb3c], 0
mov dword [ebp - 0xb38], 0xf
mov byte [ebp - 0xb4c], 0
mov byte [ebp - 4], 0x26
call fcn.10047990
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0xb4c]
mov edi, dword [ebp - 0xb00]
lea ecx, [ebp - 0x8a8]
or edi, 0x40
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a005
mov dword [ebp - 0xb34], 0
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0xb34]
push 4
push str.opus
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], al
mov byte [ebp - 4], 0x28
call fcn.10047990
mov dword [ebp - 4], 0x2a
lea edx, [ebp - 0xb34]
or edi, 0x80
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x1007a00c
mov byte [ebp - 0xaf9], 1
mov dword [ebp - 4], 0x28
mov eax, dword [ebp - 0xb00]
test al, al
jns 0x1007a068
mov edx, dword [ebp - 0xb20]
and eax, 0xffffff7f
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x1007a068
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a058
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x26
test al, 0x40
je 0x1007a0b6
mov edx, dword [ebp - 0xb38]
and eax, 0xffffffbf
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x1007a0b6
mov ecx, dword [ebp - 0xb4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a0ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp byte [ebp - 0xaf9], 0
je 0x1007a106
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x894]
cmp edx, 0x10
jb 0x1007a6a6
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a0f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
add esp, 8
jmp 0x1007a6a6
mov dword [ebp - 0x968], 0
push 3
push 0x10230bb4
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x954], 0xf
mov byte [ebp - 0x968], 0
mov byte [ebp - 4], 0x26
call fcn.10047990
mov byte [ebp - 4], 0x2c
lea edx, [ebp - 0x968]
mov edi, dword [ebp - 0xb00]
lea ecx, [ebp - 0x8a8]
or edi, 0x100
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a25f
mov dword [ebp - 0xb34], 0
mov dword [ebp - 4], 0x2d
lea ecx, [ebp - 0xb34]
push 3
push 0x10230bb8
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], al
mov byte [ebp - 4], 0x2c
call fcn.10047990
mov dword [ebp - 4], 0x2e
lea edx, [ebp - 0xb34]
or edi, 0x200
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a25f
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0xb4c]
push 3
push 0x10230bb0
mov dword [ebp - 0xb3c], 0
mov dword [ebp - 0xb38], 0xf
mov byte [ebp - 0xb4c], al
mov byte [ebp - 4], 0x2e
call fcn.10047990
mov dword [ebp - 4], 0x30
lea edx, [ebp - 0xb4c]
or edi, 0x400
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x1007a266
mov byte [ebp - 0xaf9], 1
mov dword [ebp - 4], 0x2e
mov eax, dword [ebp - 0xb00]
test eax, 0x400
je 0x1007a2c5
mov edx, dword [ebp - 0xb38]
and eax, 0xfffffbff
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x1007a2c5
mov ecx, dword [ebp - 0xb4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a2b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x2c
test eax, 0x200
je 0x1007a31e
mov edx, dword [ebp - 0xb20]
and eax, 0xfffffdff
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x1007a31e
mov ecx, dword [ebp - 0xb34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a30e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
mov eax, dword [ebp - 0xb00]
add esp, 8
mov dword [ebp - 4], 0x26
test eax, 0x100
je 0x1007a371
mov edx, dword [ebp - 0x954]
and eax, 0xfffffeff
mov dword [ebp - 0xb00], eax
cmp edx, 0x10
jb 0x1007a371
mov ecx, dword [ebp - 0x968]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a367
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
add esp, 8
cmp byte [ebp - 0xaf9], 0
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x894]
je 0x1007a3c1
cmp edx, 0x10
jb 0x1007a673
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a3b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
push edx
push ecx
call fcn.1018a765
add esp, 8
jmp 0x1007a673
cmp edx, 0x10
jb 0x1007a6a6
mov ecx, dword [ebp - 0x8a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a0f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007b0c8
jmp 0x1007a0f7
lea edx, [ebp - 0x998]
lea ecx, [ebp - 0x8c0]
call fcn.10087820
mov dword [ebp - 0xb34], 0
push 3
push 0x10230bc4
lea ecx, [ebp - 0xb34]
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0xf
mov byte [ebp - 0xb34], 0
mov byte [ebp - 4], 0x31
call fcn.10047990
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0xb34]
mov edi, dword [ebp - 0xb00]
lea ecx, [ebp - 0x8c0]
or edi, 0x800
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a59e
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 4], 0x34
lea ecx, [ebp - 0xb4c]
push 3
push 0x10230bb4
mov dword [ebp - 0xb3c], 0
mov dword [ebp - 0xb38], 0xf
mov byte [ebp - 0xb4c], al
mov byte [ebp - 4], 0x33
call fcn.10047990
mov dword [ebp - 4], 0x35
lea edx, [ebp - 0xb4c]
or edi, 0x1000
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a59e
mov dword [ebp - 0x968], 0
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x968]
push 0x10230bb8
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x954], 0xf
mov byte [ebp - 0x968], al
mov byte [ebp - 4], 0x35
call fcn.1004e940
mov dword [ebp - 4], 0x37
lea edx, [ebp - 0x968]
or edi, 0x2000
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
jne 0x1007a59e
push 0x10230bb0
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov dword [ebp - 4], 0x38
lea edx, [ebp - 0x8d8]
or edi, 0x4000
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0xb00], edi
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xaf9], 0
test al, al
je 0x1007a5a5
mov byte [ebp - 0xaf9], 1
mov eax, dword [ebp - 0xb00]
test eax, 0x4000
je 0x1007a5ce
and eax, 0xffffbfff
lea ecx, [ebp - 0x8d8]
mov dword [ebp - 0xb00], eax
call fcn.10047800
mov eax, dword [ebp - 0xb00]
test eax, 0x2000
je 0x1007a5f1
and eax, 0xffffdfff
lea ecx, [ebp - 0x968]
mov dword [ebp - 0xb00], eax
call fcn.10047800
mov eax, dword [ebp - 0xb00]
test eax, 0x1000
je 0x1007a614
and eax, 0xffffefff
lea ecx, [ebp - 0xb4c]
mov dword [ebp - 0xb00], eax
call fcn.10047800
mov eax, dword [ebp - 0xb00]
mov dword [ebp - 4], 0x31
test eax, 0x800
je 0x1007a638
and eax, 0xfffff7ff
lea ecx, [ebp - 0xb34]
mov dword [ebp - 0xb00], eax
call fcn.10047800
cmp byte [ebp - 0xaf9], 0
jne 0x1007a659
cmp byte [ebp - 0xafa], 0
je 0x1007a68c
mov eax, dword [ebp - 0xb54]
cmp dword [eax + 0xfc], 3
jne 0x1007a68c
lea ecx, [ebp - 0x8c0]
call fcn.10047800
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
mov edi, dword [ebp - 0xb08]
mov ecx, edi
push 0x10230bb4
push 0x10230c44
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x1007a6ac
lea ecx, [ebp - 0x8c0]
call fcn.10047800
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
mov edi, dword [ebp - 0xb08]
lea ecx, [ebp - 0x998]
call fcn.10088f00
push 0x98
mov esi, eax
lea eax, [ebp - 0xa60]
push 0
push eax
call fcn.1018f2e0
add esp, 8
lea ecx, [ebp - 0xa60]
call fcn.1004ce50
mov edx, str.fs_0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0xa60]
call fcn.1004fd80
push esi
mov ecx, eax
call fcn.1007f300
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0xa60]
call fcn.1004cdc0
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.1004d6a0
mov edx, eax
mov ecx, 0x1022de8b
call fcn.10090370
lea ecx, [ebp - 0x8d8]
call fcn.10047800
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x25
call fcn.1004c710
mov eax, dword [edi]
lea ecx, [ebp - 0x998]
mov esi, dword [eax + 8]
call fcn.1004d6a0
push eax
push 0x10230c4c
mov ecx, edi
call esi
cmp byte [ebp - 0xb01], 0
jne 0x1007a76e
cmp byte [ebp - 0xb11], 0
jne 0x1007a76e
cmp byte [ebp - 0xb09], 0
je 0x1007a791
cmp dword [ebp - 0x970], 0
jbe 0x1007a791
mov eax, dword [edi]
lea ecx, [ebp - 0x980]
mov esi, dword [eax + 8]
call fcn.1004d6a0
push eax
push 0x10230c4c
mov ecx, edi
call esi
mov eax, dword [ebp - 0xb58]
mov esi, dword [eax]
cmp esi, eax
je 0x1007a860
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x968]
call fcn.1004d8a0
lea eax, [esi + 0x20]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x8c0]
call fcn.1004d8a0
push 0x10230c48
lea edx, [ebp - 0x968]
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xb4c]
call fcn.1007f540
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 0x3d
push ecx
mov edx, eax
lea ecx, [ebp - 0x8d8]
call fcn.10058a30
add esp, 8
lea ecx, [ebp - 0xb4c]
mov byte [ebp - 4], 0x3f
call fcn.10047800
mov eax, dword [edi]
lea ecx, [ebp - 0x8d8]
mov edi, dword [eax + 8]
call fcn.1004d6a0
mov ecx, dword [ebp - 0xb08]
push eax
push str.metadata
call edi
lea ecx, [ebp - 0x8d8]
call fcn.10047800
lea ecx, [ebp - 0x8c0]
call fcn.10047800
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 0x25
call fcn.10047800
mov eax, dword [esi]
mov esi, eax
mov edi, dword [ebp - 0xb08]
cmp eax, dword [ebp - 0xb58]
jne 0x1007a7a1
cmp byte [ebp - 0xb01], 0
jne 0x1007a87f
cmp byte [ebp - 0xb11], 0
jne 0x1007a87f
cmp byte [ebp - 0xb09], 0
je 0x1007a8ef
mov eax, dword [edi]
mov ecx, edi
push 0x10230c50
push 0x10230c64
call dword [eax + 8]
cmp dword [ebp - 0x970], 0
jbe 0x1007a8aa
mov eax, dword [edi]
mov ecx, edi
push 0x10230c60
push 0x10230c64
call dword [eax + 8]
cmp byte [ebp - 0xb01], 0
je 0x1007a8d5
mov eax, dword [edi]
mov ecx, edi
push 0x10230bec
push str.id3v2_version
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, edi
push 0x10230980
push str.write_id3v1
call dword [eax + 8]
cmp byte [ebp - 0xb09], 0
je 0x1007a8ef
mov eax, dword [edi]
mov ecx, edi
push 0x10230980
push str.write_id3v2
call dword [eax + 8]
push str.Auto
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 0xaf9], 0
call fcn.1004d820
lea edx, [ebp - 0x8d8]
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x8f8]
call fcn.100873d0
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 0xafa], al
mov byte [ebp - 4], 0x25
call fcn.10047800
cmp byte [ebp - 0xafa], 0
je 0x1007ac1d
lea eax, [ebp - 0x8a8]
push eax
mov eax, dword [ebp - 0xb18]
mov ecx, dword [eax + 0x48]
call fcn.1006cfd0
mov byte [ebp - 4], 0x41
cmp dword [ebp - 0x898], 0
je 0x1007a99f
push str.opus
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x8a8]
mov edi, dword [ebp - 0xb00]
mov edx, eax
or edi, 0x8000
mov dword [ebp - 0xb10], edi
call fcn.100873d0
test al, al
je 0x1007a9a5
mov byte [ebp - 0xafa], 1
jmp 0x1007a9ac
mov edi, dword [ebp - 0xb00]
mov byte [ebp - 0xafa], 0
mov dword [ebp - 4], 0x41
test edi, 0x8000
je 0x1007a9cc
lea ecx, [ebp - 0x8d8]
and edi, 0xffff7fff
call fcn.10047800
cmp byte [ebp - 0xafa], 0
je 0x1007a9ef
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
mov edi, dword [ebp - 0xb08]
jmp 0x1007ac30
call fcn.10070e10
test eax, eax
je 0x1007abee
mov eax, dword [eax + 0xfc]
cmp eax, 2
jne 0x1007aaa5
cmp dword [ebp - 0x898], 0
je 0x1007aa4c
push str.flac
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x8a8]
or edi, 0x10000
mov edx, eax
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xafa], 1
test al, al
je 0x1007aa53
mov byte [ebp - 0xafa], 0
test edi, 0x10000
mov dword [ebp - 4], 0x41
je 0x1007aa6d
lea ecx, [ebp - 0x8d8]
call fcn.10047800
cmp byte [ebp - 0xafa], 0
mov edi, dword [ebp - 0xb08]
mov ecx, edi
mov eax, dword [edi]
jne 0x1007abf8
push str.alac
push str.acodec
call dword [eax + 8]
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
jmp 0x1007ac30
cmp eax, 4
jne 0x1007aafd
cmp dword [ebp - 0x898], 0
je 0x1007aaeb
push str.flac
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x8a8]
or edi, 0x20000
mov edx, eax
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xafa], 1
test al, al
je 0x1007aaf2
mov byte [ebp - 0xafa], 0
test edi, 0x20000
jmp 0x1007aa59
cmp eax, 5
jne 0x1007ab52
cmp dword [ebp - 0x898], 0
je 0x1007ab43
push str.flac
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x8a8]
or edi, 0x40000
mov edx, eax
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xafa], 1
test al, al
jne 0x1007ab4a
mov byte [ebp - 0xafa], 0
test edi, 0x40000
jmp 0x1007aba9
cmp eax, 6
jne 0x1007abee
cmp dword [ebp - 0x898], 0
je 0x1007ab9c
push str.flac
lea ecx, [ebp - 0x8d8]
call fcn.1004d820
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x8a8]
or edi, 0x80000
mov edx, eax
mov dword [ebp - 0xb10], edi
call fcn.100873d0
mov byte [ebp - 0xafa], 1
test al, al
jne 0x1007aba3
mov byte [ebp - 0xafa], 0
test edi, 0x80000
mov dword [ebp - 4], 0x41
je 0x1007abbd
lea ecx, [ebp - 0x8d8]
call fcn.10047800
cmp byte [ebp - 0xafa], 0
mov edi, dword [ebp - 0xb08]
je 0x1007ac0c
mov eax, dword [edi]
mov ecx, edi
push str.alac
push str.acodec
call dword [eax + 8]
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
jmp 0x1007ac30
mov edi, dword [ebp - 0xb08]
mov ecx, edi
mov eax, dword [edi]
push str.copy
push str.acodec
call dword [eax + 8]
mov byte [ebp - 0xaf9], 1
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 0x25
call fcn.10047800
jmp 0x1007ac30
mov eax, dword [edi]
lea ecx, [ebp - 0x90]
push ecx
push 0x10230adc
mov ecx, edi
call dword [eax + 8]
mov al, byte [ebp - 0xb01]
test al, al
jne 0x1007ac4a
cmp byte [ebp - 0xb11], al
jne 0x1007ac4a
cmp byte [ebp - 0xb09], al
je 0x1007acb2
cmp dword [ebp - 0x970], 0
jbe 0x1007ac9d
mov eax, dword [edi]
mov ecx, edi
push str.copy
push 0x10230c7c
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, edi
push str.titleAlbum_cover
push str.metadata:s:v
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, edi
push str.commentCover__front_
push str.metadata:s:v
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, edi
push str.attached_pic
push str.disposition:v
call dword [eax + 8]
mov al, byte [ebp - 0xb01]
test al, al
je 0x1007acb2
mov eax, dword [edi]
mov ecx, edi
push str.libmp3lame
push 0x10230c44
call dword [eax + 8]
cmp byte [ebp - 0xb19], 0
jne 0x1007ad46
mov edx, dword [ebp - 0xb60]
lea ecx, [ebp - 0x8c0]
call fcn.10087930
push str..000
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 4], 0x47
call fcn.1004d820
push eax
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 0x48
call fcn.1004d740
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 4], 0x47
call fcn.10047800
mov eax, dword [edi]
lea ecx, [ebp - 0x8c0]
mov esi, dword [eax + 8]
call fcn.1004d6a0
push eax
push 0x10230d00
mov ecx, edi
call esi
cmp byte [ebp - 0xaf9], 0
je 0x1007ad37
mov eax, dword [edi]
mov ecx, edi
push 0x10230980
push str.avoid_negative_ts
call dword [eax + 8]
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 0x25
call fcn.10047800
cmp byte [ebp - 0xaf9], 0
jne 0x1007adcc
mov eax, dword [ebp - 0xb50]
cmp eax, 0xffffffff
je 0x1007adcc
cmp eax, 0x64
je 0x1007adcc
movd xmm0, eax
lea eax, [ebp - 0xa48]
cvtdq2pd xmm0, xmm0
push 0x80
push 0
push eax
divsd xmm0, qword [0x10231e10]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0xb50], xmm0
call fcn.1018f2e0
movss xmm0, dword [ebp - 0xb50]
lea eax, [ebp - 0xa48]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push str.volume_f
push eax
call fcn.10058f30
mov eax, dword [edi]
lea ecx, [ebp - 0xa48]
add esp, 0x10
push ecx
push 0x10230d04
mov ecx, edi
call dword [eax + 8]
mov eax, dword [edi]
lea ecx, [ebp - 0x948]
mov esi, dword [eax + 8]
call fcn.1004d6a0
push eax
push 0x1022de8b
mov ecx, edi
call esi
mov edx, str.enc_start
mov ecx, 0x1022de8b
call fcn.10090370
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0xc]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
mov edx, str.enc_finish
mov ecx, 0x1022de8b
call fcn.10090370
push edi
call dword [sym.imp.trencoder2.dll_void___cdecl_Destroy_ITREnc2_class_ITREnc2__]
lea ecx, [ebp - 0x948]
call fcn.10088f00
push 0x98
mov esi, eax
lea eax, [ebp - 0xaf8]
push 0
push eax
call fcn.1018f2e0
add esp, 0xc
lea ecx, [ebp - 0xaf8]
call fcn.1004ce50
mov edx, str.fs_1
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xaf8]
call fcn.1004fd80
push esi
mov ecx, eax
call fcn.1007f300
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0xaf8]
call fcn.1004cdc0
mov ecx, eax
mov byte [ebp - 4], 0x4a
call fcn.1004d6a0
mov edx, eax
mov ecx, 0x1022de8b
call fcn.10090370
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 4], 0x49
call fcn.10047800
mov esi, dword [ebp - 0xb18]
mov ecx, esi
call fcn.100754d0
test al, al
je 0x1007aed1
lea ecx, [ebp - 0x948]
call fcn.10087a40
test al, al
je 0x1007afa5
lea ecx, [ebp - 0x948]
call fcn.10087ab0
jmp 0x1007afa5
cmp byte [ebp - 0xb01], 0
jne 0x1007aef4
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x980]
push eax
lea eax, [ebp - 0x9b0]
push eax
call fcn.1007b860
lea ecx, [ebp - 0x948]
call fcn.10088f00
push 0x98
mov esi, eax
lea eax, [ebp - 0xa60]
push 0
push eax
call fcn.1018f2e0
add esp, 8
lea ecx, [ebp - 0xa60]
call fcn.1004ce50
mov edx, str.fs_2
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0xa60]
call fcn.1004fd80
push esi
mov ecx, eax
call fcn.1007f300
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0xa60]
call fcn.1004cdc0
mov ecx, eax
mov byte [ebp - 4], 0x4c
call fcn.1004d6a0
mov edx, eax
mov ecx, 0x1022de8b
call fcn.10090370
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 4], 0x4b
call fcn.10047800
call fcn.10070e10
test eax, eax
je 0x1007af8d
add dword [eax + 0x108], 1
adc dword [eax + 0x10c], 0
lea ecx, [ebp - 0xa60]
mov byte [ebp - 0xb12], 1
call fcn.1004c710
mov esi, dword [ebp - 0xb18]
lea ecx, [ebp - 0xaf8]
call fcn.1004c710
lea ecx, [ebp - 0x930]
mov dword [ebp - method.TSEnc2_cb.virtual_0], vtable.TSEnc2_cb.0
mov dword [ebp - 0x94c], 0
call fcn.10047800
lea ecx, [ebp - 0x9b0]
call fcn.10047800
lea ecx, [ebp - 0x8f8]
call fcn.10047800
lea ecx, [ebp - 0x948]
call fcn.10047800
lea ecx, [ebp - 0x918]
mov byte [ebp - 4], 5
call fcn.1006ca50
cmp dword [ebp - 0xb5c], 0
jbe 0x1007b015
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp byte [ebp - 0xb12], 0
je 0x1007b053
cmp dword [ebp - 0x988], 0
jbe 0x1007b032
lea ecx, [ebp - 0x998]
call fcn.10087ab0
cmp dword [ebp - 0x9b8], 0
jbe 0x1007b046
lea ecx, [ebp - 0x9c8]
call fcn.10087ab0
push 1
lea ecx, [esi + 0x238]
call fcn.1007f160
cmp dword [ebp - 0x970], 0
je 0x1007b067
lea ecx, [ebp - 0x980]
call fcn.10087ab0
lea ecx, [ebp - 0x980]
call fcn.10047800
lea ecx, [ebp - 0x9c8]
call fcn.10047800
lea ecx, [ebp - 0x998]
call fcn.10047800
mov al, byte [ebp - 0xb12]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1018a722
mov esp, ebp
pop ebp
ret
call fcn.1019291f
call fcn.1019291f
push eax
call fcn.1018ce33
call fcn.1019291f
call fcn.1019291f
call fcn.1019291f
call fcn.1019291f
int3