Function at 0x5621d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov edi, dword [ebp + 0x34]
mov eax, dword [0x7a8498]
xor eax, ebp
mov dword [esp + 0x198], eax
add edi, dword [ebp + 0x28]
jae 0x562206
push 0x3d2
push str..._.._third_party_boringssl_src_crypto_fipsmodule_cipher_e_aes.c
push 0x75
jmp 0x56231f
cmp edi, dword [ebp + 0x10]
jbe 0x56221c
push 0x3d6
push str..._.._third_party_boringssl_src_crypto_fipsmodule_cipher_e_aes.c
push 0x67
jmp 0x56231f
cmp dword [ebp + 0x18], 0
je 0x562313
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov edi, ecx
mov esi, dword [ebp + 0x30]
lea ebx, [esp + 0x10]
push 0x180
push 0
push ebx
call fcn.006ccfc0
add esp, 0xc
lea eax, [edi + 0xf8]
lea ecx, [esp + 0x60]
push 0x120
push eax
push ecx
call fcn.006cca40
add esp, 0xc
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push ebx
call fcn.005561d0
add esp, 0x10
test esi, esi
je 0x5624d5
mov dword [esp + 8], edi
mov eax, dword [esp + 0x48]
xor ebx, ebx
or eax, dword [esp + 0x4c]
jne 0x56232d
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
add edx, esi
adc eax, 0
mov ecx, edx
neg ecx
mov ecx, 0x20000000
sbb ecx, eax
jb 0x56232d
mov ebx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x174]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x184]
test eax, eax
je 0x562345
nop dword [eax]
movzx edx, byte [ebx]
xor byte [esp + eax + 0x50], dl
add ebx, 1
lea edx, [esi - 1]
add eax, 1
and eax, 0xf
je 0x5622ec
cmp esi, 1
mov esi, edx
jne 0x5622d0
test eax, eax
jne 0x5624ca
mov esi, edi
mov edi, edx
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x54]
push eax
call ecx
mov edx, edi
mov edi, esi
add esp, 8
jmp 0x562347
push 0x3da
push str..._.._third_party_boringssl_src_crypto_fipsmodule_cipher_e_aes.c
push 0x6f
push 0
push 0x1e
call fcn.00590370
add esp, 0x14
xor ebx, ebx
mov ecx, dword [esp + 0x198]
xor ecx, ebp
call fcn.006c9121
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, esi
mov esi, edx
and esi, 0xfffffff0
je 0x562374
mov ecx, edi
mov dword [esp + 4], edx
call dword [section..00cfg]
push esi
push ebx
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x5c]
push eax
call edi
mov edx, dword [esp + 0x14]
add esp, 0x10
add ebx, esi
and edx, 0xf
xor eax, eax
test edx, edx
je 0x5624ca
cmp edx, 8
jb 0x562476
lea ecx, [esp + 0x50]
mov edi, edx
add edx, ebx
cmp edx, ecx
mov edx, edi
jbe 0x5623a3
lea ecx, [esp + edx]
add ecx, 0x50
cmp ebx, ecx
jb 0x562476
xor eax, eax
cmp edx, 0x20
jb 0x56244f
mov eax, edx
and eax, 0xffffffe0
lea ecx, [eax - 0x20]
mov edx, ecx
shr edx, 5
add edx, 1
test ecx, ecx
je 0x56241a
mov esi, edx
and esi, 0xfffffffe
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx]
movups xmm1, xmmword [ebx + ecx + 0x10]
xorps xmm0, xmmword [esp + ecx + 0x50]
xorps xmm1, xmmword [esp + ecx + 0x60]
movaps xmmword [esp + ecx + 0x50], xmm0
movaps xmmword [esp + ecx + 0x60], xmm1
movdqu xmm0, xmmword [ebx + ecx + 0x20]
movdqu xmm1, xmmword [ebx + ecx + 0x30]
pxor xmm0, xmmword [esp + ecx + 0x70]
pxor xmm1, xmmword [esp + ecx + 0x80]
movdqa xmmword [esp + ecx + 0x70], xmm0
movdqa xmmword [esp + ecx + 0x80], xmm1
add ecx, 0x40
add esi, 0xfffffffe
jne 0x5623c9
jmp 0x56241c
xor ecx, ecx
test dl, 1
je 0x562444
movdqu xmm0, xmmword [ebx + ecx]
movdqu xmm1, xmmword [ebx + ecx + 0x10]
pxor xmm0, xmmword [esp + ecx + 0x50]
pxor xmm1, xmmword [esp + ecx + 0x60]
movdqa xmmword [esp + ecx + 0x50], xmm0
movdqa xmmword [esp + ecx + 0x60], xmm1
mov edx, edi
cmp edi, eax
je 0x5624c8
test dl, 0x18
je 0x562476
mov ecx, eax
mov eax, edx
and eax, 0xfffffff8
movq xmm0, qword [ebx + ecx]
movq xmm1, qword [esp + ecx + 0x50]
pxor xmm1, xmm0
movq qword [esp + ecx + 0x50], xmm1
add ecx, 8
cmp eax, ecx
jne 0x562456
cmp edx, eax
je 0x5624c8
mov esi, eax
not esi
add esi, edx
mov edi, edx
and edx, 3
je 0x562493
movzx ecx, byte [ebx + eax]
xor byte [esp + eax + 0x50], cl
add eax, 1
add edx, 0xffffffff
jne 0x562483
cmp esi, 3
jae 0x56249c
mov eax, edi
jmp 0x5624ca
mov edx, edi
movzx ecx, byte [ebx + eax]
xor byte [esp + eax + 0x50], cl
movzx ecx, byte [ebx + eax + 1]
xor byte [esp + eax + 0x51], cl
movzx ecx, byte [ebx + eax + 2]
xor byte [esp + eax + 0x52], cl
movzx ecx, byte [ebx + eax + 3]
xor byte [esp + eax + 0x53], cl
add eax, 4
cmp edx, eax
jne 0x56249e
mov eax, edx
mov dword [esp + 0x184], eax
mov edi, dword [esp + 8]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edx, dword [edi + 0x218]
test edx, edx
mov esi, edi
je 0x5624fe
push edx
push ecx
push dword [esp + 8]
push eax
push esi
lea edi, [esp + 0x24]
push edi
call fcn.00556fe0
add esp, 0x18
jmp 0x562512
push ecx
push dword [esp + 4]
push eax
push esi
lea edi, [esp + 0x20]
push edi
call fcn.005565d0
add esp, 0x14
test eax, eax
mov edx, dword [ebp + 0x28]
je 0x56232b
mov ebx, dword [ebp + 8]
test edx, edx
je 0x56255d
mov eax, dword [ebp + 0x24]
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x562548
push ecx
push edx
push ebx
push eax
push esi
push edi
call fcn.00556fe0
add esp, 0x18
test eax, eax
jne 0x56255d
jmp 0x56232b
push edx
push ebx
push eax
push esi
push edi
call fcn.005565d0
add esp, 0x14
test eax, eax
je 0x56232b
mov edi, dword [esp + 0x170]
mov eax, dword [esp + 0x180]
or eax, dword [esp + 0x184]
je 0x56258b
lea esi, [esp + 0x70]
lea ebx, [esp + 0x50]
mov ecx, edi
call dword [section..00cfg]
push esi
push ebx
call edi
add esp, 8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
shld ecx, eax, 3
shl eax, 3
push ecx
push eax
call fcn.006d7f32
add esp, 8
mov esi, eax
mov ebx, edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
shld ecx, eax, 3
shl eax, 3
push ecx
push eax
call fcn.006d7f32
add esp, 8
movd xmm0, ebx
movd xmm1, esi
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm2, eax
punpckldq xmm2, xmm0
punpcklqdq xmm1, xmm2
pxor xmm1, xmmword [esp + 0x50]
movdqa xmmword [esp + 0x50], xmm1
lea esi, [esp + 0x70]
mov ecx, edi
call dword [section..00cfg]
push esi
lea esi, [esp + 0x54]
push esi
call edi
add esp, 8
movdqa xmm0, xmmword [esp + 0x50]
pxor xmm0, xmmword [esp + 0x30]
movdqa xmmword [esp + 0x50], xmm0
mov ecx, dword [ebp + 0x34]
cmp ecx, 0x10
mov eax, 0x10
cmovb eax, ecx
test eax, eax
je 0x562635
mov edi, dword [ebp + 8]
add edi, dword [ebp + 0x28]
push eax
push esi
push edi
call fcn.006cca40
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ebx, 1
jmp 0x56232d