Function at 0x404400
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x8008
call fcn.0041bc70
mov eax, dword [0x42d3c8]
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
cmp eax, ebx
jne 0x404426
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x8008
ret
mov ecx, dword [esp + 0x8018]
add ecx, 0xfffffff1
cmp ecx, 4
ja case.0x404439.16
jmp dword [ecx*4 + 0x4047b8]
mov eax, dword [esp + 0x801c]
push ebx
push eax
mov dword [0x82d6a4], ebx
mov dword [0x82d6a0], eax
call fcn.004020b0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x8008
ret
lea edx, [esp + 0x14]
push 0x943900
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, ebx
jle 0x404494
mov cl, 0x5c
cmp byte [esp + eax + 0x14], cl
je 0x404494
dec eax
cmp eax, ebx
jg 0x404489
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea esi, [esp + eax + 0x15]
lea ecx, [esp + 0x14]
push str.DllFileMPOut.dll
push ecx
mov byte [esi], bl
call edi
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x82d6a8], eax
jne 0x4044cc
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x8008
ret
push 1
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
jne 0x4044e5
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x8008
ret
call eax
cmp eax, ebx
mov dword [0x82d674], eax
jne 0x4044fc
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x8008
ret
mov ecx, dword [0x42d404]
push ecx
push 4
call dword [eax + 0x34]
mov edx, dword [0x42d408]
mov eax, dword [0x82d674]
push edx
push 6
call dword [eax + 0x34]
mov ecx, dword [0x42d40c]
mov edx, dword [0x82d674]
push ecx
push 5
call dword [edx + 0x34]
add esp, 0x18
lea eax, [esp + 0x14]
mov byte [esi], bl
push str.DllFileDLLCONFIG.INI
push eax
call edi
lea ecx, [esp + 0x14]
push ecx
push 0x104
push 0x42d2b4
push str.C:NONAME.MP2
push str.OUTFILENAME
push str.MPOUT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea edx, [esp + 0x14]
push edx
push 0xac44
push str.ENCFREQ
push str.MPOUT
call esi
mov dword [0x42d3c0], eax
lea eax, [esp + 0x14]
push eax
push 2
push str.ENCLAYER
push str.MPOUT
call esi
lea ecx, [esp + 0x14]
mov dword [0x42b1ac], eax
push ecx
push 0x80
push str.ENCBITRATE
push str.MPOUT
call esi
mov dword [0x42d3b8], eax
mov eax, dword [0x42d404]
lea edx, [esp + 0xc]
push 0xa
push edx
push eax
call fcn.0041babc
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
lea ecx, [esp + 0x14]
lea edx, [esp + 0xc]
push ecx
push edx
push str.ENCFREQ
push str.MPOUT
call esi
lea eax, [esp + 0x14]
push eax
push 0x4265f0
push str.ENCLAYER
push str.MPOUT
call esi
lea ecx, [esp + 0x14]
push ecx
push 0x4265ec
push str.ENCBITRATE
push str.MPOUT
call esi
mov eax, dword [esp + 0x801c]
lea edx, [esp + 0x14]
push edx
push eax
push str.OUTFILENAME
push str.MPOUT
call esi
mov ecx, dword [0x82d674]
push fcn.00402cb0
call dword [ecx + 0x10]
add esp, 4
mov edi, eax
pop edi
pop esi
pop ebx
add esp, 0x8008
ret
mov ecx, dword [0x82d6a4]
mov esi, 1
cmp ecx, ebx
jne 0x404686
lea edx, [esp + 0x14]
push 0x8000
push edx
call dword [eax + 0x1c]
mov ecx, dword [0x82d674]
push eax
lea eax, [esp + 0x20]
mov dword [0x82d66c], esi
push eax
call dword [ecx + 0x20]
mov eax, dword [0x42d3c8]
add esp, 0x10
mov dword [0x82d6a4], esi
push esi
push ebx
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [0x82d6a0]
add esp, 8
sub edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x8008
ret
mov edx, dword [0x82d674]
call dword [edx + 0x2c]
lea eax, [esp + 0x14]
push 0x943900
push eax
mov dword [0x82d66c], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, ebx
jle 0x4046de
mov cl, 0x5c
cmp byte [esp + eax + 0x14], cl
je 0x4046de
dec eax
cmp eax, ebx
jg 0x4046d3
lea edx, [esp + 0x14]
push str.DllFileDLLCONFIG.INI
push edx
mov byte [esp + eax + 0x1d], bl
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [0x42d3c0]
lea eax, [esp + 0xc]
push 0xa
push eax
push ecx
call fcn.0041babc
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
lea edx, [esp + 0x14]
lea eax, [esp + 0xc]
push edx
push eax
push str.ENCFREQ
push str.MPOUT
call esi
mov edx, dword [0x42b1ac]
lea ecx, [esp + 0xc]
push 0xa
push ecx
push edx
call fcn.0041babc
add esp, 0xc
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
push ecx
push str.ENCLAYER
push str.MPOUT
call esi
mov eax, dword [0x42d3b8]
lea edx, [esp + 0xc]
push 0xa
push edx
push eax
call fcn.0041babc
add esp, 0xc
lea ecx, [esp + 0x14]
lea edx, [esp + 0xc]
push ecx
push edx
push str.ENCBITRATE
push str.MPOUT
call esi
lea eax, [esp + 0x14]
push eax
push 0x42d2b4
push str.OUTFILENAME
push str.MPOUT
call esi
mov ecx, dword [0x82d6a8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x82d674], ebx
mov dword [0x82d6a8], ebx
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x8008
ret