Function at 0x59c2c0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xb0
call fcn.0042ed50
mov eax, dword [0x630160]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
push ebx
mov ebx, dword [esp + 0xc0]
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xdc]
push edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], ebp
cmp eax, ebp
jne 0x59c340
call fcn.0052b990
mov dword [esp + 0x28], eax
cmp dword [esp + 0x14], ebp
jne 0x59c34a
mov dword [esp + 0x14], eax
push eax
call fcn.00542510
add esp, 4
cmp dword [esp + 0xc8], ebp
mov dword [esp + 0x10], eax
jle 0x59c6b5
test edi, edi
jle 0x59c6b5
cmp esi, edi
jl 0x59c69a
lea ecx, [eax + eax + 2]
cmp esi, ecx
jl 0x59c69a
sub esi, eax
push 0x9e
dec esi
push str..crypto_rsa_rsa_oaep.c
push esi
call fcn.005290e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x59c3be
push 0xa0
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0xa1
push 4
call fcn.005235f0
add esp, 0x14
jmp 0x59c659
mov edx, dword [esp + 0x2c]
push 0xa4
push str..crypto_rsa_rsa_oaep.c
push edx
call fcn.005290e0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x59c3e6
push 0xa7
jmp 0x59c3a3
mov ebp, dword [esp + 0x2c]
add ecx, ebp
add ebx, edi
mov dword [esp + 0x20], ecx
test ebp, ebp
jle 0x59c41f
mov edx, edi
not edx
shr edx, 0x1f
lea eax, [edi - 1]
shr eax, 0x1f
and eax, edx
dec eax
mov edx, eax
and edx, 1
sub ebx, edx
sub edi, edx
mov dl, byte [ebx]
dec ecx
and dl, al
sub ebp, 1
mov byte [ecx], dl
jne 0x59c3f6
mov dword [esp + 0x20], ecx
movzx eax, byte [ecx]
mov edi, dword [esp + 0x10]
lea ebp, [eax - 1]
not eax
shr eax, 0x1f
shr ebp, 0x1f
and ebp, eax
mov eax, dword [esp + 0x14]
push eax
lea ebx, [ecx + 1]
lea ecx, [edi + ecx + 1]
push esi
push ecx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x48]
push edi
push ecx
neg ebp
call fcn.0059bf30
add esp, 0x14
test eax, eax
jne 0x59c659
xor ecx, ecx
test edi, edi
jle 0x59c47e
mov edx, ebx
lea eax, [esp + 0x3c]
sub edx, eax
jmp 0x59c470
lea eax, [esp + ecx + 0x3c]
mov bl, byte [edx + eax]
xor byte [eax], bl
inc ecx
cmp ecx, edi
jl 0x59c470
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
push ecx
push edi
lea edx, [esp + 0x44]
push edx
push esi
push ebx
call fcn.0059bf30
add esp, 0x14
test eax, eax
jne 0x59c65d
test esi, esi
jle 0x59c4bd
mov ecx, dword [esp + 0x34]
mov eax, ebx
sub ecx, ebx
mov dword [esp + 0x14], esi
nop
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
sub dword [esp + 0x14], 1
jne 0x59c4b0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0x2c]
push 0
lea ecx, [esp + 0x88]
push ecx
push edx
push eax
call fcn.00533840
add esp, 0x18
test eax, eax
je 0x59c65d
push edi
lea ecx, [esp + 0x80]
push ecx
push ebx
call fcn.005376e0
mov edi, dword [esp + 0x1c]
lea edx, [eax - 1]
shr edx, 0x1f
not eax
shr eax, 0x1f
and edx, eax
neg edx
xor ebx, ebx
add esp, 0xc
and ebp, edx
cmp edi, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edi
jge 0x59c57c
mov eax, dword [esp + 0x18]
movzx ecx, byte [edi + eax]
mov edi, dword [esp + 0x10]
mov eax, ecx
xor eax, 1
lea edx, [eax - 1]
shr edx, 0x1f
not eax
shr eax, 0x1f
and edx, eax
mov eax, ebx
neg edx
not eax
and eax, edx
mov ebx, eax
not ebx
and ebx, dword [esp + 0x30]
and eax, edi
or ebx, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x1c]
or ebx, edx
lea edx, [ecx - 1]
shr edx, 0x1f
not ecx
shr ecx, 0x1f
and edx, ecx
neg edx
or edx, ebx
inc edi
and ebp, edx
cmp edi, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edi
jl 0x59c520
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x30]
inc edx
mov edi, ecx
mov eax, esi
sub eax, edx
sub edi, eax
xor edi, eax
xor eax, ecx
or edi, eax
xor edi, ecx
shr edi, 0x1f
dec edi
and edi, ebx
and ebp, edi
mov eax, esi
sub eax, ecx
xor eax, ecx
mov edi, esi
xor edi, ecx
or eax, edi
xor eax, esi
shr eax, 0x1f
neg eax
mov edi, eax
and eax, esi
not edi
and edi, ecx
or edi, eax
mov eax, esi
sub eax, edi
mov ecx, ebp
not ecx
and eax, ecx
and edx, ebp
or eax, edx
mov edx, dword [esp + 0x18]
mov ecx, esi
sub ecx, eax
lea ebx, [eax + edx]
xor edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebp
test edi, edi
jle 0x59c633
jmp 0x59c5ea
mov ebx, dword [esp + 0x24]
mov ecx, edx
xor ecx, dword [esp + 0x1c]
inc edx
lea eax, [ecx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
and eax, ecx
neg eax
mov ecx, eax
and ecx, esi
sub ebx, ecx
mov ecx, dword [esp + 0x10]
xor eax, ecx
and ecx, eax
movzx eax, cl
mov dword [esp + 0x24], ebx
mov bl, byte [ebx + edx - 1]
and bl, al
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x38]
not al
and al, byte [ecx + edx - 1]
or bl, al
cmp edx, edi
mov byte [ecx + edx - 1], bl
jl 0x59c5e6
push 0x108
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0xa1
push 4
call fcn.005235f0
mov edx, ebp
and edx, 1
push edx
call fcn.00523370
add esp, 0x18
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push 0x40
push eax
call fcn.00538410
push esi
push ebx
call fcn.00538410
push ebx
call fcn.005292e0
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
push ecx
push esi
call fcn.00538410
push esi
call fcn.005292e0
mov eax, ebp
and eax, dword [esp + 0x3c]
not ebp
add esp, 0x20
or eax, ebp
jmp 0x59c6b8
push 0x99
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0xa1
push 4
call fcn.005235f0
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00418878
add esp, 0xb0
ret