Function at 0x4641e0
Capabilities:
Encode data using xor

Disassembly:
js 0x46420e
clc
add cl, byte [edi + 0x78329292]
js 0x464217
adc bl, byte [ecx + 0x59]
jns 0x46421c
push eax
xchg ecx, eax
inc ebp
dec ecx
or al, 0x68
stc
fdiv dword [ebx]
and al, byte [ecx]
add al, byte [ecx]
js 0x4641ab
popal
push eax
cdq
push edx
pop ecx
imul esi, dword [eax + 0x49], 0x6069680c
pushal
pushal
js 0x46421b
dec ecx
or eax, 0xb9094959
imul edi, dword [eax + 0xe], 0x78797959
or ecx, dword [eax - 0x6f]
cmp dl, byte [ecx + 0x78020187]
invalid
adc dword [ecx + 0xc], ecx
push 0x7e8f8e79
push 0x79595915
loopne 0x464248
jle 0x464251
adc eax, 0xe0795959
pop ecx
jns 0x46426a
pop ecx
jns 0x464194
jns 0x46426e
sub byte [ebx + 0x4e990e81], dh
pop ecx
jns 0x464278
push ss
push 0x7879b9d9
js 0x46427f
clc
jns 0x464282
jp 0x464285
dec ecx
push eax
rcr dword [eax + 0x60], 1
lea eax, [edx + 9]
or al, 0x69
imul edi, dword [eax - 0x38], 0x78a07a28
js fcn.004641e0
enter 0x7a28, 0xffffffffffffffa0
sub byte [edx - 0x60], bh
js 0x464215
clc
invalid
mov ecx, 0x59597042
fstp dword [ecx + 0x79]
pop ecx
jns 0x4642a9
imul ecx, dword [0x79595069], 0x78595999
jp 0x4642b5
pop ecx
pop ecx
js 0x4642b5
jns 0x4642b6
jns 0x4642a7
imul ecx, dword [0x91595959], 0x8102828f
add dword [ecx + 0x47], edi
or eax, 0x91595959
pop dword [edx + 0x79018102]
inc edi
jns 0x464291
inc eax
adc eax, 0xb90d4999
pop ecx
pop ecx
xchg ebp, eax
jp 0x464225
push 0x793968f1
jns 0x4642d5
pop ecx
mov ecx, 0x15697979
aaa
jno 0x4641e7
add cl, byte [eax + 0x71]
js 0x4642e2
push 0x58117860
pop eax
jo 0x4642ea
pushal
jns 0x46420d
cdq
imul edx, dword [ebx], 0x99538e91
mov ss, word [ebx - 0x67]
push ebx
cdq
jns 0x4642d5
cdq
jns 0x464277
loopne 0x4642fb
add dword [edx], eax
js 0x46427d
add bh, byte [eax - 8]
clc
clc
js 0x464281
clc
cdq
xchg ecx, eax
or dword [0x59704979], 0x59
pop ecx
pop ecx
imul esp, dword [eax + 0x10], 0x5959680f
jns 0x4642e5
jo 0x464237
jns 0x464239
invalid
cmp dword [ecx - 0x7ec16ec7], ebx
add dword [ecx], eax
cmp dword [ecx + 0x101813e], edx
add dword [eax + 0x2b], edx
invalid
push eax
sub ecx, dword [edi + 0x40606973]
inc eax
adc byte [eax + 0x79], cl
popal
xchg ecx, eax
xchg ecx, eax
mov edi, 0x591569c9
jns 0x46433c
rcl byte [eax + 0xc], 0x68
imul edx, dword [eax], 0x8f8f8d78
add byte [edx], 0x58
lea ecx, [edi + 0x5802828f]
pushal
jo 0x46433c
jo 0x4642ae
push eax
js 0x464350
jns 0x4642ca
jo 0x4642b5
jns 0x464357
pop ecx
mov ecx, 0x8f79c079
jns 0x464273
invalid
push 0x60
pushal
jo 0x464360
js 0x464361
js 0x464362
js 0x4642e3
clc
int1
test al, 0x78
clc
add dword [ecx], eax
pushal
mov dword [0x99795728], eax
mov cl, 0xb
push 0x81681449
adc eax, 0x49590d58
or dword [ecx + 0x69], edi
push eax
adc al, 0x68
adc dword [0x49590d58], 0x50697909
pop ecx
imul ecx, dword [0x59597959], 0x2a5199b9
and byte [ecx], al
add dword [eax - 8], edi
pop ecx
pop ecx
mov ecx, 0x202a5199
cdq
push ecx
sub ah, byte [eax]
add dword [ecx], eax
js 0x46430f
clc
clc
push ecx
and ch, byte [eax]
jae 0x464387
adc dword [ecx + 0x79], edi
pop ecx
mov cl, 0x60
xchg esi, eax
xchg edi, eax
imul edi, dword [eax + 0x78], 0xe0795958
imul edi, dword [eax + 0x78], 0x58697979
pop esi
js 0x4642e7
mov al, 0x78
pushal
js 0x464399
or eax, 0x69797979
jns 0x4643a7
pushal
or al, 0x68
imul esp, dword [eax + 0x14], 0x58d17948
pop eax
js 0x4642d8
invalid
aas
push 0x7878710d
clc
int1
js 0x46430c
add dword [ecx], 0xf0f07801
loopne 0x464384
js 0x464349
invalid
das
push ebx
cdq
imul esi, dword [eax + 0x59], 0x10606959
jo 0x4643bb
pop ecx
pop ecx
imul esp, dword [eax + 0x10], 0x99141038
cmp byte [eax], dl
adc al, 0x99
imul edx, dword [eax + 0x49], 0x79706950
cdq
jns 0x4643dd
push eax
jns 0x4643f0
mov ecx, 0x278f5199
add dword [eax], esi
add dword [ecx], 0x1422932b
js 0x464336
pop ecx
imul edx, dword [eax], 0x92296148
xchg esi, eax
jp 0x4643f8
adc dword [ecx + 0x49], ebx
jo 0x464366
js 0x46440f
push 0x78786860
rcr byte [eax + 0x50], 1
push 0x58d07878
push eax
imul esi, dword [eax + 0x69], 0x7979b950
jns 0x4643a1
imul edx, dword [eax - 0x47], 0xf9797979
stc
push eax
adc dword [ecx + 0x78], ebp
js 0x464347
imul edi, dword [eax + 0x78], 0x9959d997
imul edx, dword [eax + 0x69], 0xa0f87878
int1
add dword [ecx], eax
pop ecx
pop ecx
cmp dword [ecx], edi
xchg ecx, eax
and esp, dword [eax]
add dword [ecx], eax