Function at 0x406120
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4e0274
mov eax, dword fs:[0]
push eax
sub esp, 0x470
mov eax, dword [0x515854]
xor eax, esp
mov dword [esp + 0x46c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x515854]
xor eax, esp
push eax
lea eax, [esp + 0x484]
mov dword fs:[0], eax
mov eax, dword [esp + 0x494]
mov dword [esp + 0x14], eax
xor ebp, ebp
push 0xffffffffffffffff
mov dword [esp + 0x490], ebp
push ebp
lea ecx, [esp + 0x4a0]
mov esi, 7
push ecx
lea eax, [esp + 0x44]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebp
mov word [esp + 0x48], bp
call fcn.00401690
mov byte [esp + 0x48c], 1
cmp dword [esp + 0x4ac], ebp
jne 0x406266
push 0x206
lea edx, [esp + 0x27e]
push ebp
push edx
mov word [esp + 0x284], bp
call fcn.004b9920
add esp, 0xc
push 0x104
lea eax, [esp + 0x27c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp eax, 0x104
jne 0x40622f
mov ebx, 8
cmp dword [esp + 0x50], ebx
jb 0x406202
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004b6eae
add esp, 4
cmp dword [esp + 0x4b0], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebp
mov word [esp + 0x3c], bp
jb 0x406228
mov edx, dword [esp + 0x49c]
push edx
call fcn.004b6eae
add esp, 4
xor al, al
jmp 0x40648b
lea eax, [esp + 0x278]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x406240
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x27c]
push eax
lea esi, [esp + 0x40]
call fcn.00407ef0
mov esi, 7
lea ecx, [esp + 0x38]
push ecx
lea edi, [esp + 0x1c]
call fcn.0043eabf
add esp, 4
mov edi, dword [esp + 0x14]
push 0xffffffffffffffff
push ebp
add edi, 0x2ec
push eax
mov eax, edi
mov byte [esp + 0x498], 2
call fcn.00401690
mov ebx, 8
mov byte [esp + 0x48c], 1
cmp dword [esp + 0x30], ebx
jb 0x4062b4
mov edx, dword [esp + 0x1c]
push edx
call fcn.004b6eae
add esp, 4
push 0xd
mov dword [esp + 0x34], esi
push 0x4ec9d4
lea esi, [esp + 0x20]
mov dword [esp + 0x34], ebp
mov word [esp + 0x24], bp
call fcn.00407ef0
mov eax, esi
push eax
push edi
lea ecx, [esp + 0x5c]
mov byte [esp + 0x494], 3
call fcn.0043e96d
add esp, 8
mov byte [esp + 0x48c], 5
cmp dword [esp + 0x30], ebx
jb 0x406304
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004b6eae
add esp, 4
push 0x206
lea edx, [esp + 0x76]
push ebp
mov edi, 7
push edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov word [esp + 0x28], bp
mov word [esp + 0x7c], bp
call fcn.004b9920
mov eax, dword [esp + 0x64]
add esp, 0xc
cmp dword [esp + 0x6c], ebx
jae 0x40633c
lea eax, [esp + 0x58]
push eax
push 0x104
lea eax, [esp + 0x78]
push eax
push 0x4ec52c
push 0x4ec9f0
push str.Uninstall
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x70]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x406363
sub eax, edx
sar eax, 1
jne 0x4063d8
cmp dword [esp + 0x6c], ebx
jb 0x406387
mov ecx, dword [esp + 0x58]
push ecx
call fcn.004b6eae
add esp, 4
cmp dword [esp + 0x50], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], bp
jb 0x4063a7
mov edx, dword [esp + 0x3c]
push edx
call fcn.004b6eae
add esp, 4
cmp dword [esp + 0x4b0], ebx
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebp
mov word [esp + 0x3c], bp
jb 0x406228
mov eax, dword [esp + 0x49c]
push eax
call fcn.004b6eae
add esp, 4
xor al, al
jmp 0x40648b
cmp dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x58]
jae 0x4063e6
lea eax, [esp + 0x58]
push eax
push ebp
push str.channel
push str.Installed
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, dword [esp + 0x14]
mov dword [esi + 0x3f4], eax
lea eax, [esp + 0x70]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x406410
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x74]
push ecx
add esi, 0x2b4
call fcn.00407ef0
cmp dword [esp + 0x6c], ebx
jb 0x406443
mov edx, dword [esp + 0x58]
push edx
call fcn.004b6eae
add esp, 4
cmp dword [esp + 0x50], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], bp
jb 0x406463
mov eax, dword [esp + 0x3c]
push eax
call fcn.004b6eae
add esp, 4
cmp dword [esp + 0x4b0], ebx
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebp
mov word [esp + 0x3c], bp
jb 0x406489
mov ecx, dword [esp + 0x49c]
push ecx
call fcn.004b6eae
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x484]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x46c]
xor ecx, esp
call fcn.004b6e9f
add esp, 0x47c
ret 0x20