Function at 0x460760
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov edx, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
mov ecx, dword [esp + 0xb4]
test edx, edx
jne 0x46079e
push 0x450cd0
push 0x53f904
mov esi, ecx
call sym.fastboot.exe_CRYPTO_once
mov ecx, esi
add esp, 8
mov edx, 0x53f908
mov ebx, dword [edx + 4]
test edi, edi
cmove edi, edx
xor esi, esi
lea eax, [ebx + ebx + 2]
cmp eax, ecx
jbe 0x4607d0
push 0x1db
push str.external_boringssl_src_crypto_fipsmodule_rsa_padding.c
push 0x85
push 0
push 4
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
jmp 0x460a1a
mov ebp, ebx
mov dword [esp + 8], edx
not ebp
add ebp, ecx
push ebp
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x460a00
mov esi, eax
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0x10]
mov edx, ebx
lea eax, [eax + ebx + 1]
push edi
push ebp
mov dword [esp + 8], eax
push eax
call fcn.004605d0
add esp, 0xc
test eax, eax
je 0x460a1a
test ebx, ebx
je 0x46087d
xor eax, eax
cmp ebx, 0x1f
jbe 0x460861
mov eax, ebx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
xor ecx, ecx
and eax, 0xffffffe0
movups xmm0, xmmword [ebx + ecx + 1]
movups xmm2, xmmword [esp + ecx + 0x10]
movups xmm1, xmmword [ebx + ecx + 0x11]
movups xmm3, xmmword [esp + ecx + 0x20]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [esp + ecx + 0x10], xmm2
movups xmmword [esp + ecx + 0x20], xmm3
add ecx, 0x20
cmp eax, ecx
jne 0x460830
mov ebx, edx
cmp edx, eax
je 0x46087d
mov ecx, dword [esp + 0xb0]
inc ecx
nop dword [eax]
movzx edx, byte [ecx + eax]
xor byte [esp + eax + 0x10], dl
inc eax
cmp ebx, eax
jne 0x460870
mov ecx, esi
mov edx, ebp
push edi
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.004605d0
add esp, 0xc
test eax, eax
je 0x460a1a
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp]
test ebp, ebp
je 0x46093c
xor edx, edx
cmp ebp, 0x1f
jbe 0x460930
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
lea eax, [edi + eax]
mov edi, dword [esp]
cmp esi, eax
jae 0x4608d0
lea eax, [esi + ebp]
cmp edi, eax
jb 0x460930
mov eax, dword [esp + 0xb0]
mov edx, ebp
mov dword [esp + 4], ebx
and edx, 0xffffffe0
lea edi, [eax + ebx + 0x11]
xor eax, eax
nop word cs:[eax + eax]
movups xmm0, xmmword [edi + eax - 0x10]
movups xmm2, xmmword [esi + eax]
movups xmm1, xmmword [edi + eax]
movups xmm3, xmmword [esi + eax + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [esi + eax], xmm2
movups xmmword [esi + eax + 0x10], xmm3
add eax, 0x20
cmp edx, eax
jne 0x4608f0
mov ebx, dword [esp + 4]
mov edi, dword [esp]
cmp ebp, edx
je 0x46093c
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [edi + edx]
xor byte [esi + edx], al
inc edx
cmp ebp, edx
jne 0x460930
sub esp, 4
lea edi, [esp + 0x54]
push dword [esp + 0xc]
push 0
push edi
push ecx
push dword [esp + 0xcc]
call sym.fastboot.exe_EVP_Digest
add esp, 0x18
test eax, eax
je 0x460a1a
push ebx
push edi
push esi
call sym.fastboot.exe_CRYPTO_memcmp
add esp, 0xc
mov ecx, dword [esp + 0xb0]
mov edx, eax
dec eax
not edx
movzx ecx, byte [ecx]
dec ecx
and ecx, edx
and ecx, eax
sar ecx, 0x1f
cmp ebx, ebp
not ecx
jae 0x460a30
mov edi, dword [esp + 0xb4]
lea eax, [ebx + ebx]
mov dword [esp], ecx
mov ecx, ebx
mov edx, 0xffffffff
mov dword [esp + 4], ebp
mov dword [esp + 0xc], esi
dec edi
sub edi, eax
xor eax, eax
nop
mov ebx, edx
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc]
movzx esi, byte [edx + ecx]
mov edx, esi
dec esi
xor edx, 1
sar esi, 0x1f
dec edx
not esi
sar edx, 0x1f
mov ebp, edx
not edx
and edx, dword [esp + 8]
and ebp, ebx
mov ebx, ebp
not ebp
and ebx, ecx
and eax, ebp
inc ecx
or eax, ebx
and esi, edx
or dword [esp], esi
mov esi, dword [esp + 0xc]
dec edi
jne 0x4609b0
mov ebp, dword [esp + 4]
mov ecx, dword [esp]
inc eax
or ecx, edx
jne 0x4607b0
jmp 0x460a42
push 0x19c
push str.external_boringssl_src_crypto_fipsmodule_rsa_padding.c
push 0x41
push 0
push 4
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor esi, esi
push esi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
xor eax, eax
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 1
mov edx, 0xffffffff
or ecx, edx
jne 0x4607b0
sub ebp, eax
cmp ebp, dword [esp + 0xac]
jbe 0x460a5e
push 0x1cf
push str.external_boringssl_src_crypto_fipsmodule_rsa_padding.c
push 0x71
jmp 0x4607bf
mov edi, dword [esp + 0xa8]
test ebp, ebp
je 0x460a7e
mov ecx, esi
add ecx, eax
push ebp
push ecx
push dword [esp + 0xac]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [edi], ebp
push esi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, 1
jmp 0x460a25