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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 3
mov eax, 2
mov ebx, 0x460ff0
call fcn.0040f2f6
add esp, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401590
push ebx
call fcn.0040f2e4
add esp, 4
pop eax
mov dword [ebp - 4], eax
xor ecx, ecx
lea eax, [ebp - 8]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 0xa
jg 0x401c95
call fcn.00401cce
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
push 0x49a67d
mov ecx, 2
call fcn.0040141f
add esp, 8
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4015d9
push ebx
call fcn.0040f2e4
add esp, 4
mov dword [ebp - 0x1c], 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
push 1
mov eax, str.X_Requested_With:_XMLHttpRequest_r_nUser_Agent:_Mozilla_5.0__iPhone__CPU_iPhone_OS_7_1_2_like_Mac_OS_X__AppleWebKit_537.51.2__KHTML__like_Gecko__Mobile_11D257_MicroMessenger_6.0.1_NetType_WIFI
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], 0
push 0
lea eax, [ebp - 0x34]
push eax
push 1
lea eax, [ebp - 4]
push eax
mov dword [ebp - 0x38], 0
push 0
lea eax, [ebp - 0x38]
push eax
push 1
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.00402160
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40166a
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40167a
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40168a
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40169a
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4016aa
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x4016ba
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4016ca
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4016da
push ebx
call fcn.0040f2e4
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4016ee
push ebx
call fcn.0040f2e4
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov eax, 0x49a771
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, str.msg_:_
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.004035e9
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40173e
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40174e
push ebx
call fcn.0040f2e4
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401762
push ebx
call fcn.0040f2e4
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x49a674
push dword [ebp - 0x10]
call fcn.0040147b
add esp, 8
cmp eax, 0
jne 0x4018b5
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x4107c0
call fcn.0040f2f0
add esp, 0x10
mov dword [ebp - 0x14], eax
push 0x49a77a
push dword [ebp - 0x14]
push 0x49a78d
mov ecx, 3
call fcn.0040141f
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4017cb
push ebx
call fcn.0040f2e4
add esp, 4
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4017de
mov eax, 0x49a674
push eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 4
mov eax, 2
mov ebx, 0x4611e0
call fcn.0040f2f6
add esp, 0x34
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40182b
push ebx
call fcn.0040f2e4
add esp, 4
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 3
mov eax, 2
mov ebx, 0x460ff0
call fcn.0040f2f6
add esp, 0x28
mov dword [ebp - 0x14], eax
push 0x49a790
push dword [ebp - 0x14]
push 0x49a7a1
mov ecx, 3
call fcn.0040141f
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401897
push ebx
call fcn.0040f2e4
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004057c4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4018b0
push ebx
call fcn.0040f2e4
add esp, 4
jmp 0x401c95
push 0x49a674
push dword [ebp - 0x10]
call fcn.0040147b
add esp, 8
cmp eax, 0
je 0x401c19
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0
push 0
push 0
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
push 0x49a7a8
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x4018ff
mov eax, 0x49a674
push eax
push 4
mov ebx, 0x40f9f0
call fcn.0040f2f0
add esp, 0x34
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x401a50
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x4107c0
call fcn.0040f2f0
add esp, 0x10
mov dword [ebp - 0x14], eax
push 0x49a7b1
push dword [ebp - 0x14]
push 0x49a78d
mov ecx, 3
call fcn.0040141f
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40196b
push ebx
call fcn.0040f2e4
add esp, 4
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40197e
mov eax, 0x49a674
push eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 4
mov eax, 2
mov ebx, 0x4611e0
call fcn.0040f2f6
add esp, 0x34
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4019cb
push ebx
call fcn.0040f2e4
add esp, 4
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 3
mov eax, 2
mov ebx, 0x460ff0
call fcn.0040f2f6
add esp, 0x28
mov dword [ebp - 0x14], eax
push 0x49a7c0
push dword [ebp - 0x14]
push 0x49a7a1
mov ecx, 3
call fcn.0040141f
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401a37
push ebx
call fcn.0040f2e4
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004057c4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x401a50
push ebx
call fcn.0040f2e4
add esp, 4
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0
push 0
push 0
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
push 0x49a7a8
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x401a81
mov eax, 0x49a674
push eax
push 4
mov ebx, 0x40f9f0
call fcn.0040f2f0
add esp, 0x34
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x401c19
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x4107c0
call fcn.0040f2f0
add esp, 0x10
mov dword [ebp - 0x14], eax
push dword [ebp - 0xc]
push 0x49a7cf
push dword [ebp - 0x14]
push 0x49a78d
mov ecx, 4
call fcn.0040141f
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401af0
push ebx
call fcn.0040f2e4
add esp, 4
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x401b03
mov eax, 0x49a674
push eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 4
mov eax, 2
mov ebx, 0x4611e0
call fcn.0040f2f6
add esp, 0x34
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x401b50
push ebx
call fcn.0040f2e4
add esp, 4
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 3
mov eax, 2
mov ebx, 0x461200
call fcn.0040f2f6
add esp, 0x28
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push dword [ebp + 8]
push 0x30004
push 0x16011a49
push 0x52010001
push 3
mov eax, 2
mov ebx, 0x460ff0
call fcn.0040f2f6
add esp, 0x28
mov dword [ebp - 0x14], eax
push dword [ebp - 0xc]
push 0x49a7d3
push dword [ebp - 0x14]
push 0x49a7a1
mov ecx, 4
call fcn.0040141f
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401bfb
push ebx
call fcn.0040f2e4
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004057c4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x401c14
push ebx
call fcn.0040f2e4
add esp, 4
jmp 0x401c95
cmp dword [0x4da960], 1
jne 0x401c2b
jmp 0x401c95
push 0xffffffffffffffff
push 8
push 0x16015f71
push 0x52010001
call fcn.0040f302
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x401c57
mov eax, 0x49a674
push eax
push 1
mov ebx, 0x40fbb0
call fcn.0040f2f0
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401c7d
push ebx
call fcn.0040f2e4
add esp, 4
push 1
push 1
push 1
push dword [ebp - 0x18]
call fcn.00405bbb
pop ebx
pop ecx
jmp 0x40159b
add esp, 8
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401ca8
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x401cb8
push ebx
call fcn.0040f2e4
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401cc8
push ebx
call fcn.0040f2e4
add esp, 4
mov esp, ebp
pop ebp
ret 4