Function at 0x405c00
Capabilities:
Read .ini file

Disassembly:
sub esp, 0xc
mov eax, dword [0x43d4c4]
mov edx, dword [eax + 0xc]
push ebx
push ebp
push esi
push edi
mov ecx, 0x43d4c4
call edx
mov edi, eax
mov eax, dword [0x43e80c]
add edi, 0x10
add eax, 0xfffffff0
mov dword [esp + 0x14], edi
call fcn.004100e0
mov esi, eax
add esi, 0x10
push 0x5c
push esi
mov dword [esp + 0x18], esi
call fcn.0041cf70
add esp, 8
test eax, eax
je 0x406507
sub eax, esi
sar eax, 1
mov ebp, eax
js 0x406507
mov ebx, dword [esi - 0xc]
cmp ebp, ebx
jge 0x406507
cmp dword [esi - 4], 1
jle 0x405c76
mov eax, ebx
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00401c50
mov esi, dword [esp + 0x10]
xor edx, edx
mov word [esi + ebp*2], dx
test ebx, ebx
jl 0x406507
cmp ebx, dword [esi - 8]
jg 0x406507
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
mov eax, ebp
cmp ebp, 0xffffffff
jne 0x405caa
mov eax, dword [esi - 8]
push eax
push esi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [esi - 8]
jg 0x406507
xor ecx, ecx
mov dword [esi - 0xc], eax
push str.log.dat
lea edx, [esp + 0x14]
mov word [esi + eax*2], cx
push edx
lea eax, [ecx + 8]
call fcn.00411f50
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp - 8]
push eax
push ebp
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [ebp - 8]
jg 0x406507
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebp
xor ecx, ecx
push ecx
push 0x43474c
mov dword [ebp - 0xc], eax
push str.Config
mov word [ebp + eax*2], cx
call esi
push ebp
push 0
push str.HJType2Count
push str.Config
mov dword [0x43e0e4], eax
call esi
mov dword [0x43e0e8], eax
mov eax, dword [edi - 8]
mov edx, 1
sub edx, dword [edi - 4]
sub eax, 0x22
or edx, eax
jge 0x405d53
mov ecx, 0x22
lea eax, [esp + 0x14]
call fcn.00401d00
mov edi, dword [esp + 0x14]
push ebp
push 0x21
push edi
push 0x435008
push str.Call
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
ja 0x405dac
mov edx, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub edx, 0x22
or ecx, edx
jge 0x405d94
mov ecx, 0x22
lea eax, [esp + 0x14]
call fcn.00401d00
mov edi, dword [esp + 0x14]
push 0x21
push edi
push 0x435008
push str.MCom
push str.Config
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
mov eax, dword [edi - 8]
push eax
push edi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [edi - 8]
jg 0x406507
xor ecx, ecx
mov dword [edi - 0xc], eax
lea ebx, [esp + 0x14]
mov word [edi + eax*2], cx
call fcn.00401ad0
call fcn.00401a50
push str.nonodihfghrect
mov ebx, 0x16
mov eax, 0x43e820
call fcn.00410040
push str.nonodirhhect
mov ebx, 0x13
mov eax, 0x43e81c
call fcn.00410040
push str.http:__www.baidu.com_index.php_tn00005079_1_pg
mov ebx, 0x2f
mov eax, 0x43e814
call fcn.00410040
push ebp
push 0
push str.sgjz
push str.Config
call esi
mov edx, dword [esp + 0x14]
mov dword [0x43e804], eax
cmp dword [edx - 0xc], 0
jle 0x405f77
mov eax, dword [0x43d4c4]
mov edx, dword [eax + 0xc]
mov ecx, 0x43d4c4
call edx
mov esi, eax
mov ecx, dword [esi + 8]
add esi, 0x10
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, 0x104
or eax, ecx
mov dword [esp + 0x10], esi
jge 0x405e7e
mov ecx, 0x104
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push ebp
push 0x103
push esi
push str.7bc69fc397b3d49d19f03b2d087dfcca51d144359a4699f9
push str.Domain
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x40619b
mov eax, dword [esi - 8]
push eax
push esi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [esi - 8]
jg 0x406507
xor edx, edx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], dx
mov eax, dword [0x43e808]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
sub edx, 0x104
or ecx, edx
jge 0x405ef7
mov ecx, 0x104
mov eax, 0x43e808
call fcn.00401d00
mov eax, dword [0x43e808]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx - 8]
mov edi, eax
mov eax, 1
sub eax, dword [ebx - 4]
sub ecx, 0x20
or eax, ecx
jge 0x405f21
mov ecx, 0x20
lea eax, [esp + 0x14]
call fcn.00401d00
mov ebx, dword [esp + 0x14]
mov eax, dword [esi - 8]
mov edx, 1
sub edx, dword [esi - 4]
sub eax, 0x104
or edx, eax
jge 0x405f47
mov ecx, 0x104
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push edi
push ebx
mov ecx, esi
call fcn.0042c5a0
add esp, 8
test al, al
jne 0x406009
add esi, 0xfffffff0
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405f77
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
push str.http:__www.bux8.com
mov ebx, 0x13
mov eax, 0x43e808
call fcn.00410040
mov eax, dword [0x43e814]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
mov ecx, dword [0x43e814]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov edx, dword [0x43e814]
xor ecx, ecx
mov word [edx + eax*2], cx
lea eax, [ebp - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405fdf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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 0x405fff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xc
ret
mov eax, dword [0x43e808]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
mov ecx, dword [0x43e808]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov edx, dword [0x43e808]
xor ecx, ecx
mov edi, 0x43e808
mov word [edx + eax*2], cx
call fcn.00409db0
push edi
mov eax, 1
lea ecx, [esp + 0x1c]
call fcn.00409eb0
push eax
mov ecx, 0x43490c
call fcn.0040a080
mov bl, al
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40608a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4060da
mov ecx, dword [0x43e808]
mov ebx, dword [ecx - 0xc]
dec ebx
mov edi, 0x43e808
call fcn.0040a210
mov eax, dword [0x43e808]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
mov ecx, dword [0x43e808]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov ecx, dword [0x43e808]
xor edx, edx
mov word [ecx + eax*2], dx
lea eax, [esp + 0x18]
call fcn.00409f20
push eax
mov ecx, 0x434910
call fcn.0040a0e0
mov bl, al
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406113
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x406154
mov eax, 0x43e808
mov ebx, 0x434910
lea edi, [esp + 0x18]
call fcn.00409ff0
mov edi, 0x43e808
call fcn.0040d0f0
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 0x406154
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [0x43e808]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
mov ecx, dword [0x43e808]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov edx, dword [0x43e808]
xor ecx, ecx
mov ebx, 0x43e808
mov word [edx + eax*2], cx
call fcn.00401ad0
call fcn.00401a50
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, 0x104
or eax, ecx
jge 0x4061c2
mov ecx, 0x104
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push ebp
push 0x103
push esi
push 0x435008
push str.HomePage
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [esi - 8]
push eax
push esi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [esi - 8]
jg 0x406507
xor edx, edx
mov dword [esi - 0xc], eax
lea ebx, [esp + 0x10]
mov word [esi + eax*2], dx
call fcn.00401ad0
call fcn.00401a50
mov eax, dword [0x43e818]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
sub edx, 0x104
or ecx, edx
jge 0x406241
mov ecx, 0x104
mov eax, 0x43e818
call fcn.00401d00
mov eax, dword [0x43e818]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx - 8]
mov edi, eax
mov eax, 1
sub eax, dword [ebx - 4]
sub ecx, 0x20
or eax, ecx
jge 0x40626b
mov ecx, 0x20
lea eax, [esp + 0x14]
call fcn.00401d00
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 8]
mov edx, 1
sub edx, dword [esi - 4]
sub eax, 0x104
or edx, eax
jge 0x406295
mov ecx, 0x104
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push edi
push ebx
mov ecx, esi
call fcn.0042c5a0
mov eax, dword [0x43e818]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 0x10
test eax, eax
jl 0x406507
mov ecx, dword [0x43e818]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov edx, dword [0x43e818]
xor ecx, ecx
mov ebx, 0x43e818
mov word [edx + eax*2], cx
call fcn.00401ad0
call fcn.00401a50
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, 0x104
or eax, ecx
jge 0x40630c
mov ecx, 0x104
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebp
push 0x103
push esi
push 0x435008
push str.home
push str.Config
call edi
mov eax, dword [esi - 8]
push eax
push esi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [esi - 8]
jg 0x406507
xor edx, edx
mov dword [esi - 0xc], eax
lea ebx, [esp + 0x10]
mov word [esi + eax*2], dx
call fcn.00401ad0
call fcn.00401a50
mov esi, dword [esp + 0x10]
push str.sogou
push esi
call fcn.0041d72f
add esp, 8
test eax, eax
je 0x406387
push str.sgdh
push esi
call fcn.0041d72f
add esp, 8
test eax, eax
jne 0x4063af
push str.http:__www.sogou.com
mov ebx, 0x14
mov eax, 0x43e81c
call fcn.00410040
push 0x43450c
mov ebx, 4
mov eax, 0x43e820
call fcn.00410040
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, 0x800
or eax, ecx
jge 0x4063d6
mov ecx, 0x800
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push ebp
push 0x801
push esi
push 0x435008
push str.StopURL
push str.Config
call edi
mov eax, dword [esi - 8]
push eax
push esi
call fcn.0041ce04
add esp, 8
test eax, eax
jl 0x406507
cmp eax, dword [esi - 8]
jg 0x406507
xor edx, edx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], dx
mov eax, dword [0x43e810]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
sub edx, 0x800
or ecx, edx
jge 0x406443
mov ecx, 0x800
mov eax, 0x43e810
call fcn.00401d00
mov eax, dword [0x43e810]
mov ecx, dword [esi - 8]
mov edi, eax
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, 0x800
or eax, ecx
jge 0x40646c
mov ecx, 0x800
lea eax, [esp + 0x10]
call fcn.00401d00
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x18]
push edi
mov ecx, esi
call fcn.0042c5a0
mov eax, dword [0x43e810]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0041ce04
add esp, 0x10
test eax, eax
jl 0x406507
mov ecx, dword [0x43e810]
cmp eax, dword [ecx - 8]
jg 0x406507
mov dword [ecx - 0xc], eax
mov ecx, dword [0x43e810]
xor edx, edx
mov word [ecx + eax*2], dx
add esi, 0xfffffff0
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4064c5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea eax, [ebp - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4064e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4064fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xc
ret
push 0x80070057
call fcn.00401730
int3