Function at 0x41e620
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46eca0
push 0x458742
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x44], ebx
mov si, word [ebx + 0x126]
xor edi, edi
mov dword [ebp - 0x24], edi
mov al, byte [ebx + 0x52f4]
mov byte [ebp - 0x20], al
cmp byte [ebx + 0x23], 0x90
je 0x41e6a0
call fcn.004126f0
test eax, eax
jne 0x41e6a0
cmp byte [ebp - 0x20], 0xc
jbe 0x41e686
mov eax, 0xa
mov byte [ebx + 0x5919], al
mov byte [ebx + 0x5918], 2
jmp 0x41e6ea
mov eax, dword [ebp - 0x20]
and eax, 0xff
sub eax, 2
mov byte [ebx + 0x5919], al
mov byte [ebx + 0x5918], 2
jmp 0x41e6ea
mov ecx, dword [ebp - 0x20]
and ecx, 0xff
lea eax, [ecx - 8]
cmp eax, 0x14
jle 0x41e6b6
mov eax, 0x14
mov byte [ebx + 0x5919], al
mov byte [ebx + 0x5918], 4
push str.TC58NVG4T2ETA00
mov edx, dword [ebx + 0x104]
push edx
call dword [sym.imp.MSVCRT.dll__stricoll]
add esp, 8
cmp eax, edi
jne 0x41e6ea
mov byte [ebx + 0x5919], 0x14
mov byte [ebx + 0x5918], 8
mov eax, dword [ebx + 8]
mov cl, byte [eax + 0x1b0]
mov byte [ebx + 0xe5], cl
cmp byte [eax + 9], 1
jne 0x41e71f
push str.R1FV04G13RSA_3
mov edx, dword [ebx + 0x104]
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
cmp eax, edi
jne 0x41e71f
mov byte [ebx + 0xe5], 1
mov dword [ebp - 4], edi
mov eax, dword [0x4971e8]
push eax
push edi
push str.RIBBT
push str.DEBUG
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call edi
test eax, eax
je 0x41e7a0
mov ecx, dword [0x4971e8]
push ecx
push 1
push str.SetSortMain
push str.DEBUG
call edi
mov byte [ebx + 0xea], al
mov edx, dword [0x4971e8]
push edx
push 0xff
push str.SetSortSub
push str.DEBUG
call edi
mov word [ebx + 0xec], ax
push eax
mov al, byte [ebx + 0xea]
push eax
mov ecx, ebx
call fcn.0041f3e0
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041c090
push esi
mov ecx, ebx
call fcn.0041f100
jmp 0x41e968
mov eax, dword [ebx + 8]
mov cl, byte [eax + 0x84]
test cl, cl
je 0x41e7ee
cmp cl, 2
jne 0x41e7bb
cmp byte [eax + 0xa5], 1
je 0x41e7ee
mov cx, word [ebx + 0xec]
push ecx
mov dl, byte [ebx + 0xea]
push edx
mov ecx, ebx
call fcn.0041f3e0
mov eax, dword [ebx + 8]
mov cl, byte [eax + 0x85]
and cl, 0xf
push ecx
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.00430920
jmp 0x41e95a
mov al, byte [eax + 0x85]
mov byte [ebp - 0x30], al
mov ecx, esi
and ecx, 0xffff
shl ecx, 1
mov esi, 0x46d6f8
lea edi, [ebx + 0x42d0]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and eax, 0xf0
add eax, 0xfffffff0
cmp eax, 0x60
ja case.0x41e833.23
xor ecx, ecx
mov cl, byte [eax + 0x41eafc]
jmp dword [ecx*4 + 0x41eadc]
push 1
push 1
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041eb60
jmp 0x41e95a
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041ee50
jmp 0x41e95a
push 1
push 1
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041ee90
jmp 0x41e95a
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041f100
jmp 0x41e95a
push 0
push 0
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041eb60
mov dl, byte [ebx + 0x4699]
push edx
mov al, byte [ebx + 0xe4]
push eax
push esi
mov ecx, ebx
call fcn.0041fe60
mov ecx, ebx
call fcn.00420260
mov ecx, ebx
call fcn.004204e0
push 0
lea ecx, [ebp - 0x34]
push ecx
mov ecx, ebx
call fcn.00420c70
jmp 0x41e954
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041f100
push 0
push 1
push esi
mov ecx, ebx
call fcn.0041eb60
jmp 0x41e95a
mov byte [ebx + 0xe4], 2
push 0
push 1
mov esi, dword [ebp + 8]
push esi
mov ecx, ebx
call fcn.0041ee90
push esi
mov ecx, ebx
call fcn.00431b40
mov al, byte [ebx + 0x5fcc]
mov byte [ebx + 0x4699], al
push eax
mov dl, byte [ebx + 0xe4]
push edx
push esi
mov ecx, ebx
call fcn.0041fe60
mov ecx, ebx
call fcn.00420260
mov ecx, ebx
call fcn.004204e0
mov ecx, ebx
call fcn.00426cf0
xor eax, eax
mov al, byte [ebx + 0xc8]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + eax*4 + 0x208]
test edx, edx
je 0x41e94e
mov eax, dword [ebx + eax*4 + 0x427c]
jmp 0x41e954
mov eax, dword [ebx + 0xa4]
mov dword [ebx + 0xa4], eax
push esi
mov ecx, ebx
call fcn.00425510
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [0x4971e8]
push edx
push 0
push str.ZoneBlockStep
push str.DEBUG
call edi
test eax, eax
je 0x41e99b
mov eax, dword [0x4971e8]
push eax
push 0
push str.ZoneBlockStep
push str.DEBUG
call edi
mov byte [ebx + 0x5934], al
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x3b4]
test ecx, ecx
je 0x41ea33
cmp byte [eax + 0x84], 2
jne 0x41e9bd
push esi
mov ecx, ebx
call fcn.00425760
push esi
mov ecx, ebx
call fcn.00423910
push esi
mov ecx, ebx
call fcn.00420060
push esi
mov ecx, ebx
call fcn.00431b40
mov dword [ebp - 4], 1
push 0x4976f0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, ebx
call fcn.00430820
push esi
mov ecx, ebx
call fcn.0042c540
mov dword [ebp - 4], 0
call fcn.0041ea6e
mov al, byte [ebx + 0x5fcc]
mov byte [ebx + 0x4699], al
push eax
push esi
mov ecx, ebx
call fcn.00427670
mov cl, byte [ebx + 0x4699]
push ecx
mov dl, byte [ebx + 0xe4]
push edx
push esi
mov ecx, ebx
call fcn.0041fe60
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov eax, dword [0x4971e8]
push eax
push 0
push str.WIBBT
push str.DEBUG
call edi
test eax, eax
je 0x41ea5a
mov dword [ebp - 0x24], 1
push esi
mov ecx, ebx
call fcn.0041c090
mov dword [ebp - 4], 0xffffffff
call 0x41ea95
jmp 0x41eac2
mov dword [ebp - 0x38], 0xb0000
push 0x48d780
lea ecx, [ebp - 0x38]
push ecx
call sub.MSVCRT.dll__CxxThrowException
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x41eac1
mov edx, dword [0x4971e8]
push edx
push 0
push str.WIBBT
push str.DEBUG
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x41eac1
push esi
mov ecx, ebx
call fcn.0041c090
ret
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4