Function at 0x101d1cd0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc4
call fcn.10123c70
mov eax, dword [0x102ec100]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc8]
push ebx
mov dword [esp + 0x38], eax
xor ebx, ebx
mov eax, dword [esp + 0xdc]
push ebp
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], ebx
push esi
push edi
test eax, eax
jne 0x101d1d42
call fcn.101a1b20
mov dword [esp + 0x2c], eax
test ebp, ebp
push eax
cmove ebp, eax
mov dword [esp + 0x44], ebp
call fcn.1017d770
add esp, 4
mov edi, eax
mov dword [esp + 0x14], edi
cmp dword [esp + 0xdc], ebx
jle 0x101d235d
mov esi, dword [esp + 0xe4]
test esi, esi
jle 0x101d235d
mov ecx, dword [esp + 0x38]
cmp ecx, esi
jl 0x101d2342
lea eax, [edi*2 + 2]
cmp ecx, eax
jl 0x101d2342
mov ebp, ecx
push 0x9d
sub ebp, edi
dec ebp
push str.crypto_rsa_rsa_oaep.c
push ebp
mov dword [esp + 0x24], ebp
call fcn.101874b0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x101d1dd5
push 0x9f
push str.crypto_rsa_rsa_oaep.c
push 0x41
push 0x99
push 4
call fcn.1017c970
add esp, 0x14
jmp 0x101d22fc
push 0xa3
push str.crypto_rsa_rsa_oaep.c
push dword [esp + 0x40]
call fcn.101874b0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x101d1dfc
push 0xa6
jmp 0x101d1dba
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0x38]
add edx, esi
add ecx, eax
mov dword [esp + 0x28], ecx
test eax, eax
jle 0x101d1e47
mov ebx, eax
mov ebp, ecx
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 ebx, 1
jne 0x101d1e17
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
push dword [esp + 0x40]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add eax, edi
lea esi, [ecx + 1]
push ebp
push eax
lea ebx, [ebx - 1]
mov dword [esp + 0x40], eax
shr ebx, 0x1f
lea eax, [esp + 0x5c]
push edi
neg ebx
mov dword [esp + 0x34], esi
push eax
mov dword [esp + 0x24], ebx
call fcn.101d1680
add esp, 0x14
test eax, eax
jne 0x101d22fc
xor edx, edx
test edi, edi
jle 0x101d1fa5
cmp edi, 8
jb 0x101d1f8f
lea eax, [esi - 1]
lea ebp, [esp + 0x50]
add eax, edi
cmp ebp, eax
lea ecx, [esp + edi + 0x4f]
mov ebp, dword [esp + 0x18]
ja 0x101d1eb2
cmp ecx, esi
jae 0x101d1f8f
cmp edi, 0x40
jb 0x101d1f54
mov eax, edi
and eax, 0x8000003f
jns 0x101d1ec9
dec eax
or eax, 0xffffffc0
inc eax
lea ebp, [esp + 0x50]
mov ecx, edi
sub ebp, esi
lea ebx, [esp + 0x50]
mov dword [esp + 0x48], ebp
sub ecx, eax
mov edi, dword [esp + 0x48]
lea ebp, [esp + 0x60]
sub ebp, esi
lea eax, [esi + 0x20]
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x4c]
movups xmm0, xmmword [ebx + edx]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x60]
xorps xmm1, xmm0
movups xmmword [ebx + 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 [edi + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [edi + eax - 0x40], xmm1
movups xmm1, xmmword [eax - 0x30]
movups xmm0, xmmword [esi + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [esi + eax - 0x40], xmm1
cmp edx, ecx
jl 0x101d1ef4
mov edi, dword [esp + 0x14]
mov eax, edi
mov ebx, dword [esp + 0x10]
and al, 0x3f
mov esi, dword [esp + 0x24]
cmp al, 8
jb 0x101d1f8b
mov eax, edi
and eax, 0x80000007
jns 0x101d1f62
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, edi
sub ecx, eax
nop word [eax + eax]
movq xmm1, qword [esi + edx]
movq xmm0, qword [esp + edx + 0x50]
xorps xmm1, xmm0
movq qword [esp + edx + 0x50], xmm1
add edx, 8
cmp edx, ecx
jl 0x101d1f70
cmp edx, edi
jge 0x101d1fa5
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, edi
jl 0x101d1f95
push dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x54]
push edi
push eax
push ebp
push esi
call fcn.101d1680
add esp, 0x14
test eax, eax
jne 0x101d22fc
xor edx, edx
test ebp, ebp
jle 0x101d20f7
cmp ebp, 8
jb 0x101d20d0
mov ecx, dword [esp + 0x34]
lea eax, [ecx - 1]
add eax, ebp
cmp esi, eax
ja 0x101d1ff2
lea eax, [esi - 1]
add eax, ebp
cmp eax, ecx
jae 0x101d20d0
cmp ebp, 0x40
jb 0x101d2088
mov eax, ebp
and eax, 0x8000003f
jns 0x101d2009
dec eax
or eax, 0xffffffc0
inc eax
mov edi, dword [esp + 0x34]
add ecx, 0x30
mov dword [esp + 0x10], ebp
sub dword [esp + 0x10], eax
sub edi, esi
mov dword [esp + 0x24], edi
lea eax, [esi + 0x10]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
nop dword [eax]
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 [esi + 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 + 0x10]
jl 0x101d2030
mov esi, dword [esp + 0x1c]
mov eax, ebp
and al, 0x3f
cmp al, 8
jb 0x101d20d0
mov eax, ebp
and eax, 0x80000007
jns 0x101d2096
dec eax
or eax, 0xfffffff8
inc eax
mov edi, dword [esp + 0x34]
mov ecx, ebp
sub ecx, eax
sub edi, esi
mov dword [esp + 0x24], edi
lea eax, [edx + esi]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
nop
movq xmm1, qword [eax + ebp]
lea eax, [eax + 8]
movq xmm0, qword [eax - 8]
add edx, 8
xorps xmm1, xmm0
movq qword [eax - 8], xmm1
cmp edx, ecx
jl 0x101d20b0
mov ebp, dword [esp + 0x18]
cmp edx, ebp
jge 0x101d20f7
mov edi, dword [esp + 0x34]
lea ecx, [edx + esi]
sub edi, esi
mov esi, ebp
sub esi, edx
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub esi, 1
jne 0x101d20e1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push 0
push dword [esp + 0x30]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x100]
push dword [esp + 0x44]
call fcn.10196c80
add esp, 0x18
test eax, eax
je 0x101d22fc
push edi
lea eax, [esp + 0x94]
push eax
push esi
call fcn.10001390
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and ebx, ecx
mov dword [esp + 0x10], ebx
xor ebx, ebx
cmp edx, ebp
jge 0x101d21a1
mov ebp, dword [esp + 0x10]
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 eax, ecx
and ecx, edi
not eax
inc edi
and eax, dword [esp + 0x20]
or eax, ecx
mov dword [esp + 0x20], eax
lea eax, [esi - 1]
mov esi, dword [esp + 0x1c]
shr eax, 0x1f
neg eax
or eax, ebx
and ebp, eax
cmp edi, dword [esp + 0x18]
jl 0x101d2157
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0xdc]
mov eax, ebp
sub eax, dword [esp + 0x20]
mov esi, ebp
dec eax
sub esi, edx
sub ecx, eax
mov dword [esp + 0x3c], eax
xor ecx, eax
xor eax, dword [esp + 0xdc]
or ecx, eax
mov eax, dword [esp + 0xdc]
xor ecx, eax
lea edi, [esi - 1]
shr ecx, 0x1f
dec ecx
mov dword [esp + 0x20], edi
and ecx, ebx
mov ebx, dword [esp + 0x10]
and ebx, ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x10], ebx
xor ecx, eax
mov eax, edi
xor eax, dword [esp + 0xdc]
or ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, edi
shr ecx, 0x1f
neg ecx
mov edi, ecx
and eax, ecx
not edi
and edi, dword [esp + 0xdc]
or edi, eax
mov dword [esp + 0x2c], edi
mov edi, 1
cmp dword [esp + 0x20], edi
jle 0x101d227f
sub esi, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x30], edx
lea eax, [esi - 1]
mov dword [esp + 0x24], eax
nop
and eax, edi
mov esi, ebp
sub esi, edi
lea ebx, [eax - 1]
not eax
shr ebx, 0x1f
shr eax, 0x1f
and ebx, eax
dec ebx
cmp edx, esi
jge 0x101d226f
mov eax, dword [esp + 0x1c]
mov ch, bl
add eax, edx
not ch
sub esi, edx
mov dl, byte [eax + edi]
lea eax, [eax + 1]
mov cl, byte [eax - 1]
and dl, bl
and cl, ch
or dl, cl
mov byte [eax - 1], dl
sub esi, 1
jne 0x101d2254
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add edi, edi
cmp edi, dword [esp + 0x20]
jl 0x101d2230
mov ebx, dword [esp + 0x10]
xor edx, edx
cmp dword [esp + 0x2c], edx
jle 0x101d22d6
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
inc edi
shr eax, 0x1f
neg esi
add edi, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea edi, [edi + 1]
mov ebp, dword [esp + 0x44]
mov ecx, esi
shr ecx, 0x1f
inc esi
xor cl, al
or cl, al
neg cl
and cl, bl
mov al, cl
and cl, byte [edi - 1]
not al
and al, byte [edx + ebp]
or al, cl
mov ecx, ebp
mov byte [ecx + edx], al
inc edx
cmp edx, dword [esp + 0x2c]
jl 0x101d22a1
mov ebp, dword [esp + 0x18]
push 0x107
push str.crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.1017c970
mov eax, ebx
and eax, 1
push eax
call fcn.1017cbc0
add esp, 0x18
lea eax, [esp + 0x50]
push 0x40
push eax
call fcn.10001320
push 0x10b
push str.crypto_rsa_rsa_oaep.c
push ebp
push dword [esp + 0x30]
call fcn.101875c0
push 0x10c
push str.crypto_rsa_rsa_oaep.c
push dword [esp + 0x58]
push dword [esp + 0x4c]
call fcn.101875c0
mov eax, ebx
add esp, 0x28
and eax, dword [esp + 0x3c]
not ebx
or eax, ebx
jmp 0x101d2360
push 0x98
push str.crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.1017c970
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [esp + 0xd0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10123194
add esp, 0xc4
ret