Function at 0x643120
Capabilities:
Encode data using xor

Disassembly:
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
mov esp, dword [esp]
jmp 0x643536
push edx
pop ecx
push edi
mov edi, ecx
mov eax, edi
pop edi
pop ecx
mov edx, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], eax
mov eax, 0x7556fa42
add eax, 0x57fa7d02
sub esp, 4
mov dword [esp], edx
mov dword [esp], 0
add dword [esp], 0x7fbeb567
sub dword [esp], eax
sub dword [esp], 0x7fbeb567
jmp 0x64322c
and edi, edx
pop edx
jmp 0x64352b
xor edx, edi
pop edi
add edi, 0x3ad7fff7
sub edi, edx
push 0x568841e1
jmp 0x6432a2
add esp, 4
push ebx
push esp
pop ebx
jmp 0x6437da
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
jmp 0x643793
pop ecx
mov edx, dword [esp]
add esp, 4
jmp 0x643742
add edi, 0x5fea9361
add edi, 0x1f65d0e6
pop edx
sub edi, 0x67da198f
push edx
mov edx, 0x527e300f
jmp 0x643182
shr edx, 8
inc edx
inc edx
inc edx
add edx, 0x4ba811a6
jmp 0x643066
sub dword [esp + 4], ecx
jmp 0x643143
mov dword [esp], edx
push edi
jmp 0x643469
pop ebp
push esi
mov dword [esp], ebx
mov ebx, 0x58ce99fc
push ebx
push ecx
mov ecx, 0x3d6fac5e
jmp 0x6431cb
pop eax
neg eax
push edi
jmp 0x643235
push ebp
push 0x7d4013da
mov dword [esp], ebx
mov dword [esp], edx
mov edx, 0x6eb99a1c
mov ebp, edx
pop edx
mov edi, 0x98620bd
sub edi, 0x1f5f0175
add edi, 0x7f2f7b84
sub edi, 0x3eff29f4
sub edi, ebp
add edi, 0x3eff29f4
push eax
mov eax, 0x6e77077f
and eax, 0x5eb5dd01
shr eax, 1
not eax
add eax, 0xa649fe05
sub edi, eax
jmp 0x64366f
jmp 0x643a98
mov dword [esp], ebp
mov ebp, 0x5c9f70d1
jmp 0x643366
pop eax
sub esp, 4
jmp 0x6433c1
shr edx, 8
push ebp
mov ebp, 1
add edx, ebp
jmp 0x643581
add ebp, 0x67570217
and ebp, 0x7feef1f5
shl ebp, 2
add ebp, 0x2b3e3c77
sub edi, ebp
pop ebp
mov edx, dword [esp]
add esp, 4
sub eax, 1
jne 0x64306e
sti
push 0x6557107a
jmp 0x6431d4
mov dword [esp], edx
mov edx, 0x6feec660
and edx, 0x3ffbbfa4
add edx, 0x79f5196e
sub edx, 0x5dfdc2fd
sub edx, 0x23f2e3f3
sub edi, 0x1f65d0e6
jmp 0x643520
xor ecx, 0x78e8e114
mov edx, ecx
pop ecx
jmp 0x6432de
mov dword [esp], ecx
mov ecx, 0x474a216f
xor ecx, 0x6f7c8068
add ecx, 0x34e7412b
jmp 0x6433f4
sub edi, 0x5fea9361
jmp 0x6435e1
xor edi, 0x24073470
jmp 0x643098
sub esp, 4
mov dword [esp], ebp
push 0x35fb4f98
jmp 0x6431ee
pop ebp
jmp 0x643587
not edx
add edx, 1
sub esp, 4
mov dword [esp], eax
push ebx
mov ebx, 0x7e718bc1
jmp 0x64363a
add edi, edx
jmp 0x643152
mov eax, 0xb7f64034
add eax, ebx
push dword [esp]
pop ebx
add esp, 4
add edx, eax
mov eax, dword [esp]
add esp, 4
push 0x4d64d8c2
mov dword [esp], ecx
jmp 0x642ff8
pop eax
jmp 0x6436cf
add edi, 0x1f5f0175
pop ebp
sub eax, edi
pop edi
mov ebx, eax
push dword [esp]
mov eax, dword [esp]
add esp, 4
push ebp
jmp 0x642fdf
add edx, 0x3d6fac5e
push dword [esp]
mov ebx, dword [esp]
jmp 0x6430d4
xchg dword [esp], ebp
pop esp
mov dword [esp], edi
mov edi, 0x1fe787e4
push eax
push esi
mov esi, 0x6fe7da7c
mov eax, esi
pop esi
and edi, eax
jmp 0x6432d2
add ebx, 4
add ebx, 4
push 0x2ccb004e
jmp 0x643835
mov dword [esp], ebx
push dword [esp + 4]
pop ebx
pop dword [esp]
mov esp, dword [esp]
xor edx, ebp
push dword [esp]
mov ebp, dword [esp]
add esp, 4
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x64328b
push ebx
xchg esp, eax
shl dword [eax + 0x3c], 0x6d
push 0x3dce5d04
dec eax
pop ebx
insd dword es:[edi], dx
shl byte [eax + 0x3d], 0x9d
push esi
imul byte [eax]
pop ecx
aas
lodsd eax, dword [esi]
inc eax
xchg esp, eax
pop ds
pushal
cmp al, 0x6d
add eax, 0x22e89602
mov ebx, 0x457d71f9
sub ebp, dword [esp + esi*2 + 0xd]
inc esp
adc dl, ch
xor eax, 0xa9c06d3c
inc eax
pop ecx
in eax, 0x80
loop 0x643ac0
ret