Function at 0x40e1b1
Capabilities:
Encode data using xor

Disassembly:
push 0
jmp 0x40e1b8
jg 0x40e1c7
push esi
pop esi
push eax
cbw
pop eax
jle 0x40e1c7
xchg edi, ebx
xchg edi, ebx
sar dword [ebp + 9], cl
jge 0x40e1d2
jno 0x40e1cb
je 0x40e1cd
jl 0x40e1d2
cmc
cmc
add edi, edi
xchg ebp, eax
xor byte [esi], dh
add byte [eax], al
call dword [ebp + 0x3630]
lea ebx, [ebp + 0xa]
push ebx
push eax
call dword [ebp + 0x3628]
call dword [ebp + 0x35f0]
jno 0x40e1f8
push eax
push edx
cwd
pop edx
pop eax
cmc
cmc
jo 0x40e1f8
push ebx
pop ebx
xor dword [edx], ebp
push 0
jb 0x40e207
jnp 0x40e1fe
push eax
cbw
pop eax
jae 0x40e207
mov esi, esi
xor dword [eax + 0x76], edx
or edi, dword [ecx]
push eax
jbe 0x40e215
jns 0x40e20c
cmc
cmc
ja 0x40e215
xchg esi, ebx
xchg esi, ebx
fsubr dword [edx]
push 0
js 0x40e22f
xchg ebx, ecx
xchg ebx, ecx
xchg dword [esp], ecx
xchg dword [esp], ecx
jns 0x40e22f
call 0x40e22a
xchg dword [esp], eax
pop eax
adc ebp, dword [edx]
push 0
jno 0x40e240
xchg ecx, edx
xchg ecx, edx
ja 0x40e239
jo 0x40e240
not edi
not edi
add byte [ebp + 0xb], dh
jne 0x40e24d
xchg esi, eax
xchg esi, eax
pushfd
popfd
je 0x40e24d
not ebx
not ebx
or ch, byte [eax]
add byte [eax], al
add byte [eax + 0xf], bh
push 0
js 0x40e263
not ebp
not ebp
push eax
push edx
cwd
pop edx
pop eax
jns 0x40e263
push esi
pop esi
mov al, byte [0x68]
add byte [eax + 0x10], bh
push 0
js 0x40e27a
je 0x40e26c
push eax
push edx
cdq
pop edx
pop eax
jns 0x40e27a
xchg dword [esp], edi
xchg dword [esp], edi
adc eax, 0x2b16458b
inc ebp
push cs
mov eax, dword [ebp + 0x16]
sub eax, dword [ebp + 0xe]
sub eax, dword [esp + 4]
shr eax, 1
push eax
ja 0x40e297
je 0x40e28b
push ebx
mov ebx, ecx
pop ebx
jbe 0x40e297
push eax
push edx
cdq
pop edx
pop eax
fmul qword [ebx + 0x452b1245]
or ch, byte [ebx]
inc esp
and al, 4
mov eax, dword [ebp + 0x12]
sub eax, dword [ebp + 0xa]
sub eax, dword [esp + 4]
shr eax, 1
push eax
jo 0x40e2b4
js 0x40e2a8
push eax
push edx
cdq
pop edx
pop eax
jno 0x40e2b4
xchg ecx, ebp
xchg ecx, ebp
mov byte [eax + 0xe], ch
add al, byte [eax]
nop
push 0x9000020e
jbe 0x40e2cd
jbe 0x40e2bd
push eax
cbw
pop eax
ja 0x40e2cd
call 0x40e2c8
xchg dword [esp], edi
pop edi
sbb ecx, dword [ebp + 0xe742145]
lea eax, [ebp + 0x21]
je 0x40e2e0
push eax
push edx
cdq
pop edx
pop eax
not eax
not eax
jne 0x40e2e0
cmc
cmc
fist dword [eax + 0x7c]
adc dl, byte [eax - 0x68]
push eax
jl 0x40e2f5
push eax
cwde
pop eax
push eax
push edx
cwd
pop edx
pop eax
jge 0x40e2f5
xchg dword [esp], ebx
xchg dword [esp], ebx
xor eax, 0x7f1a458d
adc al, 0x87
sub al, 0x24
lea eax, [ebp + 0x1a]
jg 0x40e30e
xchg dword [esp], ebp
xchg dword [esp], ebp
call 0x40e305
xchg dword [esp], esi
pop esi
jle 0x40e30e
jge 0x40e30d
sub byte [eax + 0x75], dl
adc bl, ch
add al, ch
add byte [eax], al
add byte [eax], al
push eax
jne 0x40e321
jmp 0x40e313
call 0x40e318
xchg dword [esp], eax
pop eax
je 0x40e321
jo 0x40e320
or byte [edx], ch
push 0
jge 0x40e331
pushfd
popfd
pushfd
popfd
jl 0x40e331
push eax
push edx
cdq
pop edx
pop eax
cmp edi, edi
xchg ebp, eax
sbb byte [esi], dh
add byte [eax], al
call dword [ebp + 0x3618]
jnp 0x40e34b
not ebp
not ebp
pushfd
popfd
jp 0x40e34b
call 0x40e346
xchg dword [esp], esi
pop esi
adc dword [eax + 0x74], 0x9952500d
push eax
je 0x40e35b
push eax
push edx
cdq
pop edx
pop eax
push eax
cwde
pop eax
jne 0x40e35b
jg 0x40e35a
rcl byte [eax + 0x7b]
push cs
push eax
jnp 0x40e36c
cmc
cmc
xchg edx, esi
xchg edx, esi
jp 0x40e36c
push eax
push edx
cdq
pop edx
pop eax
and ch, byte [edx + 1]
push 1
jns 0x40e37c
jno 0x40e372
push eax
cwde
pop eax
js 0x40e37c
xchg edi, ecx
xchg edi, ecx
invalid
push eax
jp 0x40e38f
je 0x40e381
push eax
push edx
cdq
pop edx
pop eax
jnp 0x40e38f
push eax
push edx
cwd
pop edx
pop eax
mov edi, edi
xchg ebp, eax
and byte [esi], dh
add byte [eax], al
call dword [ebp + 0x3620]
jle 0x40e3a2
cmc
cmc
push edx
mov edx, ebx
pop edx
jg 0x40e3a2
mov edi, edi
cmp bh, bh
xchg ebp, eax
and al, 0x36
add byte [eax], al
call dword [ebp + 0x3624]
lea edi, [ebp + 0xa]
xor eax, eax
mov ecx, 4
rep stosd dword es:[edi], eax
call fcn.0040e11d
pop esp
insd dword es:[edi], dx
mov ecx, ss
wait
sub eax, 0x213c32
call fcn.0040e16c
pop ebx
je 0x40e3da
push eax
push edx
cwd
pop edx
pop eax
push eax
cbw
pop eax
jne 0x40e3da
push ebp
pop ebp
mov word [ecx + 0x35e49d], cs
add byte [ebx + 0x360895], cl
add byte [edi + edi*8 + 0x35], ah
add byte [eax], al
add byte [eax], al
mov dword [ebp + 0x35e4], ebx
mov edx, dword [ebp + 0x3608]
push dword fs:[0]
mov dword fs:[0], esp
push ecx
push esi
push eax
push ebp
jmp 0x40e3fb
push eax
mov eax, 0x3843a501
and eax, 0x8abd8a0a
push ecx
push 0xa1f64127
pop ecx
and eax, 0xb72b44b
bsf eax, eax
dec eax
add ecx, ecx
dec ecx
push edx
shrd eax, ecx, 0xa
rol eax, 0x18
ror ecx, 7
bts ecx, 0x1f
neg eax
bsr ecx, eax
push ebx
push 0x10e486e5
pop ebx
add ebx, eax
sub ecx, 0xbc37ce3b
bsr ecx, ecx
push ebp
or ecx, eax
mov eax, ebx
xor eax, 0xffffffe3
push esi
shld ebx, eax, 0x11
mov ebx, 0xd832132b
mov esi, 0xbe79a067
xchg ecx, esi
sar esi, 1
shr ecx, 1
push edi
mov edi, 0x1f671b5e
add edi, 0x15
inc ecx
and esi, ebx
add ecx, edi
push ecx
btc ecx, 0xe
btc ecx, 0x17
rol ecx, 0x16
bts ecx, 2
sar eax, 1
imul eax, eax
ror esi, 0x15
add esi, eax
inc esi
add ebx, 0xa8d1d7b3
shrd ecx, ebx, 0xc
mov ecx, 0x3d59035d
cmp ebx, 0x575a7ec9
jne 0x40e46b
pop edi
xor ecx, ecx
inc ecx
push 0xcbe9be7e
pop eax
or ecx, eax
dec ecx
neg eax
not ecx
sub esi, esi
dec esi
xor esi, 0x3c86186e
mov ebx, 0x51994788
sub ebx, 0xa44975b1
add eax, 0x91eba8ad
push 0x1611d677
add ecx, 0x337e5a12
cmp ecx, 0x52507e1d
jne 0x40e4cb
pop edi
sub ecx, 0x7fc3785b
shrd edi, ecx, 0x1d
push esi
inc edi
xor esi, 0xe6b830c5
rol edi, 2
xor edi, 0xfc5199a7
push ebx
add ebx, 0x1587779e
push eax
push ecx
rol eax, 5
push esi
push 0xffffffffffffffbd
add ecx, 0x6d361bb7
cmp ecx, 0xfc7f6480
jne 0x40e508
pop eax
xor esi, 0xd437150a
or eax, 0x35
push edi
push 0xc57f99f1
pop ecx
push ebx
sub eax, 0xffffffc0
add ebx, 0x3d28b699
and eax, 0x6e
xor ecx, 0x9881f6f1
push 0x48
bsr edi, edi
pop eax
push esi
xor eax, 0xffffff8a
xor esi, 0xf1f5396b
sub eax, 0xdda8e894
add edi, 0xb4696f64
neg eax
push ebx
ror eax, 1
push ecx
imul ebx, eax
add ecx, 0x3e0a8765
cmp ebx, eax
jge 0x40e59e
push esi
xor eax, edi
push edi
push ecx
xor ecx, 0x9e7d99f5
bsf ebx, esi
xor eax, 0x47ed1a26
add edi, 0x99faeca1
or ebx, 0x8050589c
push ecx
neg esi
push eax
push ebx
sub edi, 0xffffffbf
sub ecx, edi
and ecx, 0xa1e3ea0b
xor eax, edi
sar ebx, 1
btc ecx, 0x15
btc eax, 7
adc eax, 0x7f8ba0f
sub edi, 0xc8bba784
cmp edi, 0x9067211d
jne 0x40e591
sub eax, eax
inc eax
cmp edi, eax
jge 0x5903fac6
push 0xedd22042
pop esi
neg esi
push 0x5c9a1e40
pop ecx
push 0x520dfd5a
pop ebx
mov ecx, 0xc76b88b
shl ebx, 1
mov ebx, 0x1637848
mov ecx, esp
add ebx, 0xfe9c87b8
rol esi, 1
add ecx, ebx
xadd esi, ebx
mov esi, 0xb2c2cc4f
shl esi, 1
imul esi, ebx, 0x4cdb7a45
wait
fninit
add edi, 0xf0281723
call ecx
add esp, 0x40
push 0x252638e0
pop ecx
xor ecx, ecx
leave
xor ebx, ebx
inc ebx
push 0xa8706aa8
pop esi
sub eax, eax
dec eax
sub eax, 0xa251d548
mov edi, 0x964f7b23
mov edi, 0xcd6c1900
cmp eax, 0xcd03392f
jne 0x40e621
push 0xd9cde68
pop ecx
sub ecx, 0xffffffe6
add ecx, eax
mov ebx, 0x33958b4e
imul eax, ebx, 0xa031b1b0
pop edi
sub esi, esi
shrd esi, ecx, 0x10
pop esi
bsr ecx, eax
pop ebp
or ebx, ecx
pop ebx
xchg ecx, eax
pop edx
push ecx
rol ecx, 0xc
pop eax
pop ecx
sar eax, 1
pop eax
pop es
stc
mov dword [0x5c6eb0de], eax
adc bh, byte [edx + 0x67]
xor ebp, 0xffffffa0
sbb al, 3
cmp esp, ecx
cmp dh, byte [eax]
jns 0x40e6a2
or dword [eax + 0x7c3938d3], 0xffffffd9
mov eax, 0x64dc8ac0
fnstcw word [eax + 0x64dc8ac0]
stosb byte es:[edi], al
jmp 0x40e614
add dword [eax + 0x98a4455], edx
sub ch, byte [ebx + 0x5e119437]
cwde
adc eax, 0xb757521
adc al, 0x39
mov esi, dword [edi*4 - 0x283edbb]
test dword [ecx - 0x37], eax
leave
pushal
add ch, byte [edx + 0xf]
js 0x40e685
sahf
popal
retf 0x45ea