Function at 0x6110d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
call fcn.005b8930
mov esi, eax
test eax, eax
je 0x611141
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
test ebp, ebp
cmove ebp, eax
push eax
call fcn.005c36b0
add esp, 4
test eax, eax
js 0x611141
mov ecx, dword [esp + 0x90]
mov edx, eax
cmp ecx, 0xffffffff
je 0x61114a
mov edx, ecx
cmp ecx, 0xfffffffb
jg 0x61114a
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x46
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x88
push 4
call fcn.005b5d00
add esp, 0xc
xor ebx, ebx
xor edi, edi
jmp 0x6111f1
mov dword [esp + 0x10], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x7c]
push dword [edi + 0x14]
call fcn.00588180
add esp, 4
mov ebx, eax
dec ebx
and ebx, 7
push edi
call fcn.00609410
add esp, 4
movzx edx, byte [esi]
mov ecx, ebx
shr edx, cl
test edx, edx
je 0x6111a8
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x4d
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x85
jmp 0x6111df
xor ecx, ecx
test ebx, ebx
sete cl
mov edi, eax
mov dword [esp + 4], ecx
sub edi, ecx
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 2]
cmp edi, edx
jge 0x611217
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x55
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x6d
push 4
call fcn.005b5d00
add esp, 0xc
xor ebx, ebx
xor edi, edi
mov esi, dword [esp + 8]
push 0x8c
push str.crypto_rsa_rsa_pss.c
push edi
call fcn.005db5b0
add esp, 0xc
push esi
call fcn.005b8950
add esp, 4
mov eax, ebx
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, edi
mov dword [esp], edi
sub edx, ecx
add edx, 0xfffffffe
mov esi, dword [esp + 0x10]
cmp esi, 0xfffffffd
je 0x61123e
cmp esi, edx
mov edx, esi
jle 0x61123e
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x5b
jmp 0x6111ce
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 4]
add esi, edi
mov edi, dword [esp]
mov dword [esp + 0x20], esi
cmp byte [esi + edi - 1], 0xbc
mov esi, dword [esp + 8]
jne 0x6114be
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
not ecx
mov dword [esp + 0x18], ecx
add edi, ecx
mov dword [esp], edi
push 0x64
push str.crypto_rsa_rsa_pss.c
push edi
call fcn.005db3a0
add esp, 0xc
test eax, eax
je 0x611141
mov edi, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
add eax, ecx
push ebp
push dword [esp + 0x10]
mov dword [esp + 0x2c], eax
push eax
push ecx
push edi
call fcn.00721ca0
add esp, 0x14
test eax, eax
js 0x6114e3
mov eax, dword [esp + 4]
neg eax
mov dword [esp + 0x14], eax
cmp dword [esp], 0
mov edx, dword [esp + 0x8c]
jle 0x611397
xor ecx, ecx
mov ebp, 0
cmp dword [esp], 8
jb 0x611368
xor ebp, ebp
cmp dword [esp], 0x20
jb 0x611335
mov ebp, dword [esp]
and ebp, 0x7fffffe0
mov eax, dword [esp + 4]
add edx, eax
add edx, 0x10
xor eax, eax
movups xmm0, xmmword [edx + eax - 0x10]
movups xmm1, xmmword [edx + eax]
movups xmm2, xmmword [edi + eax]
xorps xmm2, xmm0
movups xmm0, xmmword [edi + eax + 0x10]
xorps xmm0, xmm1
movups xmmword [edi + eax], xmm2
movups xmmword [edi + eax + 0x10], xmm0
add eax, 0x20
cmp ebp, eax
jne 0x6112fb
cmp dword [esp], ebp
mov edx, dword [esp + 0x8c]
je 0x611397
test byte [esp], 0x18
je 0x611368
mov eax, ebp
mov ebp, dword [esp]
and ebp, 0x7ffffff8
mov edx, dword [esp + 0x20]
movsd xmm0, qword [edx + eax]
movsd xmm1, qword [edi + eax]
xorps xmm1, xmm0
movlps qword [edi + eax], xmm1
add eax, 8
cmp ebp, eax
jne 0x611344
cmp dword [esp], ebp
mov edx, dword [esp + 0x8c]
je 0x611397
mov eax, dword [esp + 4]
add eax, ebp
add edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add eax, edx
add eax, dword [esp + 0x18]
sub eax, ebp
add ebp, edi
mov edx, dword [esp + 4]
movzx edx, byte [edx + ecx]
xor byte [ebp + ecx], dl
inc ecx
cmp eax, ecx
jne 0x611386
test ebx, ebx
je 0x6113a8
mov cl, 8
sub cl, bl
mov eax, 0xff
shr eax, cl
and byte [edi], al
mov eax, dword [esp]
dec eax
xor ecx, ecx
nop
movzx edx, byte [edi + ecx]
lea ebp, [ecx + 1]
test dl, dl
jne 0x6113c1
cmp ecx, eax
mov ecx, ebp
jl 0x6113b0
cmp dl, 1
jne 0x6114ea
mov ecx, dword [esp + 0x10]
mov eax, ecx
and eax, 0xfffffffd
cmp eax, 0xfffffffc
je 0x6113f0
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
sub eax, ecx
cmp eax, ebp
jne 0x61151b
push 0
push dword [esp + 0x88]
push esi
call fcn.005b8fe0
add esp, 0xc
xor ebx, ebx
test eax, eax
je 0x6111f1
push 8
push 0x9df99a
push esi
call fcn.005b9000
add esp, 0xc
test eax, eax
je 0x6111f1
push dword [esp + 0xc]
push dword [esp + 0x84]
push esi
call fcn.005b9000
add esp, 0xc
test eax, eax
je 0x6111f1
mov ecx, dword [esp]
sub ecx, ebp
je 0x61145e
mov eax, edi
add eax, ebp
push ecx
push eax
push esi
call fcn.005b9000
add esp, 0xc
test eax, eax
je 0x6111f1
lea ebp, [esp + 0x28]
push 0
push ebp
push esi
call fcn.005b9180
add esp, 0xc
test eax, eax
je 0x6111f1
push dword [esp + 0xc]
push dword [esp + 0x28]
push ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
je 0x61155c
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x85
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x68
push 4
call fcn.005b5d00
add esp, 0xc
jmp 0x6111f1
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x5f
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x86
jmp 0x611137
xor ebx, ebx
jmp 0x6111f1
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x6f
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push 0
push 0x87
push 4
call fcn.005b5d00
add esp, 0xc
xor ebx, ebx
jmp 0x6111f1
mov ebx, dword [esp]
sub ebx, ebp
mov esi, ecx
call fcn.005b5b10
push str.RSA_verify_PKCS1_PSS_mgf1
push 0x75
push str.crypto_rsa_rsa_pss.c
call fcn.005b5c10
add esp, 0xc
push ebx
push esi
mov esi, dword [esp + 0x10]
push str.expected:__d_retrieved:__d
push 0x88
push 4
call fcn.005b5d00
add esp, 0x14
xor ebx, ebx
jmp 0x6111f1
mov ebx, 1
jmp 0x6111f1