Function at 0x60953a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x904fe8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x10], 1
mov edx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x38], edi
je 0x609582
push 0x29
push str.d:package_cacheopenssl1.1.1g.2_ssl_record_ssl3_record_tls13.c
push 0x44
push 0x261
push 0x50
push esi
call fcn.005d9612
add esp, 0x18
or eax, 0xffffffff
jmp 0x6098f3
test edx, edx
je 0x60958e
mov ecx, dword [esi + 0x3ec]
jmp 0x609594
mov ecx, dword [esi + 0x3cc]
mov eax, 0xf28
mov dword [ebp - 0x28], ecx
test edx, edx
push ebx
lea ebx, [eax - 8]
cmove eax, ebx
add eax, esi
test edx, edx
mov dword [ebp - 0x2c], eax
mov eax, 0x3f0
lea ebx, [eax - 0x20]
cmove eax, ebx
add eax, esi
mov dword [ebp - 0x34], eax
test ecx, ecx
je 0x6098d8
cmp dword [edi + 4], 0x15
je 0x6098d8
push ecx
call fcn.0054eebc
pop ecx
mov edx, eax
xor ecx, ecx
cmp dword [esi + 0x68], 4
mov dword [ebp - 0x30], edx
je 0x609601
cmp dword [esi + 0x68], 3
je 0x609601
mov eax, dword [esi + 0x7c]
mov ebx, dword [eax + 0x210]
test ebx, ebx
jne 0x6095fc
push 0x59
jmp 0x6098bc
mov ebx, dword [ebx + 0x18]
jmp 0x609636
mov eax, dword [esi + 0x474]
test eax, eax
je 0x609613
cmp dword [eax + 0x1e4], ecx
ja 0x60962d
mov eax, dword [esi + 0x478]
test eax, eax
je 0x6098ba
cmp dword [eax + 0x1e4], ecx
jbe 0x6098ba
mov eax, dword [eax + 0x1bc]
mov ebx, dword [eax + 0x18]
mov eax, ebx
and eax, 0x3c000
mov dword [ebp - 0x40], eax
je 0x609679
and ebx, 0x30000
neg ebx
sbb ebx, ebx
and ebx, 0xfffffff8
add ebx, 0x10
mov dword [ebp - 0x24], ebx
cmp dword [ebp + 0x14], ecx
je 0x609693
push ecx
push ebx
push 0x11
push dword [ebp - 0x28]
call fcn.0058281e
add esp, 0x10
test eax, eax
jg 0x609674
push 0x67
jmp 0x6098bc
mov edx, dword [ebp - 0x30]
jmp 0x609693
test ebx, 0x3000
jne 0x60968d
test ebx, 0x80000
je 0x6098b6
push 0x10
pop ebx
mov dword [ebp - 0x24], ebx
cmp dword [ebp + 0x14], 0
jne 0x6096af
mov ecx, dword [edi + 8]
lea eax, [ebx + 1]
cmp ecx, eax
jae 0x6096aa
xor eax, eax
jmp 0x6098f2
sub ecx, ebx
mov dword [edi + 8], ecx
push 8
pop eax
cmp edx, eax
jae 0x6096c0
push 0x82
jmp 0x6098bc
mov ebx, dword [ebp - 0x34]
lea esi, [edx - 8]
push esi
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.007390e0
lea eax, [ebp - 0x1c]
add esp, 0xc
mov edi, eax
xor edx, edx
sub ebx, eax
add esi, edi
mov edi, dword [ebp - 0x2c]
lea ecx, [esi + edx]
mov al, byte [ebx + ecx]
xor al, byte [edi + edx]
inc edx
mov byte [ecx], al
cmp edx, 8
jb 0x6096e2
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
push 8
pop eax
add byte [ecx + eax - 1], 1
jne 0x60970b
sub eax, 1
jne 0x6096ff
test eax, eax
je 0x6098d3
push dword [ebp + 0x14]
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
push eax
xor eax, eax
push eax
push eax
push eax
push esi
call fcn.00582a01
add esp, 0x18
test eax, eax
jle 0x6098d3
cmp dword [ebp + 0x14], 0
jne 0x609754
mov eax, dword [edi + 0x14]
add eax, dword [edi + 8]
push eax
push ebx
push 0x11
push esi
call fcn.0058281e
add esp, 0x10
test eax, eax
jle 0x6098d3
push 0
push 5
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.005eb754
add esp, 0x10
test eax, eax
je 0x6098aa
push 1
push dword [edi + 4]
lea eax, [ebp - 0x60]
push eax
call fcn.005eb802
add esp, 0xc
test eax, eax
je 0x6098aa
push 2
push dword [edi]
lea eax, [ebp - 0x60]
push eax
call fcn.005eb802
add esp, 0xc
test eax, eax
je 0x6098aa
mov eax, dword [edi + 8]
add eax, ebx
push 2
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.005eb802
add esp, 0xc
test eax, eax
je 0x6098aa
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.005eb6f4
pop ecx
pop ecx
test eax, eax
je 0x6098aa
cmp dword [ebp - 0x3c], 5
jne 0x6098aa
lea eax, [ebp - 0x60]
push eax
call fcn.005eb66d
pop ecx
test eax, eax
je 0x6098aa
cmp dword [ebp - 0x40], 0
je 0x609812
push dword [edi + 8]
lea eax, [ebp - 0x20]
push 0
push eax
push 0
push esi
call fcn.00582c90
add esp, 0x14
test eax, eax
jle 0x6098d3
push 5
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push esi
call fcn.00582c90
add esp, 0x14
test eax, eax
jle 0x6098d3
push dword [edi + 8]
lea eax, [ebp - 0x20]
push dword [edi + 0x18]
push eax
push dword [edi + 0x14]
push esi
call fcn.00582c90
add esp, 0x14
test eax, eax
jle 0x6098d3
lea eax, [ebp - 0x44]
push eax
mov eax, dword [edi + 0x14]
add eax, dword [ebp - 0x20]
push eax
push esi
call fcn.005829dd
add esp, 0xc
test eax, eax
jle 0x6098d3
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x20]
cmp eax, dword [edi + 8]
jne 0x6098d3
cmp dword [ebp + 0x14], 0
je 0x6098ef
mov eax, dword [edi + 0x14]
add eax, dword [edi + 8]
push eax
push ebx
push 0x10
push esi
call fcn.0058281e
add esp, 0x10
test eax, eax
jg 0x6098a5
push 0xbd
push str.d:package_cacheopenssl1.1.1g.2_ssl_record_ssl3_record_tls13.c
push 0x44
push 0x261
push 0x50
push dword [ebp - 0x48]
jmp 0x6098cb
add dword [edi + 8], ebx
jmp 0x6098ef
lea eax, [ebp - 0x60]
push eax
call fcn.005eb5e7
pop ecx
jmp 0x6098d3
push 0x70
jmp 0x6098bc
push 0x4d
push str.d:package_cacheopenssl1.1.1g.2_ssl_record_ssl3_record_tls13.c
push 0x44
push 0x261
push 0x50
push esi
call fcn.005d9612
add esp, 0x18
or eax, 0xffffffff
jmp 0x6098f2
push dword [edi + 8]
push dword [edi + 0x18]
push dword [edi + 0x14]
call fcn.00739660
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [edi + 0x18], eax
xor eax, eax
inc eax
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.007207bc
leave
ret