Function at 0x645d99
Capabilities:
Encode data using xor

Disassembly:
and ax, 0xed72
pop esi
popal
lea eax, [ebp + 0x1250a57a]
jmp 0x645aef
mov dword [ebp + 0x122d2c6b], eax
jmp 0x645b0c
stc
lea eax, [ebp + 0x1250864b]
cld
mov dword [ebp + 0x1244934b], eax
ja 0x645b21
stc
lea eax, [ebp + 0x1250886e]
jmp 0x645b33
mov dword [ebp + 0x122d2b86], eax
jmp 0x645b4c
lea eax, [ebp + 0x1250851d]
jmp 0x645b5f
mov dword [ebp + 0x1244a029], eax
cmc
pushal
call 0x645b76
and eax, dword [eax]
sti
xlatb
out dx, al
sbb al, 0x7b
popal
stosd dword es:[edi], eax
add bh, 0x1b
pop edi
push esi
mov bl, ah
pop ecx
popal
lea eax, [ebp + 0x12507daf]
pushal
jp 0x645b92
xor edx, 0x26a366fa
mov dl, ch
popal
mov dword [ebp + 0x122d30fd], eax
pushal
mov ecx, 0x61e928f4
popal
mov eax, 0xe130000
cmc
test eax, eax
je 0x645cc9
jp 0x645bb7
stc
mov byte [ebp + 0x122d289c], 0x56
pushal
mov eax, 0x3f050f06
popal
mov eax, 0xa9c530df
js 0x645bdc
jne 0x645bdc
jbe 0x645bdc
push eax
pushal
mov edx, ebx
mov cl, 0x9d
popal
cmc
push dword [ebp + 0x122d176d]
pushal
jmp 0x645bfa
push edi
push edx
pop eax
pop ecx
popal
jo 0x645c0c
je 0x645c0c
stc
call dword [ebp + 0x122d2807]
pushal
jmp 0x645c1f
popal
pushal
add bx, 0xa9de
pushal
cmc
jmp 0x645c34
popal
popal
mov dword [ebp + 0x122d29d4], eax
pushal
mov edi, esi
or ebx, 0x2becf77e
popal
lea eax, [ebp + 0x122d21c0]
jmp 0x645c59
push eax
jno 0x645c61
clc
push 4
cld
push 0x1000
pushal
pushal
clc
popal
mov ah, bl
popal
push dword [ebp + 0x122d0cdd]
jmp 0x645c8e
call dword [ebp + 0x122d29d4]
clc
cmc
mov edi, dword [ebp + 0x122d0cdd]
pushal
push edx
pushal
popal
pop ebx
popal
mov eax, dword [edi + 0x3c]
stc
add edi, eax
jmp 0x645cb7
add edi, 0xf8
stc
mov dword [edi + 0x24], 0x60000020
pushal
clc
popal
cmc
lea ebx, [ebp + 0x122d1761]
jno 0x645ce5
jmp 0x645ce5
mov eax, dword [ebx]
jnp 0x645cfd
pushal
movzx edi, bx
jmp 0x645cfc
popal
clc
test eax, eax
je 0x645d39
pushal
mov cx, 0xcc00
pushal
jmp 0x645d17
mov cx, si
popal
popal
mov eax, dword [eax]
pushal
mov edx, 0x365439cf
popal
mov dword [ebx + 4], eax
jmp 0x645d39
mov ecx, 0x234cf6
push 0x4e3b464a
mov dword [esp], ebp
push edx
mov dword [esp], edi
jmp 0x645d5c
mov ecx, ebx
pop ebx
jmp 0x645e43
jmp 0x645eba
mov dword [esp], 0x6d7a9167
add dword [esp], 0x3e4a80aa
sub dword [esp], 0xffffffff
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
not edx
xchg dword [esp], edx
shr dword [esp], 8
sub dword [esp], 0xa4b4a12d
jmp 0x645dcb
push dword [esp]
push dword [esp]
pop ebp
add esp, 4
push ebp
mov ebp, esp
push eax
mov eax, 0x1d3da82d
shl eax, 2
shr eax, 8
neg eax
add eax, 0x74f6a4
jmp 0x645e73
pop edi
and ebx, 0x267fba73
not ebx
shl ebx, 7
add ebx, 0x8340bb15
jmp 0x645d4f
pop ebp
push edx
mov edx, 0x5b9f3179
sub ebp, edx
mov edx, dword [esp]
add esp, 4
mov eax, ebp
jmp 0x645d8f
mov eax, 4
sub ebx, eax
mov eax, dword [esp]
add esp, 4
xchg dword [esp], ebx
mov esp, dword [esp]
mov dword [esp], eax
mov dword [esp], 0x6dfe6ff9
add dword [esp], 0x1ea5ecbf
not dword [esp]
sub dword [esp], 0x5b00f95
sub dword [esp], 0x1b7ffcca
sub dword [esp], 0xf8b4223f
add dword [esp], 0x7bb6e40c
inc dword [esp]
not dword [esp]
dec dword [esp]
push edi
mov edi, 0x4b91c81a
add dword [esp + 4], edi
pop edi
mov dword [esp], ecx
mov dword [esp], eax
jmp 0x645d57
sub ecx, 0x77379211
add ebx, ecx
push dword [esp]
pop ecx
jmp 0x645eae
push ebx
mov dword [esp], edi
mov dword [esp], ebx
mov ebx, esp
push ecx
push 0x75d5052d
mov dword [esp], ebx
mov ebx, 0x7e96f456
shr ebx, 1
jmp 0x645e98
add ebp, eax
pop eax
push edi
mov edi, 4
add ebp, edi
mov edi, dword [esp]
add esp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
jmp 0x645e54
push edi
mov edi, 0x7daf0e77
shr edi, 4
xor edi, 0x5e09dc9d
xor ebx, edi
jmp 0x645db4
add esp, 4
push eax
jmp 0x645de1
call 0x645ebf
push dword [esp]
jmp 0x6460e3
mov esi, dword [esp]
add esp, 4
push ecx
mov dword [esp], ebp
jmp fcn.0064624e