Function at 0x406be0
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check mutex on windows
Create thread
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x488
mov eax, dword [0x573790]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push edi
push 0x554980
xor edi, edi
push edi
push edi
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x406c5e
push 0x3ff
lea eax, [ebp - 0x483]
push edi
push eax
mov byte [ebp - 0x484], 0
call fcn.005023a0
lea ecx, [ebp - 0x484]
push 0x554990
push ecx
call fcn.004ff6e3
lea edx, [ebp - 0x484]
push edx
call fcn.004012b0
add esp, 0x18
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004fecc6
mov esp, ebp
pop ebp
ret
push edi
push edi
push edi
call esi
mov dword [0x57b6b4], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
cmp esi, edi
jne 0x406caf
push 0x553ea8
call fcn.004012b0
add esp, 4
push 0x5549b8
call fcn.004012b0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.004fecc6
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push edi
push esi
call fcn.00415e04
test eax, eax
jne 0x406cc9
push 0x553ec4
jmp 0x406c88
call fcn.004036d0
test al, al
je 0x406c90
call fcn.00406b50
call fcn.004039d0
call fcn.00406ac0
call fcn.00406a00
cmp dword [0x57b6b0], edi
je 0x406cfe
mov dword [0x574ae4], fcn.00406b40
mov dword [0x574adc], edi
call fcn.004047f0
mov eax, 1
mov dword [0x57b684], eax
mov dword [0x57b680], eax
mov dword [0x57b67c], eax
mov eax, dword [0x57b458]
mov dword [0x57b674], edi
mov dword [0x57b670], edi
mov dword [0x57b66c], edi
cmp eax, edi
je 0x406d3f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x57b458], edi
push 0x7f
lea eax, [ebp - 0x83]
push edi
push eax
mov byte [ebp - 0x84], 0
call fcn.005023a0
mov eax, dword [0x574aa0]
mov edi, 0x10
add esp, 0xc
cmp dword [0x574ab4], edi
jae 0x406d6f
mov eax, 0x574aa0
push eax
lea ecx, [ebp - 0x488]
call fcn.00408480
mov ecx, dword [eax]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ecx
push 0x80
lea edx, [ebp - 0x84]
push edx
push 0x5539f8
push str.HZA_POWER
push str.SETTING
call esi
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406dc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.00500d1a
add esp, 4
mov dword [0x574a70], eax
mov eax, dword [0x574aa0]
cmp dword [0x574ab4], edi
jae 0x406de9
mov eax, 0x574aa0
push eax
lea ecx, [ebp - 0x488]
call fcn.00408480
mov edx, dword [eax]
push edx
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x5539f8
push str.HZB_POWER
push str.SETTING
call esi
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.00500d1a
add esp, 4
mov dword [0x574a74], eax
mov eax, dword [0x574aa0]
cmp dword [0x574ab4], edi
jae 0x406e5d
mov eax, 0x574aa0
push eax
lea ecx, [ebp - 0x488]
call fcn.00408480
mov edx, dword [eax]
push edx
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x5539f8
push str.QJA_POWER
push str.SETTING
call esi
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406eab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.00500d1a
add esp, 4
mov dword [0x574a78], eax
mov eax, dword [0x574aa0]
cmp dword [0x574ab4], edi
jae 0x406ed1
mov eax, 0x574aa0
push eax
lea ecx, [ebp - 0x488]
call fcn.00408480
mov edx, dword [eax]
push edx
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x5539f8
push str.QJB_POWER
push str.SETTING
call esi
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.00500d1a
add esp, 4
mov dword [0x574a7c], eax
mov eax, dword [0x574aa0]
cmp dword [0x574ab4], edi
jae 0x406f45
mov eax, 0x574aa0
push eax
lea ecx, [ebp - 0x488]
call fcn.00408480
mov edx, dword [eax]
push edx
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x5539f8
push str.TAX_POWER
push str.SETTING
call esi
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.00500d1a
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
mov dword [0x574a80], eax
call edi
mov esi, eax
call fcn.00403c40
cmp dword [0x57b680], 0
mov dword [ebp - 0x488], esi
je 0x407006
mov eax, dword [0x57b670]
test eax, eax
je 0x406fe5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x57b670], 0
push 0
push 0
lea edx, [ebp - 0x488]
push edx
push 0x406bc0
push 0
push 0
call fcn.00500e81
add esp, 0x18
mov dword [0x57b670], eax
call edi
sub esi, eax
add esi, 0xea60
js 0x40701a
cmp esi, 0xea60
jle 0x40701c
xor esi, esi
push esi
call ebx
call fcn.00401680
jmp 0x406fb3