Function at 0x10036927
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
pushfd
test byte [0x10036927], 0x71
jne 0x10036928
jle 0x10036908
xor byte [ecx - 0x23], al
pushal
call [ebp + 0x6675c7de]
int 0x89
int 0x89
clc
mov ecx, 0x3b392bef
or ebx, dword [ebp + 0x539219d5]
xchg ebx, eax
jle 0x10036974
pushal
mov al, 0x43
push ss
enter 0xffffffffffffd1d3, 0x65
add dh, bl
pop edi
popal
lahf
popfd
push edi
pushfd
test byte [0x1003695a], 0x29
jne 0x10036a5b
push ss
mov ecx, 0x1ebd9cf0
mov bh, 0xee
push cs
inc ecx
xchg ebx, eax
jnp 0x1003695a
and ecx, dword [edx - 0xce3c0eb]
mov bh, 0x48
stosb byte es:[edi], al
push cs
mov edx, 0x3ac1a5c2
nop
fisttp dword [esi + 0x9882e0]
adc dword [ebx + 0x424603], edi
cwde
add byte [ecx], dl
mov ebx, 0x424603
aaa
inc eax
xor byte [ebp + 0x3c], ah
cmp byte [esi - 0xb], bl
jle 0x100368ed
pop esi
sal esp, 0x7f
jne 0x10036922
pop esi
dec edx
cld
push cs
sub eax, 0xf9341c29
push ebp
sar dword [esi], cl
xchg ecx, eax
mov al, byte [0xe297226e]
fld dword [ebx]
inc ebp
sbb esp, edx
and dword [edi + 0x62], 0xf148e230
mov ebp, 0x24551039
pop ebx
sub dword [ebp + 0x6f188121], esp
and eax, 0x643c760e
push es
and dword [ecx + 0xe256f18], eax
jbe 0x100369dd
push es
jno 0x10036a08
nop
xchg edi, eax
lahf
inc ebx
xchg ecx, eax
mov bl, 0xcd
sbb byte [ecx - 0x46], bl
daa
xchg ah, bh
mov dl, 0x1c
test byte [eax - 0x3feedf1b], bh
xchg ecx, eax
push edx
xchg byte [edi - 0x347f5312], bh
mov ch, 5
push cs
push ds
or byte [edi - 0x7654d6], ah
cmc
cmpsd dword [esi], dword es:[edi]
sub edi, 0x4307ade3
fadd qword [esi]
add eax, 0xbcff23a3
inc edi
add dword [ebx + ebp], edi
cmp al, 0x2b
dec edi
adc ebx, dword [esi]
push 0x75
pop ebx
std
xor eax, 0x173d0d6
inc ecx
jns 0x10036999
cli
xchg esi, eax
cdq
aad 0x31
mov dl, 0xd1
mov dword [0xa43bc1d3], eax
cmc
or edi, dword [ebp + 0x46]
mov ah, byte [edx - 0x2b765028]
push 0x35
pop ss
imul ch
mov esp, dword [edx - 0x73d47161]
mov eax, 0x2e3a927a
dec ebx
int3
popal
push eax
or ecx, edx
mov ch, byte [eax - 0x7d]
dec edx
into
sub ebx, 0xffffffe8
mov ebp, 0x2fbd8188
xchg ebx, eax
cmp dword [eax], edx
inc eax
jecxz 0x100369e1
ficom word [0x5391f0e6]
lds edx, [eax - 0x688badfc]
or eax, 0
je 0x100369de
js 0x10036a78
int 0x74
outsb dx, byte [esi]
popfd
shl bh, 1
std
xor bl, byte [edx - 0x2746bccf]
stc
xchg edx, eax
mov cl, 0xd9
arpl word [ecx], cx
popfd
mov esi, ecx
int1
lea edi, [esi + 0x7c8]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 8]
lea ecx, [esi + 0x798]
pushfd
test byte [0x10036ace], 0xe9
push 3
adc cl, ch
jne 0x10036acf
add eax, 0xc35b7f87
mov byte [ebx + ecx*2 + 0x5c5b7e3d], cl
inc ebp
loopne 0x10036a1e
lea ebp, [ebx - 0x7dc56811]
adc byte [edx - 0x1a], al
add ecx, dword [esi + 0x1f]
add dword [edx - 0x1e], ebp
pushfd
adc al, 0xd3
add al, 0x68
xor dh, dl
pop eax
fsubr qword [ecx + eax*2 + 0x3b]
push 0x391d1858
inc edi
xchg ecx, eax
pop edi
xor al, 0x69
dec esp
or dh, byte [ebx + 0x1c7c199c]
jle 0x10036afd
jnp 0x10036af6
adc cl, byte [ebx]
nop
jnp 0x10036a5d
or byte [ecx], bh
int 7
mov ecx, 0x7bcb6d72
xor esp, 0xfffffff9
popfd
mov eax, dword [ecx]
push eax
call fcn.10036453
pushfd
test byte [0x10036b8b], 0xf2
jne 0x10036b8c
adc al, 0x4b
or ch, byte [ebx + 0x1ba47875]
jae 0x10036ad2
adc cl, byte [eax + 0xb]
or al, 0x88
jbe 0x10036b4e
push edi
lahf
leave
fstp qword [esi + eax*4 - 0x1cb26c15]
bound ebp, qword [eax + 0x644d0f2c]
rol edx, 1
xchg ebx, eax
dec ebp
jecxz 0x10036b63
test al, 0x2c
cmovge esp, dword [ecx + edx*8 - 0x3e]
outsd dx, dword [esi]
and al, 0xab
sub bh, byte [ebp - 0x60f782c5]
mov cl, 0xe1
sbb eax, dword [edx + 0x54]
and al, 0xdf
xor eax, 0x74da0cce
insd dword es:[edi], dx
lahf
int 0xfe
pushal
sub eax, 0xb25337ec
pop edx
inc byte [edx]
mov ecx, 0x509b71b8
add byte [edi - 0x14140cb8], dl
jb 0x10036af0
invalid
jmp 0x10036b20
mov esp, 0x34c7279
xor edi, dword [esi + 0x6b93a007]
imul edi, dword [ebp - 0x60bb7cc8], 0x16794166
dec eax
sbb dword [edi], ebp
push ebx
les edx, [0x4b0f1618]
mov bh, 0xe2
popfd
aad 0xb
daa
out dx, eax
std
and al, 0x3b
rcl byte [ecx], cl
sub eax, 0x11843428
fisub word [esi]
push 0x63
dec ebx
je 0x10036ba9
xor dword [ebx - 0x117390b6], eax
pop esp
add dh, dh
pop esi
pop ds
and byte [edx + 0x240b0e59], bh
dec eax
loopne 0x10036b33
xchg esp, eax
int 0x7f
mov word [ebp - 4], es
xor ah, bh
popfd
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
ret 4
les edx, [edi + 0x4efd7a1d]
movsd dword es:[edi], dword [esi]
bnd jecxz 0x10036b5a
inc ecx
and dword [edi], ecx
cli
sal dword [edi], 0xa0
or esp, dword [esi]
test al, 0x9b
dec esi
imul byte [eax]
cmp ah, bh
out dx, eax
push edx
xchg esi, eax
and al, 0x3d
popfd
mov edi, dword [ebp + 0xc]
mov esi, ecx
int1
cmp edi, dword [ebp + 0x10]
je 0x10036d26
push dword [ebp + 0x10]
mov eax, dword [esi + 4]
push edi
push eax
push dword [ebp + 0x10]
pushfd
test byte [0x10036bfb], 0xd2
jne 0x10036bfc
fidiv dword [esi + 0x2886ebf3]
insb byte es:[edi], dx
int3
popfd
call fcn.100301ba
pushfd
test byte [0x10036cbc], 0x11
je 0x10036cbd
or edi, dword [eax - 0x3e]
in eax, dx
and al, 0x51
mov edx, dword [ebp + 0x2efbb497]
call 0x40393d7c
mov dl, 0x1b
xor byte [edx - 0x60b12b20], al
jnp 0x10036bce
dec eax
sub eax, 0xa5998937
stosb byte es:[edi], al
lodsd eax, dword [esi]
dec eax
sub al, byte [ebx - 0x21a28e8e]
mov byte [edi + 0x4a], dl
jb 0x10036c2c
mov cl, 0x13
xchg dword [0x6877c6b9], ecx
mov edi, dword [edx - 0x5d5965f2]
xchg byte [ecx], ah
rcr byte [ecx], cl
mov edx, 0xe1eb6f84
xor ch, byte [ebx]
pop esi
adc dword [esp + eax*4 - 0x1a], ecx
sal dword [edi - 8], 1
in eax, 0x3b
sbb al, 0x64
test dword [0x1a0d3970], 0xb13934af
sbb esi, dword [ebx]
jg 0x10036c68
jo 0x10036ca3
or eax, 0x3934af1a
mov cl, 0x1b
xor edi, dword [edi - 0xc]
fadd dword [esi + 0x2a8d3ba6]
popfd
int1
adc dh, byte [edx + 0x36d3684e]
cmp ebx, dword [ebp - 0x7e]
push esp
int3
mov word [esi - 0x7acdae63], cs
ror dword [ebx - 0x2cad63bf], cl
imul ebx, dword [edi - 0x76], 0x4a
dec edx
adc ecx, dword [ecx - 0x5d4da481]
mov gs, word [ecx]
stosb byte es:[edi], al
popfd
add esp, 0x10
pushfd
test byte [0x10036d21], 0xae
jne 0x10036d22
jge 0x10036cdf
mov edx, 0x6a38a3b2
and al, byte [edx + 0x4f]
sbb dword [edx], edi
sbb esi, esp
mov dh, 0x56
call 0x680bbe
inc esp
push edi
mov es, word [ebx - 0x327d6581]
pop es
lodsd eax, dword [esi]
xor esi, dword [edi*2 - 0x7846010d]
pop edi
cmpsd dword [esi], dword es:[edi]
push ecx
fidivr word [eax - 0x67]
lea ebx, [esi]
dec eax
xor dword [0x4bd86c41], 0x464ed785
sub ebx, edi
popfd
not byte [edi - 0xa]
aas
imul esp, dword [eax - 0x3f], 0xc003165f
invalid