Function at 0x401f5d
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esi + 0x77]
sar dword [ecx + 0x4b49e808], 1
add byte [eax], al
mov dword [0x510b30], eax
mov dword [0x4116a4], edx
mov ebx, eax
mov eax, dword [esi + 0x5f]
test eax, eax
stosb byte es:[edi], al
cli
jne 0x401f0d
mov ecx, dword [esi + 4]
push 0
push 0xffffffffffffffb4
push ecx
call fcn.004081eb
xor ebx, dword [esi + 0x838]
xor ebp, esp
cmp al, 8
add byte [eax], al
mov dword [esi + 0x18], 0x2e
and byte [edx - 0x14], cl
pop ss
inc ecx
add byte [ecx + 0x204d1496], cl
add al, byte [ecx]
test eax, eax
je 0x401f3a
dec ebp
jo 0x401f04
inc ecx
jp 0x401e90
mov ecx, edx
add ecx, eax
mov dword [esi + 0x14], ecx
jmp 0x401f3a
retf 0xc803
mov ecx, dword [esi + 0x1438]
mov eax, dword [0x6240d028]
mov edx, dword [0xeed02c]
add esi, dword [eax]
mov eax, dword [esi + 0xb083c]
adc esp, dword [edi]
cmp edi, eax
jg 0x402015
jl 0x401f3a
cmp ebx, ecx
ja 0x40a680
mov esi, eax
sbb byte [ebx + 0x40d0301d], cl
add byte [ebx + 0x4da00446], cl
or byte [ebx], al
pop edx
push ecx
push edx
push eax
or byte [ebp + 0x59], ch
add byte [ebp - 0x7b], al
rol bh, 0x46
jmp 0x401f51
adc ebp, edi
adc esi, esp
je 0x401f8a
cmp eax, 0xafcd9
je 0x401fe2
cmp eax, 0x53fd57
js 0x401f8a
cmp eax, 0x7e0afd24
je 0x401f8a
cmp eax, 0xafca1
mov cl, byte [ebx]
cmp eax, 0xf30b23b3
jne 0x403a30
mov esp, dword [eax + ecx - 0x75]
sbb eax, 0x4102a0
mov edi, dword [0x4102a4]
xchg eax, ebx
adc edi, 0
mov dword [0x4102a0], ebx
mov dword [0xe7c302a4], edi
mov edx, dword [esi + 0x18]
mov edx, dword [ebp + 0x14]
add edx, eax
sub ecx, dword [ebx - 0x77]
mov ebp, 0x144e8918
jne 0x401eac
test byte [esi + 8], 3
add byte [eax], al
add ah, ch
add eax, dword [eax]
add byte [eax], al
in al, dx
xor al, 0x4a
leave
add byte [ebx + 0x410ba0], ah
mov dword [0x41bc52], edx
mov edx, dword [esi + 4]
mov dword [esi + 0x840], eax
loopne 0x401fc3
movsb byte es:[edi], byte [esi]
or eax, dword [ecx]
je 0x401fe9
add byte [eax], al
add byte [edx - 0x76990fbb], bl
stc
hlt
add byte [eax], al
lcall 0xf4f9, 0x8966f045
mov dword [esi + 0x806], ecx
mov ecx, dword [0x4117f8]
dec ebp
jb 0x401fed
invalid
pop ss
push ebp
clc
push eax
push ecx
mov dword [ebp - 4], esi
call fcn.004060c0
jne 0x40206e
pop ebx
mov byte [0x68c35de5], al
aam 0x47
dec edi
add bh, bh
adc eax, sym.imp.MSVCRT.dll_printf
push 0x4f47d4
call dword [sym.imp.MSVCRT.dll_printf]
mov bh, pe_nt_image_headers32
push 0x1a
add byte [eax - 0xb], bl
les ecx, [eax]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
je 0x402082
call fcn.00406a00
mov dword [0x57050ba0], eax
mov dword [0x410ba4], edx
jmp 0x4020fa
mov edx, dword [0x410ba4]
mov eax, dword [0x410ba0]
push ebx
mov ebx, dword [0x4159c0]
push esi
push edi
mov edi, dword [0x410bc4]
sub eax, ebx
sbb edx, edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov esi, dword [0x40335b]
fild qword [ebp - 0x28]
push 0x40dfb4
fmul qword [0x40c238]
cmc
pop ebp
sar bh, 1
salc
push 0x4113e0
push 0x8e40df98
call esi
mov eax, dword [0x271800]
push eax
push str.Server_Hostname:_________s_n
call esi
push ds
mov dl, 0x66
mov ecx, dword [0x4117f4]
push ecx
push 0x97df5c
call esi
push 0x8640d4cd
call esi
mov eax, dword [esp + 0x17]
inc ecx
add byte [edx + 0x68], dl
inc eax
fild word [eax]
jmp [eax + 0x41028c0e]
inc eax
add bh, bh
test al, 0xe
mov word [edx], es
inc ecx
add byte [eax + 0x68], dl
sbb al, 0xdf
inc eax
add bh, bh
salc
push 0x40d480
call esi
mov ecx, dword [0xf2400718]
rcl dword [eax], cl
fild word [eax - 0x2c]
pop ss
inc eax
aam 0x17
mov al, 0x6e
push ebp
in eax, 0x8b
inc ebp
ficom dword [edx + 0x50]
push str.Time_taken_for_tests:____.3f_seconds_n
call esi
mov ecx, dword [0x4102ac]
jno 0x4020fb
dec eax
push ecx
push str.Complete_requests:_______d_n
call esi
mov ecx, dword [esi - 0x48]
arpl word [eax], dx
add byte [eax + ebp*2 - 0x60], dh
fiadd word [eax]
pop ebp
aaa
std
mov eax, 0x83844142
les edx, [eax]
test eax, eax
sub esp, esi
mov eax, dword [0x4102b4]
mov ecx, dword [0x4102c0]
mov edx, dword [0x4102c8]
push eax
mov eax, dword [0x604102c4]
push ecx
ja 0x4021c4
adc dword [esi + ebx*8 + 0x40], esp
add bh, bh
mov eax, dword [0x8b14c483]
or eax, 0x41027d
push ecx
push str.Write_errors:____________d_n
inc dword [0x4102d02a]
add byte [ebx - 0x237af738], al
je 0x4021a3
jns 0x40211c
sub al, 0xde
inc eax
add bl, al
salc
add esp, 8
mov eax, dword [0x36d80268]
test eax, eax
aaa
adc dword [eax], esi
retf
nop
add al, byte [ecx]
push eax
push ecx
push 0x12dde8
call esi
mov eax, dword [0xb7410260]
in al, 0x67
dec eax
adc dword [esi], 1
jne 0x4021f5
mov ecx, dword [eax]
add al, byte [ecx]
mov eax, dword [0x4102ad]
push edx
push eax
fcmovne st(0), st(0)
invalid
cmp dword [0x1a0260], 0x47
jne 0x402216
mov ecx, dword [0xcb02a4]
mov edx, dword [0x4102a0]
push ecx
push edx
movsb byte es:[edi], byte [esi]
add cl, bl
add byte [ebx + 0x4102a015], cl
add byte [ecx + 0x52], dl
push 0x6140dda8
call esi
add esp, 0xc
mov eax, dword [0x41029c]
mov ecx, dword [0x410298]
push eax
push ecx
push 0x8e409a80
loop 0x402200
fld qword [ebp - 0x12]
fcomp qword [0x40c247]
add esp, 0xc
fnstsw ax
test ah, 0x44
jnp 0xac40232f
mov eax, dword [0x240eac]
sub al, al
je 0x4030dc
fld qword [0x40c28f]
fsub qword [edx]
rol byte [ebx + 0x5ddd08ec], 1
sbb bl, 0xce
lodsb al, byte [esi]
add al, byte [ecx]
fmul qword [ebp - 0x80]
fstp qword [esp]
jne 0x4022bb
retf 0x40
push cs
sbb byte [edx], cl
inc eax
add ch, bl
xor eax, 0xdcae680a
inc eax
add bh, bh
salc
sub al, 0x60
add al, byte [ecx]
sub dword [ebx], 0xc
test eax, eax
jle 0x40232f
fild qword [ecx]
mov al, byte [0xa2004102]
in al, dx
or ah, bl
dec ebp
sbb ah, 0xd
sbb byte [edi + 0x40], al
pop ecx
fstp qword [esp]
push str._________________________.2f_kb_s_sent_n
call esi
movsb byte es:[edi], byte [esi]
adc eax, 0x4102a0
mov ebx, dword [0x41ad90]
mov eax, dword [0x4102a4]
mov ebp, dword [ebp + 0x41023b]
add edx, ebx
adc eax, edi
sbb edx, dword [ebp - 0x28]
mov dword [ebp + 0x68], eax
sub dword [ebp - 0x2763204d], 0xffffffdc
dec ebp
sbb ah, 0xd
sbb dl, al
inc eax
fstp qword fs:[eax + ebx]
xchg edx, eax
push eax
fadd qword [eax]
push dword [ebx + eax*4]
invalid
mov eax, dword [0x4102ac]
test eax, eax
jle 0x4030c5
xor ecx, ecx
or edi, 0xffffffff
mov edx, 0x84ffffff
cmp eax, ecx
mov dword [ebp - 0x4f], ecx
push es
dec ebp
or byte [ecx - 0x247637b3], cl
int3
nop
nop
nop
nop
idiv dword [edi - 0x14]
mov eax, dword [ebp + 8]
into
dec ebp
or al, 0x56
mov edx, dword [eax - 0x41]
mov esi, dword [ecx + 0x10]
les eax, [eax + 0x14]
mov ecx, dword [ecx + 0x22]
cmp ebp, ebp
mov eax, dword [ebp - 0x49]
mov edx, dword [edi]
inc ebp
mov bh, 0x8b
pop ss
mov dword [ebp - 0x14], ecx
lea ecx, [ecx - 0x7f9c7604]
mov dword [edi], esi
jb 0x40a70c
pop es
pop ss
mov ss, word [ebp - 0x10]
push esi
push edx
push eax
call 0x40abe8
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
sub eax, ecx
add edi, 4
add esi, eax
mov eax, dword [ebp + 0xc]
dec eax
mov dword [ebp + 0xc], eax
jne 0x40a67f
call 0x4dcc9b36
call 0x7238ec49
add al, 0x84
add byte [eax], al
add byte [eax], al
mov ah, 6
add byte [ecx + 0x50567e23], dh
das
add bh, byte [esi - 0x5c10e53f]
dec ebp
clc
sub dword [0x5ec16c08], 0x74
xor dword [ecx + eax*8], ebx
mov ecx, eax
xor ebx, dword [eax*4 - 0x740e81c3]
adc al, 0x87
add edx, ecx
mov dword [ebx + edi*2], edx
inc eax
movsb byte es:[edi], byte [esi]
ret
pop ebp
pushfd
mov eax, dword [ebp + 8]
mov edx, eax
xor eax, ebx
pop edi
pop ss
mov esp, ebp
pop ebp
ret