Function at 0x40f790
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48b738
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x4b47a8]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
xor edi, edi
cmp dword [ebp + 8], edi
jne 0x40f7d8
xor eax, eax
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0044d630
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x40f7f2
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x48], edi
call fcn.0044d630
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x40f820
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x48], 1
call fcn.0044d630
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x40f84f
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push str.param.ini
lea ecx, [esp + 0x20]
push 0x4b90c8
push ecx
mov byte [esp + 0x54], 2
call fcn.00406070
mov eax, dword [eax]
add esp, 0xc
push eax
push edi
push str.times
push str.HOMEURL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f8b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push edi
push str.HomeTimes
push 0x4958bc
call dword [sym.imp.KERNEL32.dll_GetProfileIntA]
lea esi, [esp + 0x2c]
mov dword [esp + 0x24], eax
call fcn.00440d90
mov byte [esp + 0x48], 3
mov ecx, dword [0x4b90b8]
mov dword [esp + 0x34], edi
mov edi, dword [0x4b92bc]
push ecx
mov ebx, esi
call fcn.00442410
push str.hjjm.dat
lea edx, [esp + 0x24]
push 0x4b9120
push edx
call fcn.00406070
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 0xc
push eax
push 0
push str.Agent
push 0x494518
call edi
mov esi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f93e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push esi
push ecx
mov ecx, dword [0x4b90b8]
push edx
push eax
push ecx
lea edx, [esp + 0x28]
push str.home_dhjjm_times_deasy_times_dnosames_dAgent_d
push edx
call fcn.004067e0
add esp, 0x1c
push str.param.ini
lea eax, [esp + 0x2c]
push 0x4b90c8
push eax
call fcn.00406070
mov eax, dword [eax]
add esp, 0xc
push eax
push 0
push str.ExitIdCounts
push str.HJJMID
call edi
mov esi, eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f9b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jle 0x40fa66
push str.param.ini
lea ecx, [esp + 0x28]
push 0x4b90c8
push ecx
call fcn.00406070
mov eax, dword [eax]
add esp, 0xc
push eax
push 0x494590
push str.ExitIdCounts
push str.HJJMID
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40fa08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
lea ecx, [esp + 0x1c]
push str.e_d
push ecx
call fcn.004067e0
add esp, 0xc
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00405fb0
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c], 4
call fcn.00406820
mov byte [esp + 0x48], 3
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40fa66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push str.WebFirst
push 0x49593c
call dword [sym.imp.KERNEL32.dll_GetProfileIntA]
cmp eax, 1
jne 0x40fadd
push 0x494590
push str.WebFirst
push 0x49593c
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
push 0x2f
push str.http:__www.55tools.com_hjjm_about1.php_ver2958
lea ecx, [esp + 0x18]
call fcn.004068a0
mov esi, dword [esp + 0x14]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.0040a140
mov edi, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push edi
push 0x4b5d30
push 0
push 0
push 1
push 0x68
add ecx, 0x148
push ecx
jmp 0x40fb6b
cmp dword [0x4b90bc], 0
lea ecx, [esp + 0x10]
je 0x40fb2c
push str.http:__www.55tools.com_hjjm_about3.php_ver2958
call fcn.00406a00
mov esi, dword [esp + 0x14]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.0040a140
mov edi, dword [esp + 0x10]
mov edx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push edi
push 0x4b5d30
push 0
push 0
push 1
push 0x68
add edx, 0x148
push edx
jmp 0x40fb6b
push str.http:__www.55tools.com_hjjm_about2.php_ver2958
call fcn.00406a00
mov esi, dword [esp + 0x14]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.0040a140
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
push 0
push 0
push 0
push 0
push edi
push 0x4b5d30
push 0
push 0
push 1
push 0x68
add eax, 0x148
push eax
call fcn.0044c699
mov byte [esp + 0x74], 2
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
add esp, 0x2c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40fb98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40fbb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x48], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40fbdd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x48], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40fbfe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov dword [esp + 0x48], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40fc22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret