Function at 0x100a02f0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10248333
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x102e1e14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea ecx, [edi + 8]
mov dword [ebp - 4], 0
mov dword [edi], 0
mov dword [edi + 4], 0
call fcn.10016520
push 0x1025b7d8
lea ecx, [edi + 8]
mov byte [ebp - 4], 1
mov dword [0x102e9648], 0
call fcn.10016610
call fcn.100a0a40
test al, al
je 0x100a08b4
push 0
push 0
push 0x8000
push 0xac44
push 0
call dword [0x102e9660]
test eax, eax
jne 0x100a038a
call dword [0x102e9680]
cmp eax, 0xe
jne 0x100a08b4
push 0
push 0
push 0x200000
push 2
push 0xac44
call dword [0x102e9668]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi], eax
mov al, byte [ebp + 0x19]
cmp al, 4
jne 0x100a044e
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push str.__compression_level__i___tag_TITLE_ls____tag_ARTIST_ls____tag_COMMENT_ls____tag_YEAR_ls____tag_GENRE_ls_
push eax
call fcn.10017ac0
add esp, 0x20
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 2
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
push str.bassenc_flac.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x102e9648], eax
test eax, eax
je 0x100a08b4
push str.BASS_Encode_FLAC_StartFile
push eax
call ebx
mov dword [0x102e96b8], eax
mov al, byte [ebp + 0x19]
mov dword [0x102e964c], 4
cmp al, 2
jne 0x100a056b
mov al, byte [ebp + 0x18]
cmp al, 1
jne 0x100a04c9
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x1c]
push str._b__i___managed___title___ls____album______artist___ls____comment___ls____date___ls____tg___ls_
push eax
call fcn.10017ac0
add esp, 0x20
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 3
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
mov al, byte [ebp + 0x18]
test al, al
jne 0x100a0539
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x1c]
push dword [ebp + 0xc]
push str._m__i__M__i___title___ls____album______artist___ls____comment___ls____date___ls____tg___ls_
push eax
call fcn.10017ac0
add esp, 0x24
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 4
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
push str.bassenc_ogg.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x102e9648], eax
test eax, eax
je 0x100a08b4
push str.BASS_Encode_OGG_StartFile
push eax
call ebx
mov dword [0x102e96ac], eax
mov al, byte [ebp + 0x19]
mov dword [0x102e964c], 2
test al, al
jne 0x100a06f8
mov al, byte [ebp + 0x18]
cmp al, 1
jne 0x100a05e6
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x1c]
push str._b__i___tt___ls____ta___ls____tl______ty___ls____tc___ls____tg___ls____id3v2_only___ignore_tag_errors
push eax
call fcn.10017ac0
add esp, 0x20
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 5
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
mov al, byte [ebp + 0x18]
test al, al
jne 0x100a0659
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x1c]
push dword [ebp + 0xc]
push str._V_0__v___vbr_new__b__i__B__i___tt___ls____ta___ls____tl______ty___ls____tc___ls____tg___ls____id3v2_only___ignore_tag_errors
push eax
call fcn.10017ac0
add esp, 0x24
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 6
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
mov al, byte [ebp + 0x18]
cmp al, 2
jne 0x100a06c6
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x1c]
push str.__abr__i___tt___ls____ta___ls____tl______ty___ls____tc___ls____tg___ls____id3v2_only___ignore_tag_errors
push eax
call fcn.10017ac0
add esp, 0x20
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 7
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
push str.bassenc_mp3.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x102e9648], eax
test eax, eax
je 0x100a08b4
push str.BASS_Encode_MP3_StartFile
push eax
call ebx
mov dword [0x102e96a8], eax
mov al, byte [ebp + 0x19]
mov dword [0x102e964c], 0
cmp al, 1
jne 0x100a079f
mov al, byte [ebp + 0x18]
cmp al, 1
jne 0x100a073c
imul eax, dword [ebp + 8], 0x3e8
push eax
lea eax, [ebp - 0x1c]
push str.__vbr_0___bitrate__i
push eax
call fcn.10017ac0
add esp, 0xc
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 8
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
mov al, byte [ebp + 0x18]
test al, al
jne 0x100a076d
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push str.__vbr__i
push eax
call fcn.10017ac0
add esp, 0xc
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 9
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
push str.bassenc_aac.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x102e9648], eax
test eax, eax
je 0x100a08b4
push str.BASS_Encode_AAC_StartFile
push eax
call ebx
mov dword [0x102e96b4], eax
mov al, byte [ebp + 0x19]
mov dword [0x102e964c], 1
cmp al, 3
jne 0x100a08b4
mov al, byte [ebp + 0x18]
cmp al, 1
jne 0x100a081d
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push dword [ebp + 8]
push str.__cvbr___bitrate__i___comp__i___title___ls____album______artist___ls____comment___ls____date___ls____tg___ls_
push eax
call fcn.10017ac0
add esp, 0x24
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 0xa
call fcn.100165d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.100165a0
mov al, byte [ebp + 0x18]
test al, al
jne 0x100a0889
lea ecx, [ebp + 0xc8]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xd4]
call fcn.10016b10
push eax
lea ecx, [ebp + 0xb0]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x80]
call fcn.10016b10
push eax
lea ecx, [ebp + 0x98]
call fcn.10016b10
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push dword [ebp + 8]
push str.__cvbr___bitrate__i___comp__i___title___ls____album______artist___ls____comment___ls____date___ls____tg___ls_
push eax
call fcn.10017ac0
add esp, 0x24
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 0xb
call fcn.100165d0
lea ecx, [ebp - 0x1c]
call fcn.100165a0
push str.bassenc_opus.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x102e9648], eax
test eax, eax
je 0x100a08b4
push str.BASS_Encode_OPUS_StartFile
push eax
call ebx
mov dword [0x102e96b0], eax
mov dword [0x102e964c], 3
lea ecx, [ebp + 0xd4]
call fcn.100165a0
lea ecx, [ebp + 0xc8]
call fcn.100165a0
lea ecx, [ebp + 0xbc]
call fcn.100165a0
lea ecx, [ebp + 0xb0]
call fcn.100165a0
lea ecx, [ebp + 0xa4]
call fcn.100165a0
lea ecx, [ebp + 0x98]
call fcn.100165a0
lea ecx, [ebp + 0x8c]
call fcn.100165a0
lea ecx, [ebp + 0x80]
call fcn.100165a0
lea ecx, [ebp + 0x74]
call fcn.100165a0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xd8