Function at 0x100036d0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0xc]
push esi
push edi
mov edi, eax
mov esi, ecx
xor eax, eax
mov edi, edi
mov edx, eax
shr edx, 3
mov dl, byte [edx + esi]
mov cl, al
and cl, 7
shr dl, cl
add eax, 1
and dl, 1
cmp eax, 0x40
mov byte [eax + 0x1007b70f], dl
jb 0x100036e0
xor eax, eax
movzx ecx, byte [eax + 0x100758a8]
movzx edx, byte [ecx + 0x1007b70f]
mov byte [eax + ebp + 8], dl
movzx ecx, byte [eax + 0x100758a9]
movzx edx, byte [ecx + 0x1007b70f]
mov byte [eax + ebp + 9], dl
movzx ecx, byte [eax + 0x100758aa]
movzx edx, byte [ecx + 0x1007b70f]
mov byte [eax + ebp + 0xa], dl
movzx ecx, byte [eax + 0x100758ab]
movzx edx, byte [ecx + 0x1007b70f]
mov byte [eax + ebp + 0xb], dl
add eax, 4
cmp eax, 0x40
jb 0x10003702
push ebx
lea eax, [ebp + 8]
push 0x40
push eax
push 0x1007b710
mov dword [esp + 0x1c], eax
call fcn.10018500
add esp, 0xc
cmp dword [esp + 0x20], 0
je 0x100037fc
mov ebx, edi
mov dword [esp + 0x18], 0x10
nop
mov ecx, 8
mov esi, 0x1007b730
mov edi, 0x1007b7c4
rep movsd dword es:[edi], dword [esi]
mov edi, 0x1007b730
mov esi, ebp
call 0x10003910
xor eax, eax
nop
movzx ecx, byte [eax + 0x1007b710]
movzx edx, byte [eax + 0x1007b711]
xor byte [eax + 0x1007b730], cl
xor byte [eax + 0x1007b731], dl
movzx ecx, byte [eax + 0x1007b712]
movzx edx, byte [eax + 0x1007b713]
xor byte [eax + 0x1007b732], cl
xor byte [eax + 0x1007b733], dl
add eax, 4
cmp eax, 0x20
jb 0x100037a0
adc byte [ebx - 0x77cfb40], al
and byte [edx - 0x3c], dh
mov ecx, 8
mov esi, 0x1007b7c4
mov edi, 0x1007b710
add ebx, 0x30
sub dword [esp + 0x18], 1
rep movsd dword es:[edi], dword [esi]
jne 0x10003780
jmp 0x1000388f
mov dword [esp + 0x18], 0x705fef0b
rol dword [edi + 0x70], 0x2e
mov esi, 0x9c0c746e
jne 0x1000387f
inc ebp
mov esi, 0x9c0c746e
jne 0x10003887
inc ebp
daa
js 0x100037d3
jo 0x10003860
xchg esp, eax
lodsd eax, dword [esi]
outsb dx, byte [esi]
inc ebx
jbe 0x1000384b
invalid
call 0x690c9fc7
invalid
push es
dec eax
fst dword [ebx - 0x33]
salc
invalid
or al, 0x36
sub al, 0x68
sub al, 0x68
popal
pop edx
mov al, 0xcd
fnstenv [edx - 0x46]
jnp 0x100038b5
ja 0x100038b8
add ebx, dword [edi]
or dword [edx + ebp*8 - 0x4b8fd409], esp
push es
nop
jp 0x1000383e
sub al, 0x17
mov byte [0x9ca50d16], al
ljmp 0x41ff
movsd dword es:[edi], dword [esi]
xchg dword [edi - 0x42], edi
inc dword [ecx - 0x5d]
xchg edx, eax
fadd st(6), st(0)
rcr edi, cl
in eax, 0x91
xchg ecx, eax
movsd dword es:[edi], dword [esi]
sti
fcomp dword [edx + 0x63]
inc edx
jecxz 0x1000381f
iretd
xchg al, dl
test al, 0x2e
salc
push ebx
popal
add eax, 0xa298099f
jmp 0xeaf4e5f5
mov al, 0xf4
lcall 0x5272, 0x71520500
add byte [0x52727152], al
jno 0x1000392f
push edx
inc ch
xor ebx, dword [edi]
jns 0x100038bb
stc
push ss
cli
jl 0x1000385b
in al, 0x91
sub al, 3
cmp bl, byte [0x29b2ca62]
jle 0x1000385c
xchg edi, eax
cmpsd dword [esi], dword es:[edi]
dec esp
xor eax, 0xc25607dd
sub al, 0x86
aad 0x52
imul eax, dword [eax], 0x67266c9c
add byte [0x52727152], al
jno 0x1000395f
push edx
inc ch
xor ebx, dword [edi]
jns 0x100038eb
stc
push ss
cli
jl 0x1000388b
in al, 0x91
sub al, 3
cmp bl, byte [0x29b2ca62]
jle 0x1000388c
xchg edi, eax
cmpsd dword [esi], dword es:[edi]
mov esi, 0x9c0c746e
jne 0x1000397f
inc ebp
mov al, 0x20
inc ebx
xchg ebx, eax
jnp 0x100038a0
sbb bl, byte [ecx + 0x70e3ba57]
sbb eax, 0xb2498c6c
stosb byte es:[edi], al
adc eax, 0x13c375f6
outsd dx, dword [esi]
cli
or ecx, ebp
mov al, byte [0x461227a0]
adc ecx, dword [ecx]
fisubr dword [eax]
cmc
adc al, byte [esi + 0x13]
or edx, ebx
sub ch, dh
pop eax
push esp
mov esi, 0x9fbdbe5b
aas
lds ecx, [edx]
or eax, dword [eax]
fnstenv [0xf11f2d56]
not byte [ecx + 0x3dccad31]
inc ebp
call 0xba8d8729
sub eax, dword [ebx + edx]
iretd
xchg edi, eax
mov esp, 0xdbd52f53
mov es, word [edi + 0x29b2ca62]
jle 0x100038f4
xchg edi, eax
cmpsd dword [esi], dword es:[edi]
in eax, 0x2d
das
adc ebp, dword [esi + 0x12]
test dword [ecx], edx
movsd dword es:[edi], dword [esi]
and al, 0xd7
mov es, word [edx - 0x5a2242de]
imul esi, esp, 0xffffffac
mov ebp, 0xf46ba5dd
lodsb al, byte [esi]
invalid