Function at 0x1d36704
Capabilities:
Encode data using xor

Disassembly:
add dh, byte [ebx + 0xc]
fcom qword [edi + 0x13dc315e]
arpl word [0x2963a00b], di
adc dword [ecx - 0x5a7d2747], ebp
pop es
int 0x8e
jbe 0x1d3671c
xor al, 0xf2
mov byte [0x5cf3ecda], al
add byte [eax], al
jmp 0x1d3670e
pushal
call 0x1d36714
pop ebp
sub ebp, 0x10
sub ebp, 0x1936704
jmp 0x1d3672a
in eax, dx
add al, 0x67
xchg ebx, eax
add ecx, ebp
add al, 0
add byte [eax], al
mov dl, 0xe2
jne 0x1d3674f
mov eax, 0x1936704
add eax, ebp
add eax, 0x4c
mov ecx, 0x5bf
mov edx, 0xc8969f80
xor byte [eax], dl
inc eax
dec ecx
jne 0x1d36741
jmp 0x1d36754
add bh, bh
cmp dword [ecx - 0x4f], ecx
or ecx, dword [ebp + 0xb]
or dword [eax + eax*4 + 0x41018080], edi
js 0x1d366e0
add byte [eax - 0x7bc7b27d], 0x80
add byte [eax - 0x7f7f57c6], 0x80
ja 0x1d367d2
or dword [eax + 0xb], 1
mov word [eax + 0x45838080], es
rcl al, 1
call 0x82a48eb9
call 0x8394a750
sub dword [esp + 0x73b4f0e8], 0x808568dc
add byte [eax - 0x7f7f4997], 0x80
or eax, 0x97ca4e4
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0xb80a4ec
add eax, 0x80808088
or edx, dword [0x8080808c]
or ecx, dword [0x80808090]
inc ecx
imul eax, dword [edx + 0x420382b1], 0x58fc984
je 0x1d36841
jg 0x1d36843
or ebp, dword [esp - 0x7b5b1bf3]
inc edx
mov word [eax - 0x7b5bf3f5], es
add byte [eax + 0x2738e880], 0xd1
sub al, 0xca
aas
rol dword [ecx + 0xda4ac81], 0xe4
movsb byte es:[edi], byte [esi]
jl 0x1d367f0
mov word [eax + ebp*2 - 0x7f7f7f7b], fs
imul ecx, ebx, 0xd808082
in al, 0xa4
jl 0x1d36801
sub byte [ecx - 0x35], 0x82
add byte [eax + 0x7ca4e40d], 9
add byte [eax - 0x5b1bf280], 0x7c
or dword [esp - 0xa8093f5], ebp
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or ebp, dword [edi + edi*2 - 0xb]
invalid
mov byte [eax - 8], ch
add byte [eax - 0x77c2f480], 0x80
add byte [eax - 0x5fd98eff], 0x9d
imul eax, dword [ecx], 0x71
add dword [ecx + 0x26], esi
mov al, byte [0x71016b9d]
mov al, byte es:[0x49b36b9d]
mov bl, 0x52
add ebp, dword [eax - 0x7b]
enter 0x48f, 0xffffffffffffffce
add byte [eax - 0x37f77080], 0x80
add byte [eax - 0x4663f41a], 0
jnp 0x1d3689c
pop dword [edx + ebx*4]
add byte [eax + 0x697b0080], 0x8f
add al, 0x91
add byte [eax + 0x7b01e680], 0x7f
add byte [eax], 0x7b
imul ecx, dword [edi - 0x7f7f6efc], 0x7b01e680
jg 0x1d367ed
add byte [eax + 0x7f7b01e6], 0xa5
out 1, al
jnp 0x1d368c6
movsd dword es:[edi], dword [esi]
pop dword [edx*4 - 0x3e7f7f80]
imul ecx, dword [edi + edi*2 + 0x7f], 0xb9cca97f
add dword [ebx], 0x68038541
test byte [ecx + 0x3d], ch
jg 0x1d368e1
jg 0x1d3680d
aam 0xb9
add byte [ebx], 0x41
xchg byte [ebx], al
push 0xffffffffffffff84
add ebp, dword [eax - 0x7b]
imul ebp, dword [ebx], 0xb7f7f7f
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0x4284a4e4
mov word [eax - 0x2993f42b], es
xlatb
aad 0xb
cmc
mov word [ebx], cs
std
mov byte [edx + esi], bh
or al, byte [esi - 0x7f7eb9ff]
add byte [eax + 0x47018708], 0x81
add byte [eax - 0x7f7dc480], 0x80
add byte [edx - 0x7afa70ae], 0x80
add byte [eax - 0x6d3969f6], 0x52
pop dword [ebx]
pop eax
jg 0x1d36934
add byte [eax - 0x7f7f7dc5], 0x80
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
jg 0x1d36839
push edx
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, edx
add byte [eax - 0x7dbf4c80], 0x52
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, dword [edx - 0x7d7f7f7f]
push edx
pop dword [0x80808085]
add eax, 0x80808085
or dl, byte [esi - 0x6cad6d3a]
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
add dword [eax + 0x52828080], 0x8085058f
add byte [eax - 0x6d3969f6], 0x52
xchg ebx, eax
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid