Function at 0x520699
Capabilities:
Encode data using xor

Disassembly:
add cl, al
jmp 0x5203a2
shr ebx, 5
jne 0x520842
add cl, ch
lea eax, [eax]
add byte [eax], al
jmp 0x520435
shl edi, 8
push esi
mov esi, 0x480b200
xor edi, esi
pop esi
sub edx, 0x3fb768fa
add edx, edi
add edx, 0x3fb768fa
pop edi
push dword [edx]
mov ebx, dword [esp]
jmp 0x520853
neg eax
dec eax
jo 0x5203db
jmp 0x520763
and edi, 0x4ec4c6f3
jle 0x5206f5
jmp 0x5203a8
xor esi, 0x43ffc77d
jbe 0x520446
jmp 0x520646
shr ebx, 4
js 0x5203a8
jmp 0x520620
pop dword [ecx]
push ebp
mov esi, dword [esp]
push eax
mov dword [esp], ecx
mov ecx, esp
push ebx
mov ebx, 4
add ecx, ebx
pop ebx
add ecx, 4
xchg dword [esp], ecx
pop esp
push esi
mov dword [esp], eax
mov eax, 0x87
jmp 0x520547
sub ebx, 0x5f3dfce1
js 0x5204af
jmp 0x5206b3
push esi
mov esi, 0x77ee8a02
neg esi
neg esi
jo 0x520667
jmp 0x5203ec
push esi
mov esi, esp
add esi, 4
add esi, 4
xor esi, dword [esp]
xor dword [esp], esi
jmp 0x5204f1
xor ebx, 0x7f0ef561
jnp 0x520646
jmp 0x5203fd
pop ebx
not edi
xor edi, 0x80e60039
add ecx, 0x5eff7c9d
sub ecx, 0x5bcf944e
add ecx, edi
add ecx, 0x5bcf944e
sub ecx, 0x5eff7c9d
pop edi
push eax
mov eax, 0
add eax, ecx
jmp 0x5207ec
xor esi, dword [esp]
pop esp
mov edx, dword [esp]
push ebx
mov ebx, esp
push 0x7bc17ae2
mov dword [esp], ecx
jmp 0x5206df
add esp, 4
push edi
mov edi, 0x5ff69365
sub edi, 0x76df03d9
push ebx
mov ebx, 0x7ff3bef4
add ebx, 0x7bd7a373
jmp 0x5207db
push ecx
mov ecx, esp
add ecx, 4
push edi
mov edi, 4
add ecx, edi
pop edi
xchg dword [esp], ecx
pop esp
popfd
ret 0
push eax
mov dword [esp], ebx
mov ebx, 0x7a738159
add esi, ebx
pop ebx
add esi, eax
sub esi, 0x7a738159
pop eax
push edx
mov edx, esp
add edx, 4
jmp 0x52056a
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], ecx
push 0
pop ecx
mov dword [esi], ecx
mov ecx, dword [esp]
add esp, 4
push dword [esp]
pop edi
push esi
mov esi, esp
add esi, 4
jmp 0x52067c
pop esp
push dword [esp]
mov esi, dword [esp]
add esp, 4
push esi
mov esi, esp
add esi, 4
push eax
mov eax, 4
add esi, eax
pop eax
xchg dword [esp], esi
jmp 0x5206b3
and ebx, 0x700fda93
sub ebx, 0xe60f42ec
sub edi, 0x73a70791
sub edi, ebx
add edi, 0x73a70791
jmp 0x5204c0
push dword [esp]
pop edi
add esp, 4
add esp, 4
push ebp
push 0x7edd6159
pop ebp
add ebp, 0x81229eab
add edi, 0x6ffe0064
add edi, ebp
sub esp, 4
mov dword [esp], edx
mov edx, 0x3fcff076
neg edx
jmp 0x52060e
add edx, 0xafcdf0da
sub edi, edx
pop edx
pop ebp
push word [edi]
jmp 0x520720
or ebx, 0x7f7dbd72
jb 0x520842
jmp 0x520446
pop eax
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], ebx
jmp 0x52040b
sub esi, 0xb38f4af9
add ebx, esi
pop esi
add ebp, ebx
pop ebx
add ebp, 4
xchg dword [esp], ebp
pop esp
push dword [esp]
mov eax, dword [esp]
add esp, 4
jmp 0x520528
add edi, esi
pop esi
sub edi, 4
xchg dword [esp], edi
pop esp
mov dword [esp], ebp
mov ecx, dword [esp]
jmp 0x520508
push ecx
mov ecx, 4
add esi, ecx
pop ecx
xor esi, dword [esp]
xor dword [esp], esi
xor esi, dword [esp]
jmp 0x52059a
pop eax
add ebx, 2
xchg dword [esp], ebx
and al, 0x5c
add ecx, esp
push eax
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
jmp 0x520631
pop esp
push dword [esp]
pop ebp
push ebp
mov ebp, esp
push eax
mov eax, 4
add ebp, eax
pop eax
add ebp, 4
push ebp
push dword [esp + 4]
pop ebp
pop dword [esp]
pop esp
push dword [esp]
mov ebx, dword [esp]
add esp, 4
jmp 0x520495
mov ecx, 0x3fef7fac
or ecx, 0x5bbf54a1
jb 0x5207db
jmp 0x52073d
add edi, 4
xchg dword [esp], edi
pop esp
push dword [edx]
push dword [esp]
mov edx, dword [esp]
add esp, 4
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
push edi
jmp 0x52077b
mov cx, word [esp]
push ebx
mov ebx, esp
push eax
mov eax, 0x6bffa0d4
and eax, 0x7caebd0e
jl 0x52067c
jmp 0x5203cd
sub ecx, 0x7c75b8f2
add ecx, 0xfc763949
add ebx, ecx
mov ecx, dword [esp]
add esp, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
mov ecx, dword [esp]
jmp 0x52079b
sub eax, 0x97515ff7
sub ebx, 0x7ed0c4cf
add ebx, eax
add ebx, 0x7ed0c4cf
jmp 0x520693
mov dword [esp], 0x37c64730
mov dword [esp], edi
mov edi, 0x677de65a
add edi, 0x39b7c358
jbe 0x520693
jmp 0x5203db
push ebp
push esp
pop ebp
push ebx
mov ebx, 0x73b3f537
xor ebx, 0x54fac1b4
jp 0x52079b
jmp 0x520435
push 0x57
pop ecx
add edi, ecx
push dword [esp]
pop ecx
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push dword [edi]
push dword [esp]
jmp 0x5205dd
and ebx, 0x2f7fdaf1
je 0x5206f5
jmp 0x52039a
push edx
push ecx
mov ecx, 0
push ecx
mov edx, dword [esp]
add esp, 4
pop ecx
add edx, eax
add ebx, dword [edx]
pop edx
pop eax
push ebp
mov dword [esp], 0
jmp 0x52080e
push dword [esp]
mov ecx, dword [esp]
add esp, 4
add esp, 4
sub esp, 4
mov dword [esp], ebp
mov edi, dword [esp]
push ebp
mov ebp, esp
push edi
mov edi, 4
add ebp, edi
pop edi
add ebp, 4
xchg dword [esp], ebp
pop esp
push ecx
jmp 0x5207b5
sub ebx, 0x2dfd6723
jno 0x5205be
jmp 0x520435
push ebp
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
pop ebp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push edi
mov edi, esp
push esi
mov esi, 4
jmp 0x520667