Function at 0x5922e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc4
call fcn.00655180
mov eax, dword [0x716f80]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc8]
push ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xdc]
push ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe4]
push esi
push edi
mov dword [esp + 0x10], eax
xor edi, edi
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], 0
test eax, eax
jne 0x592356
call fcn.00569440
mov dword [esp + 0x30], eax
test ebx, ebx
push eax
cmove ebx, eax
mov dword [esp + 0x30], ebx
call fcn.005139d0
add esp, 4
mov ebp, eax
mov dword [esp + 0x28], ebp
cmp dword [esp + 0xdc], edi
jle 0x5929bc
mov esi, dword [esp + 0xe4]
test esi, esi
jle 0x5929bc
test ebp, ebp
jle 0x5929bc
mov ecx, dword [esp + 0x44]
cmp ecx, esi
jl 0x592995
lea eax, [ebp*2 + 2]
cmp ecx, eax
jl 0x592995
mov ebx, ecx
push 0xcb
sub ebx, ebp
dec ebx
push str.crypto_rsa_rsa_oaep.c
push ebx
mov dword [esp + 0x28], ebx
call fcn.0050e9b0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x59293f
mov edi, dword [esp + 0x44]
push 0xcf
push str.crypto_rsa_rsa_oaep.c
push edi
call fcn.0050e9b0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x59293b
mov edx, dword [esp + 0xe0]
add ecx, edi
add edx, esi
mov dword [esp + 0x14], ecx
test edi, edi
jle 0x592440
mov ebp, ecx
nop
mov eax, esi
lea ecx, [esi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec ebp
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub edx, eax
sub esi, eax
and cl, byte [edx]
mov byte [ebp], cl
sub edi, 1
jne 0x592410
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx]
lea edi, [ecx + 1]
push dword [esp + 0x2c]
dec eax
lea esi, [ecx + 1]
shr eax, 0x1f
add edi, ebp
push ebx
neg eax
mov dword [esp + 0x28], esi
push edi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x5c]
push ebp
push eax
mov dword [esp + 0x50], edi
call fcn.00592120
add esp, 0x14
test eax, eax
jne 0x59293b
xor edx, edx
cmp ebp, 8
jb 0x59257f
lea eax, [ebp - 1]
lea ebx, [esp + 0x50]
add eax, esi
cmp ebx, eax
lea ecx, [esp + ebp + 0x4f]
mov ebx, dword [esp + 0x1c]
ja 0x5924a1
cmp ecx, esi
jae 0x59257f
cmp ebp, 0x40
jb 0x592543
mov eax, ebp
and eax, 0x8000003f
jns 0x5924b8
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, ebp
lea edi, [esp + 0x50]
sub edi, esi
lea ebx, [esp + 0x60]
sub ecx, eax
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x3c]
lea eax, [esi + 0x20]
sub ebx, esi
lea esi, [esp + 0x50]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x34]
movups xmm0, xmmword [esi + edx]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x60]
xorps xmm1, xmm0
movups xmmword [esi + edx], xmm1
movups xmm0, xmmword [esp + edx + 0x60]
movups xmm1, xmmword [eax - 0x50]
xorps xmm1, xmm0
movups xmmword [esp + edx + 0x60], xmm1
add edx, 0x40
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [ebx + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [ebx + eax - 0x40], xmm1
movups xmm1, xmmword [eax - 0x30]
movups xmm0, xmmword [eax + ebp - 0x40]
xorps xmm1, xmm0
movups xmmword [eax + ebp - 0x40], xmm1
cmp edx, ecx
jl 0x5924e3
mov ebp, dword [esp + 0x28]
mov eax, ebp
mov ebx, dword [esp + 0x1c]
and al, 0x3f
mov esi, dword [esp + 0x20]
cmp al, 8
jb 0x59257b
mov eax, ebp
and eax, reloc.WS2_32.dll_getsockopt
jns 0x592551
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, ebp
sub ecx, eax
nop word [eax + eax]
movq xmm1, qword [edx + esi]
movq xmm0, qword [esp + edx + 0x50]
xorps xmm1, xmm0
movq qword [esp + edx + 0x50], xmm1
add edx, 8
cmp edx, ecx
jl 0x592560
cmp edx, ebp
jge 0x592595
lea eax, [esp + 0x50]
sub esi, eax
lea ecx, [esp + 0x50]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, ebp
jl 0x592585
push dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x54]
push ebp
push eax
push ebx
push esi
call fcn.00592120
add esp, 0x14
test eax, eax
jne 0x59293b
xor edx, edx
test ebx, ebx
jle 0x5926c2
cmp ebx, 8
jb 0x5926a2
lea eax, [edi - 1]
lea ecx, [esi - 1]
add eax, ebx
add ecx, ebx
cmp esi, eax
ja 0x5925de
cmp ecx, edi
jae 0x5926a2
cmp ebx, 0x40
jb 0x59266b
mov eax, ebx
and eax, 0x8000003f
jns 0x5925f5
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, ebx
mov ebp, edi
sub ecx, eax
sub ebp, esi
mov dword [esp + 0x20], ebp
lea eax, [esi + 0x10]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
lea ecx, [edi + 0x30]
mov edi, dword [esp + 0x20]
movups xmm0, xmmword [eax - 0x10]
add edx, 0x40
lea ecx, [ecx + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ecx - 0x70]
xorps xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [edi + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ecx - 0x50]
xorps xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm1, xmmword [eax - 0x20]
movups xmm0, xmmword [ecx - 0x40]
xorps xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp edx, dword [esp + 0x34]
jl 0x592613
mov edi, dword [esp + 0x3c]
mov eax, ebx
and al, 0x3f
cmp al, 8
jb 0x5926a2
mov eax, ebx
and eax, reloc.WS2_32.dll_getsockopt
jns 0x592679
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, ebx
sub ecx, eax
lea eax, [edx + esi]
sub edi, esi
movq xmm1, qword [edi + eax]
lea eax, [eax + 8]
movq xmm0, qword [eax - 8]
add edx, 8
xorps xmm1, xmm0
movq qword [eax - 8], xmm1
cmp edx, ecx
jl 0x592682
mov edi, dword [esp + 0x3c]
cmp edx, ebx
jge 0x5926c2
lea ecx, [edx + esi]
sub edi, esi
mov esi, ebx
sub esi, edx
nop
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub esi, 1
jne 0x5926b0
mov esi, dword [esp + 0x24]
push 0
push dword [esp + 0x34]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x100]
push dword [esp + 0x24]
call fcn.00528600
add esp, 0x18
test eax, eax
je 0x59293b
push ebp
lea eax, [esp + 0x94]
push eax
push esi
call fcn.00401390
mov edx, dword [esp + 0x24]
add esp, 0xc
xor ebx, ebx
mov edi, ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x1c]
neg ecx
and edx, ecx
mov dword [esp + 0x18], edx
cmp ebp, eax
jge 0x592780
mov ebp, eax
movzx esi, byte [esi + edi]
mov eax, ebx
mov edx, esi
not eax
xor edx, 1
dec edx
shr edx, 0x1f
neg edx
and eax, edx
or ebx, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
not eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], eax
and ecx, edi
mov eax, dword [esp + 0x10]
inc edi
and eax, dword [esp + 0x40]
or ecx, eax
lea eax, [esi - 1]
mov esi, dword [esp + 0x24]
shr eax, 0x1f
neg eax
mov dword [esp + 0x40], ecx
or eax, ebx
and edx, eax
mov dword [esp + 0x18], edx
cmp edi, ebp
jl 0x592726
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xdc]
dec eax
sub ecx, eax
mov dword [esp + 0x38], eax
xor ecx, eax
xor eax, dword [esp + 0xdc]
or ecx, eax
mov eax, dword [esp + 0xdc]
xor ecx, eax
shr ecx, 0x1f
dec ecx
and ecx, ebx
mov ebx, dword [esp + 0x1c]
and edx, ecx
mov esi, ebx
mov dword [esp + 0x18], edx
sub esi, ebp
lea edi, [esi - 1]
mov edx, edi
mov dword [esp + 0x30], edi
sub edx, eax
xor edx, eax
mov eax, edi
xor eax, dword [esp + 0xdc]
or edx, eax
xor edx, edi
shr edx, 0x1f
neg edx
mov dword [esp + 0x10], edx
not edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], edx
mov edx, edi
mov eax, dword [esp + 0x10]
and edx, ecx
and eax, dword [esp + 0xdc]
mov edi, 1
or edx, eax
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x30], edi
jle 0x592896
sub esi, dword [esp + 0x38]
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
lea eax, [esi - 1]
mov dword [esp + 0x48], eax
nop dword [eax]
and eax, edi
mov esi, ebx
sub esi, edi
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
dec ecx
cmp edx, esi
jge 0x592882
mov eax, dword [esp + 0x24]
movzx ecx, cl
add eax, edx
mov ebp, ecx
mov dword [esp + 0x20], ecx
not ebp
sub esi, edx
nop dword [eax + eax]
mov dword [esp + 0x10], ecx
lea eax, [eax + 1]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x10]
mov bl, byte [edi + eax - 1]
and dl, byte [eax - 1]
and bl, cl
mov ecx, dword [esp + 0x20]
or bl, dl
mov byte [eax - 1], bl
sub esi, 1
jne 0x592850
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
add edi, edi
cmp edi, dword [esp + 0x30]
jl 0x592820
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
xor esi, esi
test edx, edx
jle 0x592907
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
inc eax
mov ebx, dword [esp + 0x18]
neg edi
shr ecx, 0x1f
add ebp, eax
mov dword [esp + 0x20], ecx
mov eax, edi
lea ebp, [ebp + 1]
shr eax, 0x1f
inc edi
xor al, cl
or al, cl
neg al
movzx ecx, al
movzx eax, bl
and ecx, eax
mov dword [esp + 0x10], ecx
not ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov dl, byte [ebp - 1]
and dl, al
mov eax, dword [esp + 0x4c]
mov al, byte [eax + esi]
and al, cl
mov ecx, dword [esp + 0x20]
or dl, al
mov eax, dword [esp + 0x4c]
mov byte [eax + esi], dl
inc esi
cmp esi, dword [esp + 0x2c]
jl 0x5928b8
mov ebx, dword [esp + 0x1c]
call fcn.00514490
push str.RSA_padding_check_PKCS1_OAEP_mgf1
push 0x134
push str.crypto_rsa_rsa_oaep.c
call fcn.00514590
push 0
push 0x79
push 4
call fcn.005146a0
mov eax, dword [esp + 0x30]
and eax, 1
push eax
call fcn.0052c5d0
add esp, 0x1c
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x50]
push 0x40
push eax
call fcn.00401320
push 0x139
push str.crypto_rsa_rsa_oaep.c
push ebx
push dword [esp + 0x38]
call fcn.0050ead0
mov eax, dword [esp + 0x5c]
push 0x13a
push str.crypto_rsa_rsa_oaep.c
push eax
push edi
call fcn.0050ead0
mov ecx, dword [esp + 0x40]
add esp, 0x28
mov dword [esp + 0x10], ecx
not ecx
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
or eax, ecx
jmp 0x5929bf
call fcn.00514490
push str.RSA_padding_check_PKCS1_OAEP_mgf1
push 0xc6
push str.crypto_rsa_rsa_oaep.c
call fcn.00514590
push 0
push 0x79
push 4
call fcn.005146a0
add esp, 0x18
or eax, 0xffffffff
mov ecx, dword [esp + 0xd0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0065469c
add esp, 0xc4
ret