Function at 0x4367b0
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x51e6a8
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebp
mov ebp, dword [esp + 0x30]
push esi
xor esi, esi
cmp ebp, esi
je 0x4370de
push edi
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x66ec]
cmp eax, 1
je 0x4367ed
cmp eax, 3
jne 0x4367fc
mov eax, dword [ebp + 4]
cmp eax, dword [0x56bb0c]
jne 0x4370dd
mov ecx, dword [ebp + 4]
push ebx
mov dword [0x56b800], ecx
mov dword [esp + 0x20], vtable.CMenu.0
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], 1
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x30], 2
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push eax
lea ecx, [esp + 0x24]
call fcn.004fcc2a
cmp dword [ebp + 0x90], 3
mov ebx, dword [sym.imp.USER32.dll_AppendMenuA]
je 0x4368f0
push 0xb1
call fcn.004fa7c6
cmp eax, esi
je 0x436886
push 0xb1
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
push eax
push 0x7b
push esi
push ecx
call ebx
push 0xb0
call fcn.004fa7c6
cmp eax, esi
je 0x4368b2
push 0xb0
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
push edx
push 0x7a
push esi
push eax
call ebx
push 0xb3
call fcn.004fa7c6
cmp eax, esi
je 0x4368de
push 0xb3
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
push ecx
push 0x90
push esi
push edx
call ebx
mov ecx, dword [ebp + 0x58]
cmp ecx, esi
jl 0x43697d
mov edx, dword [edi + 0x66ec]
cmp edx, 1
lea eax, [ecx + 1]
je 0x43690e
cmp edx, 3
jne 0x436921
mov edx, dword [edi + 0x1b08]
cmp edx, esi
je 0x436921
push ecx
mov eax, edx
call fcn.00483300
inc eax
mov ecx, dword [ebp + 0x90]
cmp ecx, 3
jne 0x436934
push eax
push 0x541dd4
jmp 0x436963
cmp ecx, 4
jne 0x436946
push eax
push 0x541db4
lea ecx, [esp + 0x44]
push ecx
jmp 0x436968
cmp ecx, 2
jne 0x436958
push eax
push 0x541d94
lea edx, [esp + 0x44]
push edx
jmp 0x436968
cmp ecx, 1
jne 0x436970
push eax
push 0x541d74
lea eax, [esp + 0x44]
push eax
call fcn.00405820
add esp, 0xc
mov ecx, dword [esp + 0x3c]
push ecx
push 0xa0
push esi
jmp 0x436997
lea eax, [esp + 0x3c]
push 0x541d6c
push eax
call fcn.00405820
mov ecx, dword [esp + 0x44]
add esp, 8
push ecx
push esi
push 2
mov edx, dword [esp + 0x30]
push edx
call ebx
push 0xb4
call fcn.004fa7c6
cmp eax, esi
je 0x4369bb
push 0xb4
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
push eax
push 0x92
push esi
push ecx
call ebx
push 0xb5
call fcn.004fa7c6
cmp eax, esi
je 0x4369ea
push 0xb5
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
push edx
push 0x94
push esi
push eax
call ebx
mov eax, dword [ebp + 0x90]
cmp eax, 3
je 0x436a0c
cmp eax, 4
jne 0x436a3b
mov eax, dword [0x56bb98]
cmp eax, 3
je 0x436a3b
cmp eax, 4
je 0x436a3b
push 0xcd
lea ecx, [esp + 0x40]
call fcn.00402120
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
push ecx
push 0x9e
push esi
push edx
call ebx
mov eax, dword [esp + 0x24]
push esi
push esi
push 0x800
push eax
call ebx
cmp dword [ebp + 0x3c], 0x10
jb 0x436a54
mov eax, dword [ebp + 0x28]
jmp 0x436a57
lea eax, [ebp + 0x28]
mov ecx, dword [ebp + 4]
push ecx
push eax
lea edx, [esp + 0x44]
push str._s__u_
push edx
call fcn.00405820
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
add esp, 0x10
push eax
push esi
push 2
push ecx
call ebx
push 0x56ba7c
lea ecx, [esp + 0x40]
call fcn.0040f190
mov edx, dword [ebp + 0x78]
push edx
push 0x541d64
lea edi, [esp + 0x44]
call fcn.0046d1f0
add esp, 8
push 0xa9
call fcn.004fa7c6
cmp eax, esi
je 0x436abd
push 0xa9
push eax
lea ecx, [esp + 0x18]
call fcn.00402150
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.00401a20
mov esi, dword [ebp + 0x78]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x1c]
push eax
call fcn.004430a0
mov byte [esp + 0x30], 3
mov ecx, dword [eax]
push ecx
push 0x541d5c
lea edi, [esp + 0x44]
call fcn.0046d1f0
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 8
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436b1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 0x97
call fcn.004fa7c6
test eax, eax
je 0x436b39
push 0x97
push eax
lea ecx, [esp + 0x18]
call fcn.00402150
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.00401a20
mov eax, dword [ebp + 0x74]
push eax
push 0x541d58
lea edi, [esp + 0x44]
call fcn.0046d1f0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 8
push ecx
push 0
push 2
push edx
call ebx
push 0x56ba70
mov ecx, edi
call fcn.0040f190
mov eax, dword [ebp + 0x7c]
push eax
push str.:_u_
call fcn.0046d1f0
add esp, 8
push 0x56ba74
lea ecx, [esp + 0x14]
call fcn.0040f190
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00401a20
mov ecx, dword [ebp + 0x84]
push ecx
push str.:_u_
call fcn.0046d1f0
add esp, 8
push 0x56ba78
lea ecx, [esp + 0x14]
call fcn.0040f190
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 0xc]
push eax
push esi
mov ecx, edi
call fcn.00401a20
mov edx, dword [ebp + 0x8c]
push edx
push 0x541d58
call fcn.0046d1f0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
add esp, 8
push eax
push 0
push 2
push ecx
call ebx
push 0x9b
call fcn.004fa7c6
test eax, eax
je 0x436c1c
push 0x9b
push eax
mov ecx, edi
call fcn.00402150
mov edx, dword [ebp + 0x60]
push edx
push str.:_u_
lea edi, [esp + 0x44]
call fcn.0046d1f0
add esp, 8
push 0x9d
call fcn.004fa7c6
test eax, eax
je 0x436c52
push 0x9d
push eax
lea ecx, [esp + 0x18]
call fcn.00402150
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00401a20
mov eax, dword [ebp + 0x64]
push eax
push str.:_u_
lea edi, [esp + 0x44]
call fcn.0046d1f0
add esp, 8
push 0x9f
call fcn.004fa7c6
test eax, eax
je 0x436c96
push 0x9f
push eax
lea ecx, [esp + 0x18]
call fcn.00402150
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00401a20
mov ecx, dword [ebp + 0x68]
push ecx
push str.:_u_
lea edi, [esp + 0x44]
call fcn.0046d1f0
mov eax, dword [ebp + 0x60]
add esp, 8
test eax, eax
jbe 0x436d08
test eax, eax
fild dword [ebp + 0x60]
jge 0x436ccd
fadd dword [0x54b1f4]
mov edx, dword [ebp + 0x68]
fmul dword [0x54b1f0]
mov edi, dword [ebp + 0x64]
add edx, eax
add edx, edi
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x436cef
fadd dword [0x54b1f4]
fdivp st(1)
sub esp, 8
lea edi, [esp + 0x44]
fstp qword [esp]
push str.__.3g____
call fcn.0046d1f0
add esp, 0xc
push 0xa1
call fcn.004fa7c6
test eax, eax
je 0x436d29
push 0xa1
push eax
lea ecx, [esp + 0x18]
call fcn.00402150
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00401a20
mov eax, dword [ebp + 0x6c]
push eax
push 0x541d58
lea edi, [esp + 0x44]
call fcn.0046d1f0
mov eax, dword [ebp + 0x6c]
add esp, 8
test eax, eax
jbe 0x436da1
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x436d63
fadd dword [0x54b1f4]
mov ecx, dword [ebp + 0x68]
fmul dword [0x54b1f0]
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x60]
add ecx, edi
add ecx, esi
test ecx, ecx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
jge 0x436d88
fadd dword [0x54b1f4]
fdivp st(1)
sub esp, 8
lea edi, [esp + 0x44]
fstp qword [esp]
push str.__.3g___
call fcn.0046d1f0
add esp, 0xc
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
push edx
push 0
push 2
push eax
call ebx
push 0xc4
call fcn.004fa7c6
test eax, eax
je 0x436dce
push 0xc4
push eax
lea ecx, [esp + 0x44]
call fcn.00402150
mov ecx, dword [ebp + 0x94]
push ecx
push 0x541d34
lea edi, [esp + 0x44]
call fcn.0046d1f0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
add esp, 8
push edx
push 0
push 2
push eax
call ebx
mov ecx, dword [esp + 0x24]
push 0
push 0
push 0x800
push ecx
call ebx
mov edx, edi
push 0x541d28
push edx
call fcn.00405820
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
add esp, 8
push eax
push 0xd3
push 0
push ecx
call ebx
mov edx, dword [ebp + 4]
cmp edx, dword [0x56bb0c]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
jne 0x436e96
mov eax, dword [esp + 0x24]
push 1
push 0x7a
push eax
call esi
mov ecx, dword [esp + 0x24]
push 1
push 0x7b
push ecx
call esi
mov edx, dword [esp + 0x24]
push 1
push 0xd9
push edx
call esi
mov eax, dword [esp + 0x24]
push 1
push 0x90
push eax
call esi
mov ecx, dword [esp + 0x24]
push 1
push 0x92
push ecx
call esi
mov edx, dword [esp + 0x24]
push 1
push 0x94
push edx
call esi
mov eax, dword [esp + 0x24]
push 1
push 0x9e
push eax
call esi
mov eax, dword [0x56bb98]
cmp eax, 1
je 0x436eb3
cmp eax, 2
je 0x436eb3
mov ecx, dword [esp + 0x24]
push 1
push 0x90
push ecx
call esi
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x66ec]
cmp eax, 1
je 0x437033
cmp eax, 3
je 0x437033
push 0x56b5e8
lea ecx, [esp + 0x18]
call fcn.00402030
mov byte [esp + 0x30], 4
mov eax, dword [0x56bb0c]
push eax
push str.userprofile_u_relation.dat
lea edi, [esp + 0x1c]
call fcn.0046d1f0
add esp, 8
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x30], 5
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x30], 6
mov eax, dword [0x56bb0c]
push eax
lea ecx, [esp + 0x20]
push 0x53e840
push ecx
call fcn.00405820
mov edx, dword [0x56b800]
push edx
lea eax, [esp + 0x28]
push 0x53e840
push eax
call fcn.00405820
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
add esp, 0x18
push ecx
push 0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x436f80
mov edx, dword [esp + 0x24]
push eax
push 0x92
push edx
jmp 0x436f91
cmp eax, 2
jne 0x436f93
mov eax, dword [esp + 0x24]
push 1
push 0x94
push eax
call esi
mov eax, dword [0x56bb50]
and eax, 0xf000
cmp eax, 0x4000
ja 0x4370f1
je 0x4370fc
cmp eax, 0x1000
je 0x4370fc
cmp eax, 0x2000
je 0x4370fc
mov ecx, dword [esp + 0x24]
push 1
push 0xd3
push ecx
call esi
lea eax, [edi - 0x10]
mov byte [esp + 0x30], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436ff1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
mov byte [esp + 0x30], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437010
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x30], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437033
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x66ec]
cmp eax, 2
pop ebx
je 0x437048
cmp eax, 3
jne 0x437064
mov eax, dword [esp + 0x20]
push 1
push 0x90
push eax
call esi
mov ecx, dword [esp + 0x20]
push 1
push 0xd3
push ecx
call esi
mov eax, dword [esp + 0x3c]
push 0
movzx ecx, ax
push edi
shr eax, 0x10
push eax
push ecx
push 0
lea ecx, [esp + 0x30]
call fcn.004f76b0
mov byte [esp + 0x2c], 1
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4370a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x2c], 0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4370c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], vtable.CMenu.0
call fcn.004fcc81
pop edi
mov ecx, dword [esp + 0x20]
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x24
ret 0xc
cmp eax, 0x8000
jne 0x436fc4
mov ecx, dword [ebp + 4]
cmp ecx, dword [0x56bb0c]
je 0x436fc4
mov edx, dword [ebp + 0x58]
cmp edx, dword [0x56bb60]
jne 0x436fc4
mov eax, dword [esp + 0x24]
push 0
push 0xd3
push eax
jmp 0x436fd0