Function at 0x4021d4
Capabilities:
Read .ini file

Disassembly:
push 0x2bc
mov eax, 0x4b950d
call fcn.004ae65d
mov edi, ecx
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x2c8], edi
xor eax, eax
and dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
and dword [ebp - 4], eax
lea ecx, [ebp - 0x2c4]
call fcn.0040217d
mov esi, eax
mov ebx, str.config.ini
mov byte [ebp - 4], 1
push ebx
call fcn.00499b2e
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.00401d43
xor ebx, ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 0x2c8], bl
push dword [ebp - 0x2c8]
mov dword [ebp - 0x23c], ebx
push eax
mov dword [ebp - 0x238], ebx
call fcn.00402743
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 3
call fcn.00401973
lea ecx, [ebp - 0x24c]
call fcn.0040c880
test al, al
je 0x4023f8
push 0x20a
lea eax, [ebp - 0x21c]
push ebx
push eax
call fcn.00497aa0
add esp, 0xc
lea eax, [ebp - 0x24c]
cmp dword [ebp - 0x238], 8
cmovae eax, dword [ebp - 0x24c]
push eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0x4d6814
push str.Version
push str.Upgrade
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x21c], bx
je 0x4023f8
lea ecx, [ebp - 0x27c]
call fcn.00402126
mov esi, eax
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
call fcn.00499b2e
pop ecx
push eax
lea eax, [ebp - 0x21c]
mov ecx, esi
push eax
call fcn.00401d43
mov byte [ebp - 0x2c8], bl
lea ecx, [ebp - 0x264]
push dword [ebp - 0x2c8]
mov dword [ebp - 0x254], ebx
push eax
mov dword [ebp - 0x250], ebx
call fcn.00402743
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x234]
call fcn.00402646
lea ecx, [ebp - 0x264]
call fcn.00401973
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 3
call fcn.00401973
lea ecx, [ebp - 0x234]
call fcn.0040ca20
test al, al
je 0x4023f8
push str.HaoZip.dll
lea ecx, [ebp - 0x27c]
call fcn.00401931
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 5
push eax
lea edx, [ebp - 0x234]
lea ecx, [ebp - 0x264]
call fcn.00402f50
pop ecx
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.00401973
lea ecx, [ebp - 0x264]
call fcn.0040c880
test al, al
je 0x4023ed
push 0x10
pop edx
lea ecx, [ebp - 0x234]
call fcn.00402bb0
mov byte [ebp - 0x2c8], bl
lea eax, [ebp - 0x234]
push dword [ebp - 0x2c8]
mov ecx, edi
mov dword [edi + 0x10], ebx
push eax
mov dword [edi + 0x14], ebx
call fcn.00402743
lea ecx, [ebp - 0x264]
call fcn.00401973
jmp 0x402525
lea ecx, [ebp - 0x264]
call fcn.00401973
lea ecx, [ebp - 0x294]
call fcn.0041be20
push 0x4d6784
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 8
call fcn.00401931
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x294]
call fcn.0041be70
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 8
call fcn.00401973
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x294]
call fcn.0041e2e0
push eax
lea ecx, [ebp - 0x234]
call fcn.00402646
lea ecx, [ebp - 0x2c4]
call fcn.00401973
lea ecx, [ebp - 0x234]
call fcn.0040ca20
test al, al
je 0x4024a4
push 0x10
pop edx
lea ecx, [ebp - 0x234]
call fcn.00402bb0
mov byte [ebp - 0x2c8], bl
lea eax, [ebp - 0x234]
push dword [ebp - 0x2c8]
mov ecx, edi
mov dword [edi + 0x10], ebx
push eax
mov dword [edi + 0x14], ebx
call fcn.00402743
jmp 0x40251a
lea ecx, [ebp - 0x2ac]
call fcn.00401ef3
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2ac]
call fcn.0040db20
lea ecx, [ebp - 0x234]
call fcn.0040ca20
test al, al
je 0x402503
push 0x10
pop edx
lea ecx, [ebp - 0x234]
call fcn.00402bb0
mov byte [ebp - 0x2c8], bl
lea eax, [ebp - 0x234]
push dword [ebp - 0x2c8]
mov ecx, edi
mov dword [edi + 0x10], ebx
push eax
mov dword [edi + 0x14], ebx
call fcn.00402743
jmp 0x40250f
push 0x4d6814
mov ecx, edi
call fcn.00401931
lea ecx, [ebp - 0x2ac]
call fcn.00401973
lea ecx, [ebp - 0x294]
call fcn.004150b0
lea ecx, [ebp - 0x24c]
call fcn.00401973
lea ecx, [ebp - 0x234]
call fcn.00401973
mov eax, edi
call fcn.004ae618
ret