Function at 0x4069a0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0xa0c
mov eax, dword [0x42e070]
xor eax, esp
mov dword [esp + 0xa08], eax
push ebx
push esi
push edi
xor eax, eax
push 0x7fe
mov edi, ecx
push eax
lea ecx, [esp + 0x21e]
push ecx
mov word [esp + 0x220], ax
call fcn.00410d60
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x22]
push eax
mov word [esp + 0x24], dx
call fcn.00410d60
push 0x208
push 0
push 0x430e30
call fcn.00410d60
add esp, 0x24
call fcn.00406d70
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x430e30
push 0
push str.glogin
push str.Glogin
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, 1
jne 0x406a65
push 0x430e30
push 0x400
lea ecx, [esp + 0x21c]
push ecx
push 0x424e08
push 0x428b4c
push str.Glogin
call ebx
lea edx, [esp + 0x214]
push edx
push 0x428b50
push edi
call fcn.0040fa48
add esp, 0xc
jmp 0x406a7f
mov eax, 0x428b5c
mov edx, edi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x406a70
push 0x430e30
push 0
push str.YALPolicy
push 0x426028
call esi
cmp eax, 1
jne 0x406d37
push eax
lea eax, [esp + 0x218]
push str.YALPolicy_d
push eax
call fcn.0040fa48
add esp, 0xc
push 0x430e30
push 0
push str.mode
push 0x426028
call esi
push eax
lea ecx, [esp + 0x218]
push ecx
mov edx, ecx
push str._smode_d
push edx
call fcn.0040fa48
add esp, 0x10
push 0x430e30
push 0x104
lea eax, [esp + 0x14]
push eax
push 0x424e08
push str.allowcat
push 0x426028
call ebx
mov ecx, 0x424e08
lea eax, [esp + 0xc]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x406b2c
test dx, dx
je 0x406b28
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x406b2c
add eax, 4
add ecx, 4
test dx, dx
jne 0x406b06
xor eax, eax
jmp 0x406b31
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jne 0x406b53
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x218]
push edx
mov eax, edx
push str._sallowcat_s
push eax
call fcn.0040fa48
add esp, 0x10
push 0x430e30
push 0x104
lea ecx, [esp + 0x14]
push ecx
push 0x424e08
push str.blockcat
push 0x426028
call ebx
mov ecx, 0x424e08
lea eax, [esp + 0xc]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x406ba6
test dx, dx
je 0x406ba2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x406ba6
add eax, 4
add ecx, 4
test dx, dx
jne 0x406b80
xor eax, eax
jmp 0x406bab
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jne 0x406bcd
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x218]
push eax
mov ecx, eax
push str._sblockcat_s
push ecx
call fcn.0040fa48
add esp, 0x10
push 0x430e30
push 0x104
lea edx, [esp + 0x14]
push edx
push 0x424e08
push str.allowedchpub
push 0x426028
call ebx
mov ecx, 0x424e08
lea eax, [esp + 0xc]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x406c1c
test dx, dx
je 0x406c18
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x406c1c
add eax, 4
add ecx, 4
test dx, dx
jne 0x406bf6
xor eax, eax
jmp 0x406c21
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jne 0x406c43
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x218]
push ecx
mov edx, ecx
push str._sallowedchpub_s
push edx
call fcn.0040fa48
add esp, 0x10
push 0x430e30
push 0x104
lea eax, [esp + 0x14]
push eax
push 0x424e08
push str.blockedchpub
push 0x426028
call ebx
mov ecx, 0x424e08
lea eax, [esp + 0xc]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x406c96
test dx, dx
je 0x406c92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x406c96
add eax, 4
add ecx, 4
test dx, dx
jne 0x406c70
xor eax, eax
jmp 0x406c9b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jne 0x406cbd
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x218]
push edx
mov eax, edx
push str._sblockedchpub_s
push eax
call fcn.0040fa48
add esp, 0x10
mov eax, edi
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x406cc2
mov ecx, dword [str._NP_]
mov dword [eax], ecx
mov edx, dword [0x428cac]
mov dword [eax + 4], edx
mov cx, word [0x428cb0]
mov word [eax + 8], cx
lea eax, [esp + 0x214]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x406cf3
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x406d03
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa08]
xor ecx, esp
call fcn.0040e6d9
add esp, 0xa0c
ret
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x406d40
mov ecx, 8
mov esi, str._NP_YALPolicy0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xa14]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040e6d9
add esp, 0xa0c
ret