Function at 0x401786
Capabilities:
Encode data using xor

Disassembly:
or byte [edx + 1], ch
call dword [0x4047c7]
nop
test dword [ebx - 0x47137e14], ecx
add byte [eax], al
add byte [ebx + 0x410278], cl
test dword [esi], ebp
mov eax, dword [0x4141b2]
jp 0x4017bb
rol byte [eax + 0x3c], 1
inc ecx
add byte [eax - 0x18], dl
sahf
inc eax
add byte [eax], al
mov ebp, 0x2740d8b
rol byte [eax], 1
jmp 0x4017cf
fcom dword [0x411c00]
push edx
push eax
call 0x981350
add ax, 0xf40d
pop ss
inc ecx
add byte [ebx + 0x7c5808], ah
mov dword [0x7c5808], eax
mov eax, dword [0x410288]
push ebx
mov dl, 0x98
xor eax, sym.imp.MSVCRT.dll_printf
mov word [0xe10bb4], cx
pop esi
sal byte [ebx + 0x75], 0x5d
add byte [0x415c00], dl
push edx
push str.Benchmarking__s
call esi
mov eax, dword [0x98c03d78]
add esp, 0x7c
test eax, eax
je 0x40181c
mov eax, dword [0x70410288]
push eax
push 0xa53c40
push str._through__s:_d_
call esi
inc eax
add bh, bh
salc
adc dword [ebp - 0x2febea6f], 0x40
add byte [ebp - 0x2b7f4740], al
inc eax
xor byte [ebp + 5], 0xb8
outsd dx, dword [esi]
aam 0x40
add byte [eax + 0x58], dl
adc eax, 0x40d014
test eax, eax
mov eax, 0x8240d480
jne 0x40182f
mov eax, 0x40d46f
push eax
pop eax
insb byte es:[edi], dx
aam 0x11
add bh, bh
salc
mov ecx, dword [0xc140c0c8]
stosb byte es:[edi], al
shl dword [eax], 0x51
call dword [0x1ac136]
and dword [esi], 0xc
mov edx, dword [0x40d018]
mov esi, dword [sym.imp.MSVCRT.dll_calloc]
push 0x24000860
push edx
call esi
fidiv word [eax - 0x5effbef5]
push ds
rol byte [eax], 1
push 0x20
push eax
call esi
mov ecx, dword [0x7c41b54c]
pushfd
adc eax, 0xe6d018
add esp, 0x10
mov dword [0xdc67c8], eax
push 0
std
mov ch, 0x68
clc
pop ss
inc ecx
xor eax, 0x536c81e8
jbe 0x401815
sal byte [esi + ecx + 0x50], 0xda
push eax
aam 0x40
add ah, dl
mov byte [0x8300005f], al
les ecx, [eax]
mov eax, dword [0x44fb027c]
test dword [ecx + 0x75], edx
xor eax, 0x4169aca1
add byte [ebx + 0xd], dh
pushfd
or eax, dword [ecx - 0x4e]
xor eax, 0x41404876
add byte [edx - 0x5e], ch
push 0x40d1c6
push edx
pop eax
dec esp
inc eax
inc ecx
add al, bh
add byte [eax + 0x65], cl
inc eax
add byte [edx + 0x50], dl
call 0xa25890
add esp, 0x1c
mov dword [0x4140b9], eax
jecxz 0x4018a1
mov eax, dword [0x414048]
mov ecx, dword [0xa6410280]
sbb eax, 0x8b2616c9
or eax, 0x41f64c
das
add byte [eax + 0x2e], ch
rol dword [eax], 1
push 0x40d444
push 0x40d4da
push eax
push ecx
int1
test byte [eax], cl
add byte [eax], al
mov ch, 0xc4
sbb byte [ebx + 0x7b414048], ah
mov ecx, dword [0xd90284]
test ecx, ecx
jne 0x40193a
mov edx, dword [0x89412925]
cmp al, byte [eax]
push str.Accept:___r_n
sahf
push edx
call 0x40be90
add esp, 0x10
mov dword [0xaa414048], eax
mov ecx, dword [0x410260]
test ecx, ecx
jg 0x4019a7
shl byte [edx], 1
push 0xbe004102
cld
rol dword [eax], cl
and ch, byte [eax + 2]
inc ecx
add byte [esi + str.Connection:_Keep_Alive_r_n], bh
test edx, edx
jne 0x401945
sar byte [edx], 1
add al, byte [ecx + 0x7f]
mov esi, dword [esi + 0x78]
mov byte [ecx], al
test edx, edx
mov edx, dword [0x414040]
jne 0x40196e
mov esp, dword [edx - 0x1c]
pop ss
inc ecx
add byte [ebp + 0x6370b994], al
inc eax
mov bh, 0xb4
add eax, 0x8ad3f0b9
add byte [eax - 0x5f], dl
add al, 0x18
inc ecx
add byte [eax - 0x5f], dl
inc esp
inc eax
inc ecx
add byte [eax + 0x56], dl
test dword [ecx + edi*4 - 0x48bf9c90], edx
mov ah, 5
mov ecx, 0x8ad3f0
push eax
mov eax, dword [0x411804]
push eax
mov eax, dword [0x414044]
push eax
push esi
push edx
push ecx
mov ecx, dword [0x8bd030]
push str._s__s_HTTP_1.0_r_n_s_s_s_s_r_n
push 0x800
push ecx
call fcn.00408680
out 0x17, al
and al, 0x49
jge 0x401932
mov al, al
and dword [edi + 0x40ec0041], edx
shl byte [ecx], 0x97
inc ecx
add ah, ch
inc eax
cmp byte [ecx - 0x3c], al
test dl, dl
out 5, eax
mov edi, str.text_plain
mov edx, dword [0x5f02ba]
mov esi, str.Connection:_Keep_Alive_r_n
test edx, edx
jne 0x4019cf
mov esi, 0x434102d4
xor dl, byte [0x98410243]
test edx, edx
mov edx, dword [0x414040]
jne 0x4019e5
mov edx, dword [0xcb411755]
cmp ecx, 0xffffffc0
mov ecx, str.POST
je 0x4019f4
mov ecx, 0xf117bc
push eax
mov eax, dword [0x411b70]
push edi
push eax
mov eax, dword [0x411804]
push eax
mov eax, dword [0xbc4044]
push esi
push edx
xchg dword [ebx + 0x4025910d], ecx
add byte [eax + 0x11], ch
stosd dword es:[edi], eax
or eax, 0x84eb300
add byte [eax], al
push ecx
out dx, al
add byte [eax + eax], ch
add esp, 0x2c
mov dword [eax], 0x7b700008
jns 0x401a94
rol dword fs:[eax], cl
adc bl, byte [ebx]
inc esi
dec dword [esi + 0x2a]
jns 0x401a3c
jg 0x401a92
add al, byte [ecx - 0x2b]
mov ebx, 0x940002
cmp eax, ebx
lea ebp, [ecx]
mov eax, dword [0x870260]
cmp eax, ebx
mov eax, 0x40d3bc
je 0x401a94
aad 0xbb
add al, byte [eax]
xchg esp, eax
add byte [ebx], bh
ret
pop esi
rol ah, 0xe5
add ch, bl
adc eax, 0x40d030
push edx
push eax
push 0x40c844
call dword [0x4e40c164]
xor dword [edi + 0xc], 0xffffff8b
add ah, ah
sal cl, 1
add byte [ebx - 0x3fcc00ce], al
repne scasb al, byte es:[edi]
mov eax, dword [0x430260]
not ecx
dec ecx
cmp eax, 1
mov dword [0x4117ec], ecx
jl 0x401aff
mov eax, dword [0x410270]
inc ecx
add byte [ebp + 0x5128014c], cl
lea ecx, [ecx + eax + 0x28]
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [eax + 0x75c08504], esp
pop ds
mov edx, dword [0xcac0c8]
aad 0x14
mov eax, dword [eax]
add edx, 0x40
push edx
invalid
ja 0x401b4d
inc eax
inc ecx
add byte [esi - 0x75], ah
push dword [eax - 0x74ffbef5]
adc eax, 0x37411852
push eax
push 0
push ecx
push 0
push edx
push 0xd84117fc
aad 0xe
push esp
add byte [eax], al
or al, dh
test word [edx + 0x74], bp
sub al, 0xa1
or byte [eax], bl
inc ecx
add byte [ebx], bl
lea ecx, [eax - 1]
invalid
call 0x44401e40
add esp, 0xffffffc9
call 0x494069ad
mov esi, eax
mov eax, dword [0x410264]
mov ecx, dword [eax]
invalid