Function at 0x652dc5
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], ebp
jmp 0x652b3a
sub ebp, 0x2ccd2f20
sub ebp, 0x646c8e1b
add esi, ebp
jmp 0x652727
pop esi
add edx, eax
pop eax
sub edx, eax
sub edx, 0x79efeb69
jmp 0x65289b
pop esi
xchg dword [esp], ecx
pop esp
cmp edx, 0xffff8c5c
jne 0x652b1b
sti
push edx
push 0x1ecbf001
mov dword [esp], eax
mov eax, 0x5d0fdfd7
sub eax, 0x5def2f9a
or eax, 0x7f69ef34
xchg esi, eax
not esi
xchg esi, eax
sub eax, 0x77f79bc5
sub eax, 0x4f95cac8
push ecx
push esp
pop ecx
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
jmp 0x652b50
sub edx, 0x5c3fb1f0
push edx
xor dword [esp], 0x3eeb4457
pop ebx
xor ebx, 0x3eeb4457
mov edx, dword [esp]
push 0x1a77e174
mov dword [esp], edx
mov edx, esp
add edx, 4
jmp 0x6528e5
xchg dword [esp], edx
pop esp
mov edi, dword [esp]
push 0x36c88558
jmp 0x652ca8
push 0x7fbec27b
pop edi
add ebp, 0x6ff7842b
add ebp, edi
jmp 0x652b93
pop ebp
jmp 0x6529c1
mov eax, ebp
pop ebp
push edi
jmp 0x652840
dec edi
sub edi, 0xffffffff
sub edi, 0x79ada406
add eax, edi
jmp 0x652a66
push edx
mov dword [esp], esi
mov esi, 0x7b6775ca
and esi, 0x7d7b775a
push ebx
mov ebx, 0x269b9553
jmp 0x652a74
mov edi, 0x4f9f44af
add edi, 0x56f99519
push edx
mov edx, 0x7abf0c3f
jmp 0x6528b6
add edi, 4
sub esp, 4
mov dword [esp], ebx
mov ebx, 4
add edi, ebx
pop ebx
xchg dword [esp], edi
jmp 0x652c4f
pop eax
push edx
add dword [esp], 0xffffffff
mov edx, dword [esp]
push edi
jmp 0x6529c9
sub edx, 0x437a6615
dec edx
jmp 0x6528f7
pop edi
dec eax
xor eax, 0x7c5b2e2f
push esi
jmp 0x652af2
add edx, 4
jmp 0x6526c4
neg edx
xor edx, 0x6e59142c
add edi, edx
mov edx, dword [esp]
add esp, 4
or eax, edi
jmp 0x6528d8
mov eax, 0xffff6fda
sub ecx, 0x67f08541
sub ecx, eax
add ecx, 0x67f08541
pop eax
add esi, ecx
mov ecx, dword [esp]
jmp 0x652d62
xchg dword [esp], esi
jmp 0x652db3
mov dword [esp], ecx
mov ecx, esp
push eax
mov eax, 4
add ecx, eax
pop eax
jmp 0x652cdb
mov eax, ecx
pop ecx
shr eax, 3
dec eax
not eax
push edi
push edx
jmp 0x652cc8
pop ebx
jmp 0x652a0d
pop edi
add eax, ebp
mov ebp, dword [esp]
add esp, 4
jmp 0x652f5f
add esi, 0x3d1fefb9
push edx
mov edx, 0x57e77792
sub esi, edx
jmp 0x652b62
push ebx
jmp 0x652bdf
mov ebp, 0x4f9f46dd
sub ebp, 0xcfe1ed6e
or ebp, 0x575bf7bf
jmp 0x652e6e
mov dword [esp], ecx
jmp 0x6530e0
mov ebx, 4
jmp 0x652dcd
pop edx
add esi, 0x7f76e2d8
sub esi, ebx
sub esi, 0x7f76e2d8
add esi, 0x57e77792
push ebp
mov ebp, 0x760e65d9
inc ebp
shr ebp, 5
jmp 0x652e27
sub ebp, 0x6ff7842b
mov edi, dword [esp]
add esp, 4
jmp 0x652e63
mov edi, 0x7f7b1533
add edi, 0x8084ead1
add eax, edi
mov edi, dword [esp]
add esp, 4
jmp 0x653059
mov ebx, 0x3c4dd983
mov esi, ebx
pop ebx
jmp 0x652ea5
pop esp
jmp 0x652c55
pop edx
push edi
push ebp
mov dword [esp], 0x6a37c065
mov edi, dword [esp]
add esp, 4
shr edi, 8
jmp 0x65311c
mov dword [esp], esi
push esp
pop esi
push ecx
mov ecx, 0x6df5820b
xor ecx, 0x1cee31ec
shl ecx, 1
or ecx, 0x7fef4a52
push eax
jmp 0x6529a3
mov edx, 0x39674af9
mov edi, edx
pop edx
xor edi, 0x32d69413
jmp 0x65276d
push 0x25167b17
mov dword [esp], esi
mov esi, 0x7ffc2380
sub esi, 0x7ffc237c
add ecx, 0x6feeab54
sub ecx, 0x77fd101d
add ecx, esi
push edx
mov edx, 0x7fb70efd
inc edx
add edx, 0x56e6db9b
and edx, 0x3db10454
xor edx, 0x636c100d
add ecx, edx
pop edx
push eax
push ebp
mov ebp, 0x47abdcfc
jmp 0x65274c
add esp, 4
push ecx
jmp 0x6525bf
add edi, 0x26744455
jmp 0x652e96
pop esp
jmp 0x652809
push ebp
mov ebp, esp
jmp 0x652eef
add edx, 0x5fdcd664
add edx, 0x7ab51bd3
sub edx, ebx
sub edx, 0x7ab51bd3
sub edx, 0x5fdcd664
pop ebx
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
mov dword [esp], esi
pop dword [edi + edx]
push esi
mov dword [esp], eax
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7dfbc026
push ecx
push 0x7f74af1c
pop ecx
and ecx, 0x1bf58518
shl ecx, 5
shr ecx, 1
push ebx
mov ebx, 0xb7487944
sub ecx, ebx
jmp 0x652a38
not ebp
push edi
jmp 0x652714
xor ebp, 0x4111a0f5
jmp 0x652ed8
or ebp, 0x564b430e
shl ebp, 5
sub ebp, 0x6ec642a1
jmp 0x6525c7
push edx
push edi
add dword [esp], 0x5c3fb1f0
pop edx
jmp 0x652660
sub eax, 0x35cf36fe
add eax, esi
add eax, 0x35cf36fe
pop esi
sub ecx, eax
pop eax
jmp 0x652613
sub esi, ebp
pop ebp
pop ebx
push esi
xor dword [esp], 0x7ebb25d7
mov edx, dword [esp]
push eax
push esp
pop eax
jmp 0x653010
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
sub ebp, 0x3d54577c
or ebp, 0x759d9c80
or ebp, 0x5dda4cc1
shr ebp, 3
shr ebp, 1
xor ebp, 0x7fdfdeb
add edx, 0x77cf934a
add edx, ebp
sub edx, 0x77cf934a
mov ebp, dword [esp]
add esp, 4
jmp 0x652f39
push ebx
jmp 0x652b58
push eax
mov eax, 0x3dbf3097
xor eax, 0x41bd3771
push edx
mov edx, 0x6dfcd25a
or edx, 0x1a742413
inc edx
add edx, 0xd8025057
jmp 0x653073
push edi
jmp 0x652bc7
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
xor edx, 0x7ebb25d7
mov esi, dword [esp]
add esp, 4
jmp 0x653123
add eax, edx
pop edx
xor eax, 0x1ffe67dd
xor eax, 0xf9d06081
push ebp
mov ebp, 0x73eb976c
sub eax, ebp
pop ebp
jmp 0x6530a3
sub eax, 0x7f3fb8fc
xor eax, 0x66fd29ed
push eax
dec dword [esp]
pop eax
jmp 0x6530b7
push esi
mov esi, 0x1ff11aba
add eax, esi
jmp 0x6525da
push ebx
push edi
mov dword [esp], eax
pop ebx
mov ecx, ebx
pop ebx
mov edx, ecx
pop ecx
mov eax, dword [esp]
add esp, 4
jmp 0x6530fa
sub esp, 4
mov dword [esp], edx
jmp 0x653108
add byte [eax], al
add byte [eax], al
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push edi
mov edi, esp
jmp 0x652873
not edi
jmp 0x652d6b
movsb byte es:[edi], byte [esi]
push es
mov al, ah
je 0x653104
call dword [ebp + 2]
std
pop esi
inc ebx
xor eax, 0xdb4ac77f
lea ecx, [ebx*2 + 0x3e95d295]
sbb esp, ebx
mov eax, 0x44e83eb0
fdivr qword [eax + 0x44e83eb0]
xor dword [ebp + 0x74c36e06], esp
fcmovne st(0), st(1)
xchg dword [eax + 6], edi
inc ebx
je 0x65312c
xchg dword [ebx - 0x3dc924b6], ebp
ja 0x6530eb
jb 0x6531b5
cmc
and dl, byte [ebx - 0x3e]
je 0x65313c
das
je 0x6531be
invalid
enter 0x66ae, 0x5b
sahf
cmp eax, 0x74c23698
push 0x22db9e4b
push ebx
push edx
sub al, 0xa2
mov dl, 0xa
test ecx, 0xdf025722
add ecx, esp
fild dword [ebx + 0x729ae39e]
inc ebp
sbb bl, ah
mov bh, 0xff
pop eax
invalid
push ebx
ret 0xdb74
or al, 0x58
mov edi, 0xdb743e2f
std
push ds
dec esp
xor dword [edx - 0x3dc950c3], eax
je 0x653237
pop ebx
sahf
fucom st(2)
jb 0x653182
invalid
rol dword [0xdb74c26e], cl
sahf
push esp
sub eax, 0xd1b9697e
add eax, 0xdb77c21c
shl byte [edi - 0x618499a8], cl
leave
arpl word gs:[esi - 0x3dc921c3], bx
je 0x6532c7
add byte [edx], cl
invalid
js 0x653341
xchg dword [ebx], ecx
push esp
loope 0x653320
ret 0xdb74
fcmovnbe st(0), st(2)
call [eax + 0x5e]
or esp, ebx
invalid
jl 0x653352
or dh, byte [edi - 0x25]
mov edx, 0xa9b86c4e
push ebp
cmp bh, byte [ecx]
cmp eax, 0x77c23cb9
loope 0x653388
ret 0xdb74
jb 0x653350
js 0x653304
movsb byte es:[edi], byte [esi]
dec edi
salc
pop ebp
adc eax, 0x36db74c0
stosd dword es:[edi], eax
xchg ebx, eax
fnstenv [esi]
ret 0xa836
arpl word [edx + edi*4], sp
dec edx
arpl word [esp + eax], sp
cmp ebx, esp
movsb byte es:[edi], byte [esi]
lodsb al, byte [esi]
xor ah, bl
ret 0x1bcf