Function at 0x42e050
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x594e3e
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x604654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0x328]
push 1
call fcn.004c4810
lea eax, [ebp - 0x370]
mov dword [ebp - method.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_CDialogViewDeCompress::__class_DuiLib::CControlUI___void___class_CDialogViewDeCompress____class_DuiLib::CControlUI____.virtual_0], vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_CDialogViewDeCompress::__class_DuiLib::CControlUI___void___class_CDialogViewDeCompress____class_DuiLib::CControlUI____.0
mov dword [ebp - 0x368], 0x42b1e0
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x34c], eax
mov ecx, dword [edi + 0x328]
push eax
mov dword [ebp - 4], 0
call fcn.004c47b0
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x42e0f3
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x370]
cmp ecx, eax
setne al
push eax
call edx
mov esi, dword [0x60fb58]
test esi, esi
jne 0x42e160
push 0x603080
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x60fb58], esi
jne 0x42e14f
push 4
call fcn.004a3da5
add esp, 4
mov dword [ebp - 0x29c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x42e136
mov ecx, eax
mov dword [eax], esi
call fcn.00410770
jmp 0x42e138
xor eax, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
xor edx, edx
lock or dword [ecx], edx
mov dword [0x60fb58], eax
push 0x603080
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x60fb58]
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.0053c7b0
add esp, 0xc
lea eax, [ebp - 0x90]
push dword [esi]
push 0x3f
push eax
push 0x5ab718
push str.opendir
push 0x5abc1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x90], 0
je 0x42e252
push 0xa8
lea eax, [ebp - 0x344]
push 0
push eax
call fcn.0053c7b0
add esp, 0xc
mov dword [ebp - 0x350], 0
xor eax, eax
mov dword [ebp - 0x34c], 7
lea ecx, [ebp - 0x90]
mov word [ebp - 0x360], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e1e0
sub ecx, edx
lea eax, [ebp - 0x90]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x360]
call fcn.00413b10
push 1
push 1
lea eax, [ebp - 0x360]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x344]
call fcn.004278c0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 4
call fcn.0040c130
lea eax, [edi + 0x36c]
push eax
lea ecx, [ebp - 0x344]
call fcn.0041d570
lea ecx, [ebp - 0x344]
mov dword [ebp - 4], 0xffffffff
call fcn.00411690
lea esi, [edi + 0x30]
push str.file_list
mov ecx, esi
call fcn.004a8b70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x204]
push 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x114]
mov ecx, eax
call edx
cmp dword [edi + 0x344], 8
lea eax, [edi + 0x330]
mov dword [ebp - 0x348], 0
jb 0x42e294
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x348]
call fcn.0040be50
mov eax, dword [ebp - 0x348]
mov dword [ebp - 4], 5
cmp dword [eax - 4], 1
jle 0x42e2c7
push dword [eax - 0xc]
lea ecx, [ebp - 0x348]
call fcn.0040c650
mov eax, dword [ebp - 0x348]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
mov eax, dword [ebp - 0x348]
push dword [eax - 8]
push eax
call fcn.0054db62
mov edx, eax
add esp, 8
test edx, edx
js 0x42e3a0
mov ecx, dword [ebp - 0x348]
cmp edx, dword [ecx - 8]
jg 0x42e3a0
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp - 0x348]
mov word [eax + edx*2], cx
push dword [ebp - 0x348]
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
jne 0x42e356
push 0x208
push eax
lea eax, [ebp - 0x298]
push eax
call fcn.0053c7b0
add esp, 0xc
lea eax, [ebp - 0x298]
push 0
push 0
push dword [ebp - 0x348]
push eax
call dword [sym.imp.SHELL32.dll_PathYetAnotherMakeUniqueName]
mov ecx, dword [edi + 0x31c]
lea edx, [ebp - 0x298]
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
push esi
mov ecx, edi
call fcn.00492e70
push 0x6b
mov ecx, edi
call fcn.004aef90
mov edx, dword [ebp - 0x348]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42e385
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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.004a408b
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.0040c4f0
int3