Function at 0x4711e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xb8
call fcn.0045c6a0
mov eax, dword [0x53e01c]
xor eax, esp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xd8]
push ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
push ebp
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
push esi
mov dword [esp + 0x38], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], eax
push edi
mov edi, dword [esp + 0xec]
test ecx, ecx
jne 0x471260
call fcn.0047f450
mov ecx, eax
mov dword [esp + 0x34], eax
test edi, edi
push ecx
cmove edi, ecx
mov dword [esp + 0x34], edi
call fcn.004812f0
add esp, 4
mov edi, eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0xd0], esi
jle 0x47164e
test ebp, ebp
jle 0x47164e
cmp ebx, ebp
jl 0x4715e8
lea eax, [edi*2 + 2]
cmp ebx, eax
jl 0x4715e8
mov ebp, ebx
push 0x9b
sub ebp, edi
dec ebp
push str..crypto_rsa_rsa_oaep.c
push ebp
mov dword [esp + 0x38], ebp
call fcn.00460dd0
push 0x9c
mov esi, eax
push str..crypto_rsa_rsa_oaep.c
push ebx
mov dword [esp + 0x3c], esi
call fcn.00460dd0
add esp, 0x18
mov dword [esp + 0x18], eax
test esi, esi
je 0x471623
test eax, eax
je 0x471623
push ebx
push 0
push eax
call fcn.004beec0
mov eax, dword [esp + 0x28]
sub ebx, eax
add ebx, dword [esp + 0x24]
push eax
push dword [esp + 0x20]
push ebx
call fcn.004bf020
mov ecx, dword [esp + 0x30]
push dword [esp + 0x48]
push ebp
movzx eax, byte [ecx]
lea ebx, [ecx + 1]
dec eax
shr eax, 0x1f
neg eax
mov dword [esp + 0x30], eax
lea eax, [ecx + 1]
add eax, edi
push eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x68]
push edi
push eax
call fcn.00470c20
add esp, 0x2c
test eax, eax
jne 0x47162d
xor edx, edx
test edi, edi
jle 0x471428
cmp edi, 0x40
jb 0x471412
lea eax, [ebx - 1]
lea ebp, [esp + 0x44]
add eax, edi
cmp ebp, eax
lea ecx, [esp + edi + 0x43]
mov ebp, dword [esp + 0x2c]
ja 0x471371
cmp ecx, ebx
jae 0x471412
mov eax, edi
and eax, 0x8000003f
jns 0x47137f
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, edi
lea esi, [esp + 0x54]
lea edi, [esp + 0x44]
sub ecx, eax
sub edi, ebx
lea eax, [ebx + 0x20]
sub esi, ebx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
nop word [eax + eax]
movups xmm0, xmmword [esp + edx + 0x44]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x60]
pxor xmm1, xmm0
movups xmmword [esp + edx + 0x44], xmm1
movups xmm0, xmmword [esp + edx + 0x54]
movups xmm1, xmmword [eax - 0x50]
pxor xmm1, xmm0
movups xmmword [esp + edx + 0x54], xmm1
add edx, 0x40
movups xmm0, xmmword [eax + esi - 0x40]
movups xmm1, xmmword [eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax + esi - 0x40], xmm1
movups xmm0, xmmword [eax + ebp - 0x40]
movups xmm1, xmmword [eax - 0x30]
pxor xmm1, xmm0
movups xmmword [eax + ebp - 0x40], xmm1
cmp edx, ecx
jl 0x4713b0
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], edx
cmp edx, edi
jge 0x471428
lea eax, [esp + 0x44]
sub ebx, eax
lea ecx, [esp + 0x44]
add ecx, edx
inc edx
mov al, byte [ecx + ebx]
xor byte [ecx], al
cmp edx, edi
jl 0x471418
push dword [esp + 0x30]
lea eax, [esp + 0x48]
push edi
push eax
push ebp
push esi
call fcn.00470c20
add esp, 0x14
test eax, eax
jne 0x47162d
xor ebx, ebx
test ebp, ebp
jle 0x471515
cmp ebp, 0x40
jb 0x4714f2
mov edx, dword [esp + 0x1c]
lea ecx, [ebp - 1]
add ecx, esi
lea eax, [edx - 1]
add eax, ebp
cmp esi, eax
ja 0x471471
cmp ecx, edx
jae 0x4714f2
mov eax, ebp
and eax, 0x8000003f
jns 0x47147f
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, ebp
sub ecx, eax
lea eax, [esi + 0x10]
mov dword [esp + 0x14], ecx
lea ecx, [edx + 0x30]
sub edx, esi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
nop dword [eax + eax]
movups xmm0, xmmword [eax - 0x10]
add ebx, 0x40
lea ecx, [ecx + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ecx - 0x70]
pxor xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [edi + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ecx - 0x50]
pxor xmm1, xmm0
movups xmm0, xmmword [ecx - 0x40]
movups xmmword [eax - 0x30], xmm1
movups xmm1, xmmword [eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp ebx, edx
jl 0x4714a0
mov edi, dword [esp + 0x20]
cmp ebx, ebp
jge 0x471515
mov edi, dword [esp + 0x1c]
lea ecx, [ebx + esi]
mov edx, ebp
sub edi, esi
sub edx, ebx
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub edx, 1
jne 0x471503
mov edi, dword [esp + 0x20]
push 0
push dword [esp + 0x38]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0xf4]
push dword [esp + 0x50]
call fcn.00483770
add esp, 0x18
test eax, eax
je 0x47162d
push edi
lea eax, [esp + 0x88]
push eax
push esi
call fcn.00460a10
mov edx, dword [esp + 0x1c]
add esp, 0xc
xor ebx, ebx
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and edx, ecx
mov dword [esp + 0x10], edx
cmp edi, ebp
jge 0x4715b7
movzx esi, byte [edi + esi]
mov ecx, ebx
mov edx, esi
not ecx
xor edx, 1
dec edx
shr edx, 0x1f
neg edx
and ecx, edx
or ebx, edx
mov edx, dword [esp + 0x10]
mov eax, ecx
not eax
and ecx, edi
and eax, dword [esp + 0x38]
inc edi
or ecx, eax
lea eax, [esi - 1]
mov esi, dword [esp + 0x24]
shr eax, 0x1f
neg eax
mov dword [esp + 0x38], ecx
or eax, ebx
and edx, eax
mov dword [esp + 0x10], edx
cmp edi, ebp
jl 0x471571
jmp 0x4715b9
xor ecx, ecx
test edx, ebx
je 0x4715e8
lea eax, [ecx + 1]
mov ebx, ebp
sub ebx, eax
cmp dword [esp + 0xd0], ebx
jge 0x471611
push 0xe1
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0xa1
push 4
call fcn.00461f80
add esp, 0x14
mov eax, 0x79
mov ecx, 0xee
push ecx
push str..crypto_rsa_rsa_oaep.c
push eax
push 0xa1
push 4
call fcn.00461f80
add esp, 0x14
or ebx, 0xffffffff
test esi, esi
je 0x471639
jmp 0x471630
push ebx
add eax, esi
push eax
push dword [esp + 0x48]
call fcn.004bf020
add esp, 0xc
jmp 0x471630
mov eax, 0x41
lea ecx, [eax + 0x5d]
jmp 0x4715f2
or ebx, 0xffffffff
push esi
call fcn.00460d50
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x47164a
push eax
call fcn.00460d50
add esp, 4
mov eax, ebx
jmp 0x471651
or eax, 0xffffffff
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045b5b0
add esp, 0xb8
ret