Function at 0x140023b20
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov eax, dword [rcx + 0x60]
mov rbx, rdx
mov rsi, qword [rcx]
mov rdi, rcx
mov dword [rbp - 0x25], eax
mov r12d, 1
xor eax, eax
mov dword [rbp + 0x77], r12d
mov r14d, eax
mov qword [rbp - 0x21], rax
mov r15d, eax
mov dword [rbp + 0x7f], eax
mov dword [rbp - 0x35], eax
mov r13d, eax
mov dword [rbp - 0x61], eax
mov rcx, rsi
mov eax, dword [rsi + 0x34]
mov edx, eax
shl edx, 8
or edx, 0x34
mov dword [rbp - 0x59], eax
mov dword [rbp - 0x29], eax
call fcn.1400213e0
mov ecx, dword [rbp - 0x59]
mov dword [rbx], ecx
mov dword [rbx + 8], 0xc
mov qword [rbx + 0xc], 0xffffffffffffffff
mov edx, dword [rsi + 0x34]
mov dword [rbp - 0x39], eax
inc edx
movzx eax, byte [rsi + 0x5a]
cmp edx, eax
jbe 0x140023bbf
cmp edx, 0xfa
jae 0x1400248a7
mov byte [rsi + 0x5a], dl
inc ecx
mov dword [rsi + 0x34], edx
cmp dword [rdi + 0x34], 0x7b
mov dword [rbp - 0x59], ecx
mov rcx, rdi
jne 0x1400248b6
call fcn.14001b400
mov eax, dword [rdi + 0x34]
cmp eax, 0x7d
je 0x1400246ed
nop word [rax + rax]
xor r15d, r15d
mov dword [rbp - 0x5d], r15d
cmp eax, 0x5b
jne 0x140023d13
mov rcx, rdi
call fcn.14001b400
xor r8d, r8d
lea rdx, [rbp - 0x79]
mov rcx, rdi
call fcn.1400222b0
mov eax, dword [rbp - 0x69]
lea rdx, [rbp - 0x79]
mov rbx, qword [rdi]
mov rcx, rbx
cmp dword [rbp - 0x6d], eax
je 0x140023ca1
call fcn.140022ad0
cmp dword [rbp - 0x71], 0xc
jne 0x140023c54
mov eax, dword [rbp - 0x69]
cmp dword [rbp - 0x6d], eax
je 0x140023ca6
mov r8d, dword [rbp - 0x79]
cmp r8d, dword [rbx + 0x38]
jb 0x140023c54
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.140024a50
jmp 0x140023ca6
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.140022ad0
cmp dword [rbp - 0x71], 0xc
jne 0x140023c71
mov eax, dword [rbx + 0x38]
cmp dword [rbp - 0x79], eax
jb 0x140023c71
dec dword [rbx + 0x34]
mov r8d, dword [rbx + 0x34]
movzx eax, byte [rbx + 0x5a]
lea ecx, [r8 + 1]
cmp ecx, eax
jbe 0x140023c90
cmp ecx, 0xfa
jae 0x1400248c1
mov byte [rbx + 0x5a], cl
mov dword [rbx + 0x34], ecx
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.140024a50
jmp 0x140023ca6
call fcn.140022ad0
cmp dword [rdi + 0x34], 0x5d
mov rcx, rdi
jne 0x1400248d0
call fcn.14001b400
mov eax, dword [rbp - 0x71]
mov rbx, qword [rbp + 0x6f]
cmp eax, 4
jle 0x140023cd9
lea r8, [rbp - 0x79]
mov rdx, rbx
mov rcx, rsi
call fcn.140023540
mov eax, dword [rbp - 0x71]
cmp eax, 4
jne 0x140023cf1
movabs rax, 0x7fffffffffffffff
test qword [rbp - 0x79], rax
jne 0x140023cf1
mov dword [rbp + 0x7f], r12d
jmp 0x140023cf8
inc r13d
mov dword [rbp - 0x61], r13d
cmp dword [rdi + 0x34], 0x3d
jne 0x1400248e9
mov rcx, rdi
call fcn.14001b400
mov r15d, dword [rbp + 0x77]
jmp 0x140023db8
cmp eax, 0x11f
je 0x140023d21
cmp eax, 0x10a
jne 0x140023d88
mov rcx, rdi
call fcn.14001b3e0
cmp eax, 0x3d
jne 0x140023d88
mov eax, dword [rdi + 0x34]
mov dword [rbp - 0x71], 3
mov dword [rbp - 0x79], r15d
mov qword [rbp - 0x6d], 0xffffffffffffffff
cmp eax, 0x11f
je 0x140023d56
cmp eax, 0x10a
jne 0x1400248db
mov ebx, dword [rdi + 0x10]
mov rcx, rdi
call fcn.14001b400
cmp dword [rdi + 0x34], 0x3d
mov qword [rbp - 0x79], rbx
jne 0x1400248e9
mov rcx, rdi
call fcn.14001b400
mov rbx, qword [rbp + 0x6f]
inc r13d
mov r15d, dword [rbp + 0x77]
mov dword [rbp - 0x61], r13d
jmp 0x140023db8
mov r15d, dword [rbp + 0x77]
mov dword [rbp - 0x71], 4
mov qword [rbp - 0x6d], 0xffffffffffffffff
mov dword [rbp - 0x5d], r12d
movd xmm0, r15d
inc r15d
cvtdq2pd xmm0, xmm0
mov dword [rbp + 0x77], r15d
mov dword [rbp + 0x7f], r12d
movsd qword [rbp - 0x79], xmm0
xor r8d, r8d
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400222b0
mov ecx, dword [rbp - 0x71]
cmp ecx, 4
jg 0x140023f40
test ecx, ecx
je 0x140023f40
cmp ecx, 3
je 0x140023df6
cmp dword [rbp - 0x49], 4
jg 0x140023f40
mov eax, dword [rbp - 0x41]
cmp dword [rbp - 0x45], eax
jne 0x140023f40
test r14, r14
jne 0x140023e87
test r13d, r13d
je 0x140023e1c
cmp r13d, 1
jne 0x140023e0f
mov r8d, r12d
jmp 0x140023e1f
lea eax, [r13 - 1]
bsr r8d, eax
inc r8d
jmp 0x140023e1f
xor r8d, r8d
mov rcx, qword [rsi + 0x10]
xor edx, edx
cmp dword [rbp + 0x7f], edx
cmovne edx, r15d
call fcn.1400147f0
mov rdx, qword [rsi]
lea r8, [rbp - 0x19]
mov rcx, qword [rsi + 0x10]
mov r14, rax
mov qword [rbp - 0x21], rax
mov dword [rbp - 0x19], eax
mov dword [rbp - 0x15], 0xfffffff4
call fcn.140014f80
mov rcx, rax
cmp dword [rax + 4], 0
jne 0x140023e5f
mov edx, dword [rax]
jmp 0x140023e6e
mov eax, dword [rsi + 0x40]
mov qword [rcx], rax
mov edx, dword [rsi + 0x40]
lea eax, [rdx + 1]
mov dword [rsi + 0x40], eax
mov ecx, dword [rbp - 0x39]
mov rax, qword [rsi + 0x48]
shl edx, 8
or edx, dword [rbp - 0x29]
shl edx, 8
or edx, 0x35
mov dword [rax + rcx*8], edx
mov ecx, dword [rbp - 0x71]
xor r15d, r15d
mov dword [rbp - 0x5d], r15d
cmp ecx, 2
jg 0x140023e9a
not ecx
mov dword [rbp - 0x2d], ecx
jmp 0x140023eb6
cmp ecx, 3
jne 0x140023eae
mov eax, dword [rbp - 0x79]
mov dword [rbp - 0x31], eax
mov dword [rbp - 0x2d], 0xfffffffb
jmp 0x140023eb6
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x31], rax
mov rcx, qword [rsi + 0x10]
lea r8, [rbp - 0x31]
mov rdx, r14
call fcn.140014f80
mov r8, rax
movzx eax, byte [r14 + 4]
test al, 4
je 0x140023eea
mov rcx, qword [rsi + 0x10]
and al, 0xfb
mov edx, dword [rcx + 8]
mov byte [r14 + 4], al
mov ecx, dword [rdx + 0x3c]
mov dword [r14 + 0xc], ecx
mov dword [rdx + 0x3c], r14d
mov ecx, dword [rbp - 0x49]
cmp ecx, 4
jg 0x140023f2e
mov eax, dword [rbp - 0x41]
cmp dword [rbp - 0x45], eax
jne 0x140023f2e
cmp ecx, 2
jg 0x140023f0a
not ecx
mov dword [r8 + 4], ecx
jmp 0x1400246bb
cmp ecx, 3
jne 0x140023f22
mov eax, dword [rbp - 0x51]
mov dword [r8], eax
mov dword [r8 + 4], 0xfffffffb
jmp 0x1400246bb
mov rax, qword [rbp - 0x51]
mov qword [r8], rax
jmp 0x1400246bb
mov dword [r8], r14d
mov dword [r8 + 4], 0xfffffff4
mov ecx, dword [rbp - 0x71]
mov dword [rbp - 0x35], r12d
cmp dword [rbp - 0x49], 0xd
je 0x140023fc1
lea rdx, [rbp - 0x51]
mov rcx, rsi
call fcn.140022ad0
cmp dword [rbp - 0x49], 0xc
jne 0x140023f6e
mov eax, dword [rbp - 0x41]
cmp dword [rbp - 0x45], eax
je 0x140023fb9
mov rax, qword [rbp - 0x51]
cmp eax, dword [rsi + 0x38]
jb 0x140023f6e
mov r8d, eax
jmp 0x140023fad
lea rdx, [rbp - 0x51]
mov rcx, rsi
call fcn.140022ad0
cmp dword [rbp - 0x49], 0xc
jne 0x140023f8b
mov eax, dword [rsi + 0x38]
cmp dword [rbp - 0x51], eax
jb 0x140023f8b
dec dword [rsi + 0x34]
mov r8d, dword [rsi + 0x34]
movzx eax, byte [rsi + 0x5a]
lea ecx, [r8 + 1]
cmp ecx, eax
jbe 0x140023faa
cmp ecx, 0xfa
jae 0x1400248f7
mov byte [rsi + 0x5a], cl
mov dword [rsi + 0x34], ecx
lea rdx, [rbp - 0x51]
mov rcx, rsi
call fcn.140024a50
mov ecx, dword [rbp - 0x71]
xor eax, eax
mov dword [rbp - 0x5d], eax
cmp ecx, 4
jg 0x1400246a8
mov dword [rbx + 8], 9
jne 0x140024001
movsd xmm1, qword [rbp - 0x79]
cvttsd2si ecx, xmm1
movzx eax, cl
cmp ecx, eax
jne 0x140024051
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x140024051
jne 0x140024051
lea eax, [rcx + 0x100]
mov dword [rbx + 4], eax
jmp 0x1400246a8
cmp ecx, 3
jne 0x140024051
mov eax, dword [rbp - 0x79]
lea r8, [rbp - 0x11]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov dword [rbp - 0x11], eax
mov dword [rbp - 0xd], 0xfffffffb
call fcn.140014f80
mov rcx, rax
cmp dword [rax + 4], 0
jne 0x140024030
mov ecx, dword [rax]
jmp 0x14002403f
mov eax, dword [rsi + 0x40]
mov qword [rcx], rax
mov ecx, dword [rsi + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x40], eax
cmp ecx, 0xff
ja 0x140024051
not ecx
mov dword [rbx + 4], ecx
jmp 0x1400246a8
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.140022ad0
cmp dword [rbp - 0x71], 0xc
jne 0x140024359
mov eax, dword [rbp - 0x69]
mov r15d, dword [rbp - 0x79]
cmp dword [rbp - 0x6d], eax
je 0x1400246a4
cmp r15d, dword [rsi + 0x38]
jb 0x140024359
mov r8d, r15d
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.140024c20
mov r9d, dword [rbp - 0x71]
cmp r9d, 0xa
jne 0x140024100
mov r8d, dword [rbp - 0x79]
cmp r8d, 0xffffffff
je 0x140024100
mov ecx, dword [rbp - 0x6d]
cmp ecx, 0xffffffff
jne 0x1400240b2
mov dword [rbp - 0x6d], r8d
jmp 0x140024100
mov r9, qword [rsi + 0x48]
nop word [rax + rax]
mov edx, ecx
movzx eax, word [r9 + rdx*8 + 2]
add eax, 0xffff8000
cmp eax, 0xffffffff
je 0x1400240df
inc eax
add eax, ecx
cmp eax, 0xffffffff
je 0x1400240df
mov ecx, eax
jmp 0x1400240c0
sub r8d, ecx
add r8d, 0x7fff
cmp r8d, 0xffff
ja 0x140024906
mov word [r9 + rdx*8 + 2], r8w
mov r9d, dword [rbp - 0x71]
mov r11d, dword [rbp - 0x69]
mov edx, dword [rbp - 0x6d]
cmp edx, r11d
je 0x140024691
mov r12d, 0xffffffff
mov r13d, r12d
cmp edx, r12d
je 0x140024172
mov r8, qword [rsi + 0x48]
nop dword [rax]
nop word [rax + rax]
cmp edx, 1
lea eax, [rdx - 1]
cmovb eax, edx
mov ecx, dword [r8 + rax*8]
movzx eax, cl
sub eax, 0xc
cmp eax, 1
jbe 0x140024156
and ecx, 0xff00
cmp ecx, 0xff00
jne 0x1400241d4
mov eax, edx
movzx ecx, word [r8 + rax*8 + 2]
add ecx, 0xffff8000
cmp ecx, r12d
je 0x140024172
inc edx
add edx, ecx
cmp edx, r12d
jne 0x140024130
mov edx, r11d
cmp r11d, r12d
je 0x140024242
mov r8, qword [rsi + 0x48]
nop dword [rax]
nop word [rax + rax]
cmp edx, 1
lea eax, [rdx - 1]
cmovb eax, edx
mov ecx, dword [r8 + rax*8]
movzx eax, cl
sub eax, 0xc
cmp eax, 1
jbe 0x1400241b6
and ecx, 0xff00
cmp ecx, 0xff00
jne 0x1400241d4
mov eax, edx
movzx ecx, word [r8 + rax*8 + 2]
add ecx, 0xffff8000
cmp ecx, r12d
je 0x140024242
inc edx
add edx, ecx
cmp edx, r12d
jne 0x140024190
jmp 0x140024242
cmp r9d, 0xa
jne 0x1400241df
mov edi, r12d
jmp 0x1400241e9
mov rcx, rsi
call fcn.1400219e0
mov edi, eax
mov ebx, r15d
mov rcx, rsi
shl ebx, 8
mov edx, ebx
or edx, 0x1002b
call fcn.1400213e0
mov edx, dword [rsi + 0x34]
mov rcx, rsi
shl edx, 8
mov r12d, eax
or edx, 0x80010058
call fcn.1400213e0
or ebx, 0x2002b
mov rcx, rsi
mov edx, ebx
call fcn.1400213e0
mov ecx, dword [rsi + 0x28]
lea rdx, [rsi + 0x30]
mov dword [rsi + 0x2c], ecx
mov r8d, edi
mov rcx, rsi
mov r13d, eax
call fcn.140025d50
mov r11d, dword [rbp - 0x69]
mov r14d, dword [rsi + 0x28]
mov dword [rsi + 0x2c], r14d
cmp r11d, 0xffffffff
je 0x140024665
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x48]
mov edi, r11d
mov r9d, dword [rcx + rdi*8]
mov eax, r9d
shr eax, 0x10
add eax, 0xffff8000
cmp eax, 0xffffffff
jne 0x14002427f
mov ebx, eax
jmp 0x140024285
lea ebx, [rax + 1]
add ebx, r11d
cmp r11d, 1
lea eax, [r11 - 1]
cmovb eax, r11d
mov edx, eax
mov r8d, dword [rcx + rax*8]
movzx r10d, r8b
lea eax, [r10 - 0xc]
cmp eax, 1
jbe 0x140024301
shr r8d, 8
cmp r8b, 0xff
jne 0x1400242e4
cmp r15d, 0xff
jne 0x1400242cb
and r9d, 0xff00
or r9d, 0x80000058
mov dword [rcx + rdx*8], r9d
jmp 0x140024327
movzx eax, byte [rcx + rdx*8 + 9]
mov byte [rcx + rdx*8 + 1], r15b
cmp r15d, eax
jb 0x140024327
lea eax, [r15 + 1]
mov byte [rcx + rdx*8 + 9], al
jmp 0x140024327
mov eax, r12d
sub eax, r11d
add eax, 0x7fff
cmp eax, 0xffff
ja 0x140024915
mov word [rcx + rdi*8 + 2], ax
jmp 0x140024348
cmp r15d, 0xff
je 0x14002431a
shr r8d, 0x10
cmp r15d, r8d
je 0x14002431a
mov byte [rcx + rdx*8 + 1], r15b
jmp 0x140024327
add r10b, 2
mov byte [rcx + rdx*8 + 1], 0
mov byte [rcx + rdx*8], r10b
mov ecx, r14d
sub ecx, r11d
add ecx, 0x7fff
cmp ecx, 0xffff
ja 0x140024924
mov rax, qword [rsi + 0x48]
mov word [rax + rdi*8 + 2], cx
mov r11d, ebx
cmp ebx, 0xffffffff
jne 0x140024260
jmp 0x140024665
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.140022ad0
cmp dword [rbp - 0x71], 0xc
jne 0x140024376
mov eax, dword [rsi + 0x38]
cmp dword [rbp - 0x79], eax
jb 0x140024376
dec dword [rsi + 0x34]
mov r15d, dword [rsi + 0x34]
movzx eax, byte [rsi + 0x5a]
lea ecx, [r15 + 1]
cmp ecx, eax
jbe 0x140024395
cmp ecx, 0xfa
jae 0x140024933
mov byte [rsi + 0x5a], cl
mov dword [rsi + 0x34], ecx
lea rdx, [rbp - 0x79]
mov rcx, rsi
mov r8d, r15d
call fcn.140024c20
mov r9d, dword [rbp - 0x71]
cmp r9d, 0xa
jne 0x140024410
mov r8d, dword [rbp - 0x79]
cmp r8d, 0xffffffff
je 0x140024410
mov ecx, dword [rbp - 0x6d]
cmp ecx, 0xffffffff
jne 0x1400243c9
mov dword [rbp - 0x6d], r8d
jmp 0x140024410
mov r9, qword [rsi + 0x48]
nop dword [rax]
mov edx, ecx
movzx eax, word [r9 + rdx*8 + 2]
add eax, 0xffff8000
cmp eax, 0xffffffff
je 0x1400243ef
inc eax
add eax, ecx
cmp eax, 0xffffffff
je 0x1400243ef
mov ecx, eax
jmp 0x1400243d0
sub r8d, ecx
add r8d, 0x7fff
cmp r8d, 0xffff
ja 0x140024942
mov word [r9 + rdx*8 + 2], r8w
mov r9d, dword [rbp - 0x71]
mov r11d, dword [rbp - 0x69]
mov edx, dword [rbp - 0x6d]
cmp edx, r11d
je 0x140024691
mov r12d, 0xffffffff
mov r13d, r12d
cmp edx, r12d
je 0x140024482
mov r8, qword [rsi + 0x48]
nop dword [rax]
nop word [rax + rax]
cmp edx, 1
lea eax, [rdx - 1]
cmovb eax, edx
mov ecx, dword [r8 + rax*8]
movzx eax, cl
sub eax, 0xc
cmp eax, 1
jbe 0x140024466
and ecx, 0xff00
cmp ecx, 0xff00
jne 0x1400244e4
mov eax, edx
movzx ecx, word [r8 + rax*8 + 2]
add ecx, 0xffff8000
cmp ecx, r12d
je 0x140024482
inc edx
add edx, ecx
cmp edx, r12d
jne 0x140024440
mov edx, r11d
cmp r11d, r12d
je 0x140024552
mov r8, qword [rsi + 0x48]
nop dword [rax]
nop word [rax + rax]
cmp edx, 1
lea eax, [rdx - 1]
cmovb eax, edx
mov ecx, dword [r8 + rax*8]
movzx eax, cl
sub eax, 0xc
cmp eax, 1
jbe 0x1400244c6
and ecx, 0xff00
cmp ecx, 0xff00
jne 0x1400244e4
mov eax, edx
movzx ecx, word [r8 + rax*8 + 2]
add ecx, 0xffff8000
cmp ecx, r12d
je 0x140024552
inc edx
add edx, ecx
cmp edx, r12d
jne 0x1400244a0
jmp 0x140024552
cmp r9d, 0xa
jne 0x1400244ef
mov edi, r12d
jmp 0x1400244f9
mov rcx, rsi
call fcn.1400219e0
mov edi, eax
mov ebx, r15d
mov rcx, rsi
shl ebx, 8
mov edx, ebx
or edx, 0x1002b
call fcn.1400213e0
mov edx, dword [rsi + 0x34]
mov rcx, rsi
shl edx, 8
mov r12d, eax
or edx, 0x80010058
call fcn.1400213e0
or ebx, 0x2002b
mov rcx, rsi
mov edx, ebx
call fcn.1400213e0
mov ecx, dword [rsi + 0x28]
lea rdx, [rsi + 0x30]
mov dword [rsi + 0x2c], ecx
mov r8d, edi
mov rcx, rsi
mov r13d, eax
call fcn.140025d50
mov r11d, dword [rbp - 0x69]
mov r14d, dword [rsi + 0x28]
mov dword [rsi + 0x2c], r14d
cmp r11d, 0xffffffff
je 0x140024665
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsi + 0x48]
mov edi, r11d
mov r10d, dword [rdx + rdi*8]
mov eax, r10d
shr eax, 0x10
add eax, 0xffff8000
cmp eax, 0xffffffff
jne 0x14002458f
mov ebx, eax
jmp 0x140024595
lea ebx, [rax + 1]
add ebx, r11d
lea eax, [r11 - 1]
cmp r11d, 1
jae 0x1400245a2
mov eax, r11d
mov ecx, eax
mov r8d, dword [rdx + rcx*8]
movzx r9d, r8b
lea eax, [r9 - 0xc]
cmp eax, 1
jbe 0x140024612
shr r8d, 8
cmp r8b, 0xff
jne 0x1400245f5
cmp r15d, 0xff
jne 0x1400245dc
and r10d, 0xff00
or r10d, 0x80000058
mov dword [rdx + rcx*8], r10d
jmp 0x140024638
movzx eax, byte [rdx + rcx*8 + 9]
mov byte [rdx + rcx*8 + 1], r15b
cmp r15d, eax
jb 0x140024638
lea eax, [r15 + 1]
mov byte [rdx + rcx*8 + 9], al
jmp 0x140024638
mov eax, r12d
sub eax, r11d
add eax, 0x7fff
cmp eax, 0xffff
ja 0x140024951
mov word [rdx + rdi*8 + 2], ax
jmp 0x140024659
cmp r15d, 0xff
je 0x14002462b
shr r8d, 0x10
cmp r15d, r8d
je 0x14002462b
mov byte [rdx + rcx*8 + 1], r15b
jmp 0x140024638
add r9b, 2
mov byte [rdx + rcx*8 + 1], 0
mov byte [rdx + rcx*8], r9b
mov ecx, r14d
sub ecx, r11d
add ecx, 0x7fff
cmp ecx, 0xffff
ja 0x140024960
mov rax, qword [rsi + 0x48]
mov word [rax + rdi*8 + 2], cx
mov r11d, ebx
cmp ebx, 0xffffffff
jne 0x140024570
mov edx, dword [rbp - 0x6d]
mov r9d, r15d
mov r8d, r14d
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.140025ef0
mov rdi, qword [rbp + 0x67]
mov r12d, 1
mov rbx, qword [rbp + 0x6f]
mov r13d, dword [rbp - 0x61]
mov r14, qword [rbp - 0x21]
mov dword [rbp - 0x71], 0xc
mov dword [rbp - 0x79], r15d
mov qword [rbp - 0x6d], 0xffffffffffffffff
mov dword [rbx + 4], r15d
lea r8, [rbp - 0x51]
mov rdx, rbx
mov rcx, rsi
call fcn.140021d30
mov r15d, dword [rbp - 0x5d]
mov eax, dword [rbp - 0x59]
mov dword [rsi + 0x34], eax
mov eax, dword [rdi + 0x34]
cmp eax, 0x2c
je 0x1400246ce
cmp eax, 0x3b
jne 0x1400246e4
mov rcx, rdi
call fcn.14001b400
mov eax, dword [rdi + 0x34]
cmp eax, 0x7d
jne 0x140023bf0
jmp 0x1400246ed
cmp eax, 0x7d
jne 0x140024860
mov rcx, rdi
call fcn.14001b400
mov edi, dword [rbp + 0x77]
test r15d, r15d
je 0x140024773
mov edx, dword [rsi + 0x28]
mov rax, qword [rsi + 0x48]
dec edx
mov dword [rbp - 1], 4
mov qword [rbp + 3], 0xffffffffffffffff
mov dword [rbp - 5], 0x43300000
lea rbx, [rax + rdx*8]
lea eax, [rdi - 1]
mov dword [rbp - 9], eax
cmp edi, 0x100
jbe 0x140024735
mov dword [rsi + 0x28], edx
sub rbx, 8
mov rdx, qword [rsi]
lea r8, [rbp - 9]
mov rcx, qword [rsi + 0x10]
call fcn.140014f80
mov rcx, rax
cmp dword [rax + 4], 0
jne 0x140024752
mov ecx, dword [rax]
jmp 0x140024761
mov eax, dword [rsi + 0x3c]
mov qword [rcx], rax
mov ecx, dword [rsi + 0x3c]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
shl ecx, 8
or ecx, dword [rbp - 0x59]
shl ecx, 8
or ecx, 0x3f
mov byte [rbx - 5], 0
mov dword [rbx], ecx
mov eax, dword [rsi + 0x28]
mov edx, dword [rbp - 0x39]
dec eax
cmp edx, eax
mov rax, qword [rbp + 0x6f]
jne 0x14002478f
mov dword [rax], edx
mov ecx, 0xb
dec dword [rsi + 0x34]
jmp 0x140024794
mov ecx, 0xc
mov dword [rax + 8], ecx
test r14, r14
jne 0x140024805
mov r8, qword [rsi + 0x48]
cmp dword [rbp + 0x7f], r14d
jne 0x1400247ab
xor r9d, r9d
jmp 0x1400247c6
cmp edi, 3
jae 0x1400247b8
mov r9d, 3
jmp 0x1400247c6
mov eax, 0x7ff
mov r9d, edi
cmp edi, eax
cmova r9d, eax
test r13d, r13d
je 0x1400247e1
cmp r13d, 1
jne 0x1400247d6
mov ecx, r13d
jmp 0x1400247e3
lea eax, [r13 - 1]
bsr ecx, eax
inc ecx
jmp 0x1400247e3
xor ecx, ecx
shl cx, 0xb
or cx, r9w
mov word [r8 + rdx*8 + 2], cx
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [rbp + 0x7f], 0
je 0x140024821
cmp dword [r14 + 0x18], edi
jae 0x140024821
mov rcx, qword [rsi + 0x10]
lea r8d, [rdi - 1]
mov rdx, r14
call fcn.140014c90
cmp dword [rbp - 0x35], 0
je 0x14002484a
mov edx, dword [r14 + 0x14]
mov ecx, dword [r14 + 0x1c]
add rdx, 4
inc ecx
cmp dword [rdx], 0xfffffff4
jne 0x140024840
mov dword [rdx], 0xffffffff
add rdx, 0x18
sub rcx, 1
jne 0x140024835
mov rcx, qword [rsi + 0x10]
mov edx, dword [rcx + 8]
mov eax, dword [rdx + 0x24]
cmp dword [rdx + 0x20], eax
jb 0x1400247f1
call fcn.1400134e0
jmp 0x1400247f1
mov esi, dword [rbp - 0x25]
mov edx, 0x7d
mov rcx, rdi
cmp esi, dword [rdi + 0x60]
je 0x14002496f
call fcn.14001b620
mov edx, 0x7b
mov rcx, rdi
mov rbx, rax
call fcn.14001b620
mov edx, dword [rdi + 0x34]
mov r9, rbx
mov r8d, 0xa3d
mov dword [rsp + 0x28], esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14001b2e0
int3
mov rcx, qword [rsi + 8]
mov edx, 0x9a9
call fcn.140022270
int3
mov edx, 0x7b
call fcn.140022280
int3
mov rcx, qword [rbx + 8]
mov edx, 0x9a9
call fcn.140022270
int3
mov edx, 0x5d
call fcn.140022280
int3
mov edx, 0x11f
mov rcx, rdi
call fcn.140022280
int3
mov edx, 0x3d
mov rcx, rdi
call fcn.140022280
int3
mov rcx, qword [rsi + 8]
mov edx, 0x9a9
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x9a9
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
mov rcx, qword [rsi + 8]
mov edx, 0x98e
call fcn.140022270
int3
call fcn.140022280
int3