Function at 0x4701c0
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x4e6dd0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [0x5ca594]
push esi
push edi
xor edi, edi
cmp eax, edi
mov esi, ecx
mov dword [esp + 8], edi
je 0x47020c
push 0x71
push str.C:NeoAudio_1.5.7EncodersEncoderVorbisDll.cpp
push str.___11s__4d:
call fcn.004244f0
add esp, 0xc
push str.Entering__CEncoderVorbisDll::OpenDlls__
call fcn.004244f0
add esp, 4
push ebx
push ebp
push str.encoderslibrarieslibvorbisDll
lea ecx, [esp + 0x1c]
call fcn.004b26c4
push str.ogg.dll
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], edi
call fcn.004b26c4
lea ebp, [esi + 0xa4]
push edi
push 1
lea eax, [esp + 0x20]
push ebp
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x40], 1
call fcn.0045b680
add esp, 0x14
lea ecx, [esp + 0x14]
test eax, eax
sete bl
mov byte [esp + 0x2c], 0
call fcn.004b2656
or edi, 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], edi
call fcn.004b2656
test bl, bl
je 0x4702a6
mov eax, dword [0x5ca594]
test eax, eax
je 0x4703db
push 0x78
push str.C:NeoAudio_1.5.7EncodersEncoderVorbisDll.cpp
push str.___11s__4d:
call fcn.004244f0
add esp, 0xc
push str.oog.dll
push str.CEncoderVorbisDll::InitEncoder_Failed_to_load__s
jmp 0x4703d3
push str.encoderslibrarieslibvorbisDll
lea ecx, [esp + 0x18]
call fcn.004b26c4
push str.vorbis.dll
lea ecx, [esp + 0x1c]
mov dword [esp + 0x30], 2
call fcn.004b26c4
push 0
lea edx, [esi + 0xa0]
push 1
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
mov byte [esp + 0x40], 3
call fcn.0045b680
add esp, 0x14
lea ecx, [esp + 0x18]
test eax, eax
sete bl
mov byte [esp + 0x2c], 2
call fcn.004b2656
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], edi
call fcn.004b2656
test bl, bl
je 0x47033f
mov eax, dword [0x5ca594]
test eax, eax
je 0x4703db
push 0x7d
push str.C:NeoAudio_1.5.7EncodersEncoderVorbisDll.cpp
push str.___11s__4d:
call fcn.004244f0
mov edx, dword [esi + 0x24]
add esp, 0xc
push edx
push str.CEncoderVorbisDll::InitEncoder_Failed_to_load__s
jmp 0x4703d3
push str.encoderslibrarieslibvorbisDll
lea ecx, [esp + 0x24]
call fcn.004b26c4
push str.vorbisenc.dll
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 4
call fcn.004b26c4
push 0
lea eax, [esi + 0xa8]
push 1
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x40], 5
call fcn.0045b680
add esp, 0x14
lea ecx, [esp + 0x1c]
test eax, eax
sete bl
mov byte [esp + 0x2c], 4
call fcn.004b2656
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], edi
call fcn.004b2656
test bl, bl
je 0x4703e3
mov eax, dword [0x5ca594]
test eax, eax
je 0x4703db
push 0x82
push str.C:NeoAudio_1.5.7EncodersEncoderVorbisDll.cpp
push str.___11s__4d:
call fcn.004244f0
add esp, 0xc
push str.vorbisenc.dll
push str.CVorbisEncEncoder::InitEncoder_Failed_to_load__s
call fcn.004244f0
add esp, 8
mov dword [esp + 0x10], 1
cmp dword [ebp], 0
je 0x470718
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x470718
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x470718
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.vorbis_encode_init
push eax
call edi
mov dword [esi + 0x368], eax
mov eax, dword [esi + 0xa8]
push str.vorbis_encode_init_vbr
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_info_init
push ecx
mov dword [esi + 0x36c], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_info_clear
push edx
mov dword [esi + 0x370], eax
call edi
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0xa0]
push str.vorbis_dsp_clear
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_block_init
push ecx
mov dword [esi + 0x378], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_block_clear
push edx
mov dword [esi + 0x37c], eax
call edi
mov dword [esi + 0x380], eax
mov eax, dword [esi + 0xa0]
push str.vorbis_comment_init
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_comment_add
push ecx
mov dword [esi + 0x384], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_comment_add_tag
push edx
mov dword [esi + 0x388], eax
call edi
mov dword [esi + 0x38c], eax
mov eax, dword [esi + 0xa0]
push str.vorbis_comment_clear
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_analysis_init
push ecx
mov dword [esi + 0x390], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_analysis
push edx
mov dword [esi + 0x394], eax
call edi
mov dword [esi + 0x398], eax
mov eax, dword [esi + 0xa0]
push str.vorbis_analysis_headerout
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_analysis_buffer
push ecx
mov dword [esi + 0x39c], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_analysis_wrote
push edx
mov dword [esi + 0x3a0], eax
call edi
mov dword [esi + 0x3a4], eax
push str.vorbis_analysis_blockout
mov eax, dword [esi + 0xa0]
push eax
call edi
mov ecx, dword [esi + 0xa0]
push str.vorbis_synthesis_headerin
push ecx
mov dword [esi + 0x3a8], eax
call edi
mov edx, dword [esi + 0xa0]
push str.vorbis_bitrate_addblock
push edx
mov dword [esi + 0x3ac], eax
call edi
mov dword [esi + 0x3b0], eax
mov eax, dword [esi + 0xa0]
push str.vorbis_bitrate_flushpacket
push eax
call edi
mov ecx, dword [ebp]
push str.ogg_stream_init
push ecx
mov dword [esi + 0x3b4], eax
call edi
mov edx, dword [ebp]
push str.ogg_stream_packetin
push edx
mov dword [esi + 0x3b8], eax
call edi
mov dword [esi + 0x3bc], eax
mov eax, dword [ebp]
push str.ogg_stream_flush
push eax
call edi
mov ecx, dword [ebp]
push str.ogg_stream_pageout
push ecx
mov dword [esi + 0x3c0], eax
call edi
mov edx, dword [ebp]
push str.ogg_page_eos
push edx
mov dword [esi + 0x3c4], eax
call edi
mov dword [esi + 0x3c8], eax
mov eax, dword [ebp]
push str.ogg_stream_clear
push eax
call edi
mov ecx, dword [esi + 0x368]
mov dword [esi + 0x3cc], eax
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x36c]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x370]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x37c]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x380]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x384]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x388]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x38c]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x390]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x394]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x398]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x39c]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3a0]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3a4]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3a8]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3ac]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x378]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x374]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3b8]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3bc]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3c0]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3c4]
test ecx, ecx
je 0x470711
mov ecx, dword [esi + 0x3c8]
test ecx, ecx
je 0x470711
test eax, eax
jne 0x470720
mov esi, 1
jmp 0x470724
mov dword [esp + 0x10], 1
mov esi, dword [esp + 0x10]
mov eax, dword [0x5ca594]
pop ebp
test eax, eax
pop ebx
je 0x470754
push 0xfb
push str.C:NeoAudio_1.5.7EncodersEncoderVorbisDll.cpp
push str.___11s__4d:
call fcn.004244f0
add esp, 0xc
push esi
push str.Leaving_CEncoderVorbisDll::OpenDlls___with_return__d
call fcn.004244f0
add esp, 8
mov ecx, dword [esp + 0x1c]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x20
ret