Function at 0x463fb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20
call fcn.00596bf0
cmp dword [ebp + 0xc], 0
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, ecx
mov dword [ebp - 4], 0
jle 0x4642da
test esi, esi
jle 0x4642da
cmp esi, ebx
jg 0x4642bf
cmp ebx, 0xb
jl 0x4642bf
push edi
push 0xb2
push str.....crypto_rsa_rsa_pk1.c
push ebx
call fcn.004196c0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x46402a
push 0xb4
push str.....crypto_rsa_rsa_pk1.c
push 0x41
push 0x71
push 4
call fcn.0040e790
add esp, 0x14
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
add edx, esi
add edi, ebx
test ebx, ebx
jle 0x46405d
mov dword [ebp - 0xc], ebx
mov ecx, esi
not ecx
shr ecx, 0x1f
lea eax, [esi - 1]
shr eax, 0x1f
and eax, ecx
dec eax
mov ecx, eax
and ecx, 1
sub edx, ecx
sub esi, ecx
mov cl, byte [edx]
dec edi
and cl, al
dec dword [ebp - 0xc]
mov byte [edi], cl
jne 0x464038
movzx eax, byte [edi + 1]
movzx edx, byte [edi]
xor eax, 2
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
lea eax, [edx - 1]
not edx
shr eax, 0x1f
shr edx, 0x1f
and eax, edx
neg ecx
neg eax
and ecx, eax
mov edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], 0
cmp ebx, edx
jle 0x4640da
lea ebx, [ebx]
movzx eax, byte [edx + edi]
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, dword [ebp - 0xc]
not eax
neg ecx
or dword [ebp - 0xc], ecx
and eax, ecx
mov dword [ebp - 0x10], eax
not eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
and esi, dword [ebp - 4]
and eax, edx
or eax, esi
inc edx
mov dword [ebp - 4], eax
cmp edx, ebx
jl 0x4640a0
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov esi, ebx
sub esi, dword [ebp - 4]
dec esi
sub ecx, esi
xor ecx, esi
mov edx, esi
xor edx, eax
or ecx, edx
xor ecx, eax
mov eax, dword [ebp - 4]
lea edx, [eax - 0xa]
or edx, eax
xor edx, eax
shr ecx, 0x1f
shr edx, 0x1f
dec ecx
dec edx
and ecx, edx
and dword [ebp - 8], ecx
mov edx, dword [ebp + 0xc]
lea ecx, [ebx - 0xb]
mov eax, ecx
sub eax, edx
xor eax, edx
xor ecx, edx
or eax, ecx
lea ecx, [ebx - 0xb]
xor eax, ecx
shr eax, 0x1f
neg eax
mov dword [ebp - 0x14], eax
not eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
and edx, dword [ebp + 0xc]
lea ecx, [ebx - 0xb]
and eax, ecx
or eax, edx
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], 1
cmp ecx, 1
jle 0x4641c5
mov eax, ebx
sub eax, esi
add eax, 0xfffffff5
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
and eax, dword [ebp - 4]
mov edx, ebx
sub edx, dword [ebp - 4]
lea ecx, [eax - 1]
shr ecx, 0x1f
not eax
shr eax, 0x1f
and ecx, eax
dec ecx
cmp edx, 0xb
jle 0x4641b7
movzx ecx, cl
mov eax, ecx
not eax
add edx, 0xfffffff5
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
lea eax, [edi + 0xb]
mov dword [ebp - 0xc], edx
jmp 0x464193
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov cl, byte [eax + ecx]
and cl, dl
mov edx, dword [ebp - 0x20]
and dl, byte [eax]
inc eax
or dl, cl
dec dword [ebp - 0xc]
mov byte [eax - 1], dl
jne 0x464190
shl dword [ebp - 4], 1
lea eax, [ebx - 0xb]
cmp dword [ebp - 4], eax
jl 0x464153
mov eax, dword [ebp + 0xc]
xor ecx, ecx
test eax, eax
jle 0x464218
mov eax, esi
neg eax
mov dword [ebp - 0xc], eax
xor eax, esi
mov edx, ecx
xor edx, esi
or eax, edx
xor eax, ecx
shr eax, 0x1f
neg eax
and eax, dword [ebp - 8]
inc ecx
movzx eax, al
mov dword [ebp - 0x20], eax
not eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x20]
mov al, byte [edi + ecx + 0xa]
mov ebx, dword [ebp - 0x1c]
and al, dl
mov edx, dword [ebp + 8]
and bl, byte [ecx + edx - 1]
or bl, al
mov eax, dword [ebp - 0xc]
mov byte [ecx + edx - 1], bl
inc eax
mov dword [ebp - 0xc], eax
cmp ecx, dword [ebp + 0xc]
jl 0x4641d2
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x464226
push ebx
push edi
call fcn.00527a20
add esp, 8
mov eax, dword [fcn.00419900]
test eax, eax
je 0x464248
cmp eax, fcn.00419900
je 0x464248
push 0xfa
push str.....crypto_rsa_rsa_pk1.c
push edi
call eax
add esp, 0xc
jmp 0x464251
push edi
call fcn.0057bec0
add esp, 4
push 0xfb
push str.....crypto_rsa_rsa_pk1.c
push 0x9f
push 0x71
push 4
call fcn.0040e790
mov ebx, dword [ebp - 8]
mov edi, ebx
add esp, 0x14
and edi, 1
call fcn.0040f240
test eax, eax
je 0x4642a6
mov edx, dword [eax + 0x180]
lea ecx, [edi - 1]
shr ecx, 0x1f
not edi
shr edi, 0x1f
and ecx, edi
neg ecx
mov dword [ebp + 0xc], ecx
not ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
and ecx, 2
or dword [eax + edx*4], ecx
mov dword [ebp + 0xc], ebx
not ebx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x20]
pop edi
and eax, esi
pop esi
or eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
push 0xae
push str.....crypto_rsa_rsa_pk1.c
push 0x9f
push 0x71
push 4
call fcn.0040e790
add esp, 0x14
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret