Function at 0x40a703
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push 8
call fcn.0040f0ac
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x485c4d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0040f0ac
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x485c4d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0040f0ac
add esp, 4
mov dword [ebp - 0xc], eax
mov edi, eax
mov esi, 0x485c4d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0040f0ac
add esp, 4
mov dword [ebp - 0x10], eax
mov edi, eax
mov esi, 0x485c4d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0040f0ac
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, 0x485c4d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x40004
push 0x1601261e
push 0x52011408
push 1
mov eax, 3
mov ebx, 0x45d020
call fcn.0040f0be
add esp, 0x10
push str.g_f160cmd10subcmd1
push dword [0x574614]
push 0x485924
push dword [0x574610]
push str.http:__qqpet.wapsns.3g.qq.com_qqpet_fcgi_bin_farm_sid
mov ecx, 5
call fcn.00401277
add esp, 0x14
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
push 1
mov eax, str.User_Agent:_Mozilla_5.0__iPhone__U__CPU_OS_4_2_1_like_Mac_OS_X__AppleWebKit_532.9__KHTML__like_Gecko__Version_5.0.3_Mobile_8B5097d_Safari_6531.22.7
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], 0
push 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00401921
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40a850
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40a860
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40a870
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a880
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a890
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40a8a0
push ebx
call fcn.0040f0b2
add esp, 4
lea eax, [ebp - 0x38]
push eax
call fcn.00402dfe
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40a8bc
push ebx
call fcn.0040f0b2
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x57463c]
test ebx, ebx
je 0x40a8d3
push ebx
call fcn.0040f0b2
add esp, 4
pop eax
mov dword [0x57463c], eax
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
lea eax, [ebp - 4]
push eax
mov eax, 0x54d51d
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x54d520
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push 0x57463c
call fcn.004045dd
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40a95b
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40a96b
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a97b
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a98b
push ebx
call fcn.0040f0b2
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
lea eax, [ebp - 8]
push eax
mov eax, str._n_t_tnbsp__n
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, str.:_n_t_tnbsp__n_t_t
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push 0x57463c
call fcn.004045dd
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40aa0d
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40aa1d
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40aa2d
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aa3d
push ebx
call fcn.0040f0b2
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
lea eax, [ebp - 0xc]
push eax
mov eax, str._n_t_tnbsp__n
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x54d544
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push 0x57463c
call fcn.004045dd
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40aabf
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40aacf
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40aadf
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aaef
push ebx
call fcn.0040f0b2
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
lea eax, [ebp - 0x10]
push eax
mov eax, 0x54d54b
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x54d550
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push 0x57463c
call fcn.004045dd
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40ab71
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40ab81
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40ab91
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aba1
push ebx
call fcn.0040f0b2
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
lea eax, [ebp - 0x14]
push eax
mov eax, str.:_n_t_tnbsp__n
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x54dbfa
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push 0x57463c
call fcn.004045dd
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40ac23
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40ac33
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40ac43
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ac53
push ebx
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x14]
call fcn.004045c4
xor ecx, ecx
push eax
lea eax, [ebp - 0x18]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40b02d
mov ebx, dword [ebp - 0x14]
call fcn.00403c66
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x40ac8f
push 4
call fcn.0040f0ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aca2
push 1
call fcn.0040f0ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40acbf
mov eax, 0x48590c
push eax
push 1
mov ebx, 0x40fa70
call fcn.0040f0b8
add esp, 0x10
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x485c5f]
fstp qword [ebp - 0x34]
push 0x80000601
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push 1
mov ebx, 0x410600
call fcn.0040f0b8
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, 0xc
call fcn.00403c0d
push getpeername
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x40ad24
mov eax, 0x48590c
push eax
push 0
push 0
push 0
push 0x40004
push 0x1601261e
push 0x52011408
push 7
mov eax, 3
mov ebx, 0x45cf30
call fcn.0040f0be
add esp, 0x58
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40ad64
push ebx
call fcn.0040f0b2
add esp, 4
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 4]
call fcn.00403c66
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x40ad87
push 4
call fcn.0040f0ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ad9a
push 1
call fcn.0040f0ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40adb7
mov eax, 0x48590c
push eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 0x40004
push 0x1601261e
push 0x52011408
push 4
mov eax, 3
mov ebx, 0x45cf10
call fcn.0040f0be
add esp, 0x34
mov ebx, dword [ebp - 8]
call fcn.00403c66
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x40ae11
push 4
call fcn.0040f0ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ae24
push 1
call fcn.0040f0ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40ae41
mov eax, 0x48590c
push eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 0x40004
push 0x1601261e
push 0x52011408
push 4
mov eax, 3
mov ebx, 0x45cf10
call fcn.0040f0be
add esp, 0x34
mov ebx, dword [ebp - 0xc]
call fcn.00403c66
push ebx
push ecx
fild dword [ebp - 0x18]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x485ca8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x485c5f]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.004023ec
dec eax
jns 0x40aebe
push 4
call fcn.0040f0ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aed1
push 1
call fcn.0040f0ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx]
test eax, eax
jne 0x40aeee
mov eax, 0x48590c
push eax
push 0x80000301
push 0
push 3
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 0x40004
push 0x1601261e
push 0x52011408
push 4
mov eax, 3
mov ebx, 0x45cf10
call fcn.0040f0be
add esp, 0x34
push getpeername
push 0
push 0x54d57a
push 0x80000301
push 0
push 4
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 0x40004
push 0x1601261e
push 0x52011408
push 4
mov eax, 3
mov ebx, 0x45cf10
call fcn.0040f0be
add esp, 0x34
mov ebx, dword [ebp - 0x10]
call fcn.00403c66
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x40af90
push 4
call fcn.0040f0ca
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40afa3
push 1
call fcn.0040f0ca
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x54d54b
mov ebx, dword [ebp - 0x20]
push dword [ebx]
mov ecx, 2
call fcn.00401277
add esp, 8
mov dword [ebp - 0x24], eax
push getpeername
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x40afd8
mov eax, 0x48590c
push eax
push 0x80000301
push 0
push 5
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 0x40004
push 0x1601261e
push 0x52011408
push 4
mov eax, 3
mov ebx, 0x45cf10
call fcn.0040f0be
add esp, 0x34
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40b025
push ebx
call fcn.0040f0b2
add esp, 4
pop eax
pop ebx
pop ecx
jmp 0x40ac64
add esp, 0xc
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b04e
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b04a
imul eax, dword [ebx]
jmp 0x40b03f
mov ecx, eax
test ecx, ecx
je 0x40b06d
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b066
push ebx
push eax
call fcn.0040f0b2
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b054
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b093
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b08f
imul eax, dword [ebx]
jmp 0x40b084
mov ecx, eax
test ecx, ecx
je 0x40b0b2
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b0ab
push ebx
push eax
call fcn.0040f0b2
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b099
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b0d8
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b0d4
imul eax, dword [ebx]
jmp 0x40b0c9
mov ecx, eax
test ecx, ecx
je 0x40b0f7
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b0f0
push ebx
push eax
call fcn.0040f0b2
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b0de
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x10]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b11d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b119
imul eax, dword [ebx]
jmp 0x40b10e
mov ecx, eax
test ecx, ecx
je 0x40b13c
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b135
push ebx
push eax
call fcn.0040f0b2
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b123
call fcn.0040f0b2
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b162
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b15e
imul eax, dword [ebx]
jmp 0x40b153
mov ecx, eax
test ecx, ecx
je 0x40b181
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b17a
push ebx
push eax
call fcn.0040f0b2
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b168
call fcn.0040f0b2
add esp, 4
mov esp, ebp
pop ebp
ret