Function at 0x10003e20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10024844
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x100360e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x148], ecx
movups xmm0, xmmword [str.dxx6ohb_omodiohb_ooohb]
xor edx, edx
mov edi, dword [ebp + 8]
movaps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
pxor xmm1, xmm0
mov dword [ebp - 0x138], edi
movups xmmword [ebp - 0x74], xmm1
lea ecx, [edx + 0xb]
nop word [eax + eax]
mov al, byte [edx + 0x10036010]
lea edx, [edx + 1]
xor al, 0xc
mov byte [ebp + edx - 0x65], al
sub ecx, 1
jne 0x10003e80
mov eax, dword [edi]
mov byte [ebp - 0x59], cl
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov edi, eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10026148]
mov ecx, dword [ebp - 0x138]
call esi
mov dword [ebp - 0x12c], eax
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10026148]
mov ecx, dword [ebp - 0x12c]
call esi
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov dword [ebp - 4], 0
xor eax, eax
mov word [ebp - 0x134], ax
lea ecx, [ebp - 0x134]
mov eax, dword [edi]
push ecx
push 0x28
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x12c]
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x144], eax
xor eax, eax
mov word [ebp - 0x130], ax
push ecx
mov eax, dword [edi]
push str.Content_Type
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
test eax, eax
mov dword [ebp - 0xac], 0
mov edx, 0x10026b5d
mov dword [ebp - 0xa8], 0
cmovne edx, eax
xorps xmm0, xmm0
mov ecx, edx
movups xmmword [ebp - 0xbc], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003fc0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xbc]
call fcn.10004d50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x130]
mov eax, dword [ebp - 0x13c]
push ecx
push 0x10026c90
movzx eax, word [eax + 8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x140], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
test eax, eax
je 0x10004069
mov ecx, str.FINISHED
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10004040
test dl, dl
je 0x1000403c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10004040
add eax, 2
add ecx, 2
test dl, dl
jne 0x10004020
xor eax, eax
jmp 0x10004045
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10004069
mov eax, dword [edi]
push str.IISRESPONSE
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov esi, 2
jmp 0x10004407
mov esi, dword [ebp - 0x144]
test esi, esi
je 0x10004405
push str.baidusogouyisouspider
push esi
mov byte [ebp - 0x125], 0
call fcn.100046e0
add esp, 8
test eax, eax
je 0x10004405
push str.browser
push esi
call fcn.10007fb0
add esp, 8
test eax, eax
jne 0x10004405
push esi
lea ecx, [ebp - 0x124]
call fcn.10005150
mov byte [ebp - 4], 2
mov ecx, 0xc8
mov eax, dword [ebp - 0x13c]
cmp ax, cx
je 0x100040e2
mov ecx, 0x130
cmp ax, cx
je 0x100040e2
mov ecx, 0x12e
cmp ax, cx
jne 0x1000431c
cmp dword [ebp - 0xa8], 0x10
lea esi, [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
cmovae esi, dword [ebp - 0xbc]
cmp eax, 9
jb 0x1000431c
lea edi, [eax + esi]
lea eax, [edi - 8]
sub eax, esi
push eax
push 0x74
push esi
call fcn.1000b080
add esp, 0xc
test eax, eax
je 0x10004316
cmp dword [eax], 0x74786574
jne 0x10004138
cmp dword [eax + 4], 0x6d74682f
jne 0x10004138
cmp byte [eax + 8], 0x6c
je 0x10004153
inc eax
lea ecx, [edi - 8]
sub ecx, eax
push ecx
push 0x74
push eax
call fcn.1000b080
add esp, 0xc
test eax, eax
jne 0x10004121
jmp 0x10004316
sub eax, esi
cmp eax, 0xffffffff
je 0x10004316
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
movups xmmword [ebp - 0xd4], xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1f8]
push 1
call fcn.10005190
mov byte [ebp - 4], 4
push 0x10026cc8
push dword [ebp - 0x140]
call fcn.1000b810
add esp, 8
lea ecx, [ebp - 0x74]
test eax, eax
mov esi, str._ding2zz1
lea eax, [ebp - 0x1e8]
jne 0x100041d6
mov esi, str._ding1zz1
push ecx
push eax
call fcn.100049e0
push esi
push eax
call fcn.100049e0
add esp, 0x10
lea ecx, [ebp - 0xf0]
call fcn.10005920
mov byte [ebp - 4], 5
xorps xmm0, xmm0
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x1f8]
call fcn.10007ac0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [ebp - 0xf0]
push ecx
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x148]
push eax
call fcn.100044e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x10c]
call fcn.100029d0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x90]
cmp ecx, 0x10
jb 0x100042b7
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100042ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100044d0
push ecx
push edx
call fcn.10009b96
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov byte [ebp - 0x125], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xec]
call fcn.100029d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1f8]
call fcn.10006260
mov byte [ebp - 4], 2
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov edi, dword [ebp - 0x12c]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x124]
call fcn.100029d0
cmp byte [ebp - 0x125], 0
je 0x10004405
movups xmm0, xmmword [str.Accept_Encoding]
lea ecx, [ebp - 0x9c]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x9c], xmm0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004350
mov esi, dword [edi]
lea eax, [ebp - 0x9c]
push 1
sub ecx, edx
push ecx
mov esi, dword [esi + 0x14]
mov ecx, esi
push eax
push str.Vary
call dword [0x10026148]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xe8], ecx
push ecx
mov eax, dword [edi]
mov dword [ebp - 0xf4], 0
mov esi, dword [eax + 0x48]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov edx, eax
mov dword [ebp - 0xec], edx
test edx, edx
je 0x100043fe
cmp dword [ebp - 0x78], 0x10
lea eax, [ebp - 0x8c]
push dword [ebp - 0xe8]
cmovae eax, dword [ebp - 0x8c]
push eax
push edx
call fcn.1000b130
mov eax, dword [edi]
add esp, 0xc
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov edi, eax
lea ecx, [ebp - 0xf4]
push 0
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x10026148]
mov ecx, edi
call esi
mov esi, 2
jmp 0x10004407
xor esi, esi
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xa8]
cmp eax, 0x10
jb 0x10004447
mov edx, dword [ebp - 0xbc]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000443d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100044d5
push ecx
push edx
call fcn.10009b96
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x1000449c
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004492
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100044d5
push ecx
push edx
call fcn.10009b96
add esp, 8
mov dword [ebp - 0x7c], 0
mov eax, esi
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10009ba4
mov esp, ebp
pop ebp
ret 8
call fcn.1000ed4f
call fcn.1000ed4f
int3