Function at 0x435f00
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x624
push ebx
push ebp
mov ebp, ecx
xor eax, eax
xor ecx, ecx
push esi
mov al, byte [ebp + 0x12a]
mov cl, byte [ebp + 0x24]
cdq
idiv ecx
xor ecx, ecx
lea edx, [esp + 0x330]
mov cl, byte [ebp + 0x98]
push edx
mov dword [esp + 0x28], 0
mov ebx, eax
mov eax, dword [esp + 0x960]
shl bl, cl
push eax
mov ecx, ebp
mov byte [esp + 0x24], bl
call fcn.00432c30
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x95c]
xor ecx, ecx
cmp al, 8
sete cl
push ecx
mov ecx, ebp
call fcn.004320f0
mov esi, dword [esp + 0x958]
xor ecx, ecx
mov cl, byte [ebp + 0x5934]
and esi, 0xffff
mov eax, esi
cdq
idiv ecx
mov eax, esi
xor ecx, ecx
mov cx, word [ebp + 0x124]
mov esi, dword [esp + 0x954]
push edx
cdq
idiv ecx
mov ecx, ebp
push eax
push esi
call fcn.0041bae0
test byte [ebp + 0xb8], 0xe0
je 0x435ffd
test byte [ebp + 0xb8], 0x40
je 0x435fc6
lea edx, [esp + 0xc]
push 0x48d780
push edx
mov dword [esp + 0x14], 0xa0000
call sub.MSVCRT.dll__CxxThrowException
test byte [ebp + 0xb8], 0x20
je 0x435fe6
lea eax, [esp + 0xc]
push 0x48d780
push eax
mov dword [esp + 0x14], 0xa0100
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [esp + 0xc]
push 0x48d780
push ecx
mov dword [esp + 0x14], 0xa0001
call sub.MSVCRT.dll__CxxThrowException
mov edx, dword [esp + 0x958]
push edi
push edx
push esi
mov ecx, ebp
call fcn.00435250
mov edi, dword [esp + 0x20]
and edi, 0xff
push edi
mov dword [esp + 0x34], edi
call sub.MFC42.DLL_operatornew
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
and esi, 0xffff
lea eax, [esi + esi]
push eax
call sub.MFC42.DLL_operatornew
add esp, 8
xor cl, cl
test bl, bl
mov dword [esp + 0x10], eax
jbe 0x436053
mov edx, dword [esp + 0x24]
mov byte [edx], cl
inc cl
inc edx
cmp cl, bl
jb 0x43604a
cmp word [esp + 0x18], 0
jbe 0x436073
lea ecx, [esp + 0x334]
mov edx, esi
sub ecx, eax
mov bx, word [ecx + eax]
mov word [eax], bx
add eax, 2
dec edx
jne 0x436066
mov ecx, dword [0x4971e8]
push ecx
push 0
push str.PPHomoMode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [esp + 0x10]
push 0
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0x30], ebx
call fcn.00434fd0
mov eax, dword [0x497678]
mov ecx, ebp
push eax
push 2
call fcn.004226b0
mov ecx, dword [esp + 0x95c]
mov edx, dword [esp + 0x958]
push ebx
push 0x15a
push ecx
push edx
mov ecx, ebp
call fcn.004352c0
mov eax, esi
imul eax, edi
add eax, 0x1ff
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov byte [esp + 0x14], al
mov esi, dword [esp + 0x14]
and esi, 0xff
shl esi, 9
push esi
call sub.MFC42.DLL_operatornew
mov ecx, esi
mov ebx, eax
mov edx, ecx
or eax, 0xffffffff
mov edi, ebx
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x964]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x960]
push ecx
mov ecx, dword [esp + 0x960]
push ebx
push edx
push 0x15a
push eax
push ecx
mov ecx, ebp
call fcn.00435350
mov ecx, 0xc0
or eax, 0xffffffff
lea edi, [esp + 0x34]
lea esi, [esp + 0x63c]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x63a]
lea edi, [esp + 0x34]
and eax, 0xffff
lea ecx, [eax + eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp word [esp + 0x63a], 0
rep movsb byte es:[edi], byte [esi]
jbe 0x4361fb
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
xor cl, cl
mov byte [esp + 0x2c], cl
mov si, word [edx]
mov dl, byte [esp + 0x20]
test dl, dl
jbe 0x4361e5
mov al, byte [ebp + 0x52f4]
and esi, 0xffff
imul esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
and edi, 0xff
add edi, esi
cmp byte [edi + ebx], al
ja 0x4361e1
inc cl
cmp cl, dl
mov byte [esp + 0x2c], cl
jb 0x4361c4
jmp 0x4361e5
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 2
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x43619e
mov esi, dword [esp + 0x95c]
mov edi, dword [esp + 0x958]
push esi
push edi
mov ecx, ebp
call fcn.00435250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x960]
push eax
push ecx
push ebx
push edx
push esi
push edi
mov ecx, ebp
call fcn.0041c0b0
mov eax, dword [esp + 0x24]
pop edi
test eax, eax
je 0x436240
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x436251
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
test ebx, ebx
je 0x43625e
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ax, word [esp + 0x24]
pop esi
pop ebp
pop ebx
add esp, 0x624
ret 0x330