Function at 0x464540
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xbc
call fcn.00596bf0
mov eax, dword [0x616930]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x88], edx
xor edx, edx
or ebx, 0xffffffff
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0xa4], edx
cmp eax, edx
jne 0x4645af
mov dword [ebp - 0xb0], 0x5df6e0
mov eax, dword [ebp - 0xb0]
cmp esi, edx
jne 0x4645b9
mov dword [ebp - 0x98], eax
cmp eax, edx
jne 0x4645ee
push 0x143
push str.....cryptoevpevp_lib.c
push 0x9f
push 0xa2
push 6
call fcn.0040e790
mov ecx, dword [ebp - 0xb4]
or esi, 0xffffffff
add esp, 0x14
mov dword [ebp - 0xac], esi
xor edx, edx
jmp 0x4645f9
mov eax, dword [eax + 8]
mov dword [ebp - 0xac], eax
mov esi, eax
cmp dword [ebp + 0xc], edx
jle 0x464b8a
cmp edi, edx
jle 0x464b8a
cmp ecx, edi
jl 0x464b6f
lea edx, [esi + esi + 2]
cmp ecx, edx
jl 0x464b6f
mov eax, ecx
sub eax, esi
push 0x9d
dec eax
push str.....crypto_rsa_rsa_oaep.c
push eax
mov dword [ebp - 0x9c], eax
call fcn.004196c0
add esp, 0xc
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x464666
push 0x9f
push str.....crypto_rsa_rsa_oaep.c
push 0x41
push 0x99
push 4
call fcn.0040e790
add esp, 0x14
jmp 0x464a90
mov eax, dword [ebp - 0xb4]
push 0xa3
push str.....crypto_rsa_rsa_oaep.c
push eax
call fcn.004196c0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xa4], ecx
test ecx, ecx
jne 0x464692
push 0xa6
jmp 0x46464b
mov eax, dword [ebp - 0xb4]
add dword [ebp + 0x10], edi
add ecx, eax
mov dword [ebp - 0xa4], ecx
test eax, eax
jle 0x4646e8
mov dword [ebp - 0xa4], eax
jmp 0x4646b3
mov edi, dword [ebp + 0x14]
mov edx, edi
lea eax, [edi - 1]
not edx
shr eax, 0x1f
shr edx, 0x1f
and eax, edx
dec eax
mov edx, eax
and edx, 1
sub edi, edx
mov dword [ebp + 0x14], edi
mov edi, dword [ebp + 0x10]
sub edi, edx
and al, byte [edi]
dec ecx
dec dword [ebp - 0xa4]
mov dword [ebp + 0x10], edi
mov byte [ecx], al
jne 0x4646b0
mov dword [ebp - 0xa4], ecx
movzx eax, byte [ecx]
lea edx, [eax - 1]
not eax
shr edx, 0x1f
shr eax, 0x1f
and edx, eax
neg edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x98]
push edx
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x9c]
push eax
lea edx, [ebp - 0x44]
lea ecx, [esi + ecx + 1]
push esi
push edx
mov dword [ebp - 0x90], ecx
call fcn.00464ba0
add esp, 0x10
test eax, eax
jne 0x464a90
xor edi, edi
test esi, esi
jle 0x464755
mov ecx, dword [ebp - 0xb8]
lea eax, [ebp - 0x44]
sub ecx, eax
lea eax, [ebp + edi - 0x44]
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc edi
cmp edi, esi
jl 0x464747
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x94]
push eax
push esi
push ecx
push edi
lea ecx, [ebp - 0x44]
call fcn.00464ba0
add esp, 0x10
test eax, eax
jne 0x464a96
mov edx, dword [ebp - 0x9c]
test edx, edx
jle 0x4647a6
mov ecx, dword [ebp - 0x90]
mov eax, edi
sub ecx, edi
mov dword [ebp - 0x98], edx
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
dec dword [ebp - 0x98]
jne 0x464798
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x88]
push eax
push 0
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
call fcn.0041bf50
add esp, 0x10
test eax, eax
je 0x464a96
push esi
lea eax, [ebp - 0x84]
push eax
push edi
call fcn.00527a90
lea ecx, [eax - 1]
shr ecx, 0x1f
not eax
shr eax, 0x1f
and ecx, eax
neg ecx
and dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
xor edi, edi
cmp dword [ebp - 0xac], ecx
jge 0x464886
lea ebx, [ebx]
mov edx, dword [ebp - 0x94]
movzx ecx, byte [esi + edx]
mov eax, ecx
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
lea eax, [ecx - 1]
not ecx
shr ecx, 0x1f
shr eax, 0x1f
and eax, ecx
mov ecx, edi
not ecx
neg edx
and ecx, edx
mov dword [ebp - 0x88], ecx
not ecx
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x90]
and ebx, dword [ebp - 0xa8]
neg eax
or edi, edx
and ecx, esi
or eax, edi
and dword [ebp - 0x8c], eax
or ecx, ebx
inc esi
mov dword [ebp - 0xa8], ecx
cmp esi, dword [ebp - 0x9c]
jl 0x464810
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp + 0xc]
mov ebx, ecx
sub ebx, dword [ebp - 0xa8]
sub ecx, dword [ebp - 0xac]
dec ebx
mov edx, esi
sub edx, ebx
xor edx, ebx
mov eax, ebx
xor eax, esi
or edx, eax
xor edx, esi
shr edx, 0x1f
dec edx
and edx, edi
and dword [ebp - 0x8c], edx
lea edi, [ecx - 1]
mov eax, edi
sub eax, esi
xor eax, esi
mov edx, edi
xor edx, esi
or eax, edx
xor eax, edi
shr eax, 0x1f
neg eax
mov dword [ebp - 0x88], eax
not eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
lea edx, [ecx - 1]
and edi, esi
and eax, edx
or eax, edi
mov edi, 1
mov dword [ebp - 0xa0], edx
mov dword [ebp + 0xc], eax
cmp edx, edi
jle 0x4649ab
sub ecx, ebx
dec ecx
mov dword [ebp - 0x88], ecx
lea ebx, [ebx]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xac]
and eax, edi
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, dword [ebp - 0x9c]
sub eax, edi
inc edx
dec ecx
cmp edx, eax
jge 0x46499a
movzx ecx, cl
mov esi, ecx
not esi
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x94]
add esi, edx
sub eax, edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa8], eax
jmp 0x464966
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], ecx
mov cl, byte [esi]
mov dword [ebp - 0x98], eax
mov al, byte [esi + edi]
mov edx, dword [ebp - 0xb0]
and dl, al
mov eax, dword [ebp - 0x98]
and al, cl
or dl, al
mov byte [esi], dl
inc esi
dec dword [ebp - 0xa8]
jne 0x464960
add edi, edi
cmp edi, dword [ebp - 0xa0]
jl 0x464910
mov eax, dword [ebp + 0xc]
xor esi, esi
test eax, eax
jle 0x464a2e
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xac]
mov edi, ebx
lea eax, [edx + ecx + 1]
neg edi
mov dword [ebp - 0xa0], eax
nop
mov edx, dword [ebp - 0xa0]
mov eax, edi
xor eax, ebx
mov ecx, esi
xor ecx, ebx
or eax, ecx
mov ecx, dword [ebp - 0xbc]
mov cl, byte [ecx + esi]
xor eax, esi
shr eax, 0x1f
neg eax
and eax, dword [ebp - 0x8c]
inc esi
movzx eax, al
mov dword [ebp - 0x90], eax
not eax
mov dword [ebp - 0x88], eax
mov al, byte [edx + esi - 1]
mov edx, dword [ebp - 0x88]
and dl, cl
mov ecx, dword [ebp - 0x90]
and cl, al
mov eax, dword [ebp - 0xbc]
or dl, cl
mov byte [eax + esi - 1], dl
inc edi
cmp esi, dword [ebp + 0xc]
jl 0x4649d0
push 0x107
push str.....crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.0040e790
mov esi, dword [ebp - 0x8c]
add esp, 0x14
and esi, 1
call fcn.0040f240
test eax, eax
je 0x464a90
mov edx, dword [eax + 0x180]
lea ecx, [esi - 1]
shr ecx, 0x1f
not esi
shr esi, 0x1f
and ecx, esi
neg ecx
mov dword [ebp - 0xa0], ecx
not ecx
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x88]
and ecx, 2
or dword [eax + edx*4], ecx
mov edi, dword [ebp - 0x94]
lea edx, [ebp - 0x44]
push 0x40
push edx
call fcn.00527a20
add esp, 8
test edi, edi
je 0x464ade
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x464abc
push eax
push edi
call fcn.00527a20
add esp, 8
mov esi, dword [fcn.00419900]
test esi, esi
je 0x464b26
cmp esi, fcn.00419900
je 0x464b26
push 0x10b
push str.....crypto_rsa_rsa_oaep.c
push edi
call esi
add esp, 0xc
mov esi, dword [fcn.00419900]
mov edi, dword [ebp - 0xa4]
test edi, edi
je 0x464b3a
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x464b08
push eax
push edi
call fcn.00527a20
mov esi, dword [fcn.00419900]
add esp, 8
test esi, esi
je 0x464b31
cmp esi, fcn.00419900
je 0x464b31
push 0x10c
push str.....crypto_rsa_rsa_oaep.c
push edi
call esi
add esp, 0xc
jmp 0x464b3a
push edi
call fcn.0057bec0
add esp, 4
jmp 0x464ae4
push edi
call fcn.0057bec0
add esp, 4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
not eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x88]
pop edi
and eax, ebx
pop esi
or eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
push 0x98
push str.....crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.0040e790
add esp, 0x14
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
or eax, 0xffffffff
pop ebx
call fcn.0057af8a
mov esp, ebp
pop ebp
ret