Function at 0x14003a9b0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [rsp + 0xf0]
xor edi, edi
mov rbp, qword [rcx + 0x20]
mov r12, r9
mov r15d, dword [rcx + 0xc]
mov r10, rcx
mov r8, qword [rsp + 0x138]
mov rbx, qword [rax]
lea esi, [rdi + 2]
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x34], edi
mov qword [rsp + 0x48], rbx
mov r9, qword [rax]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x38], r9
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x108]
mov eax, dword [rax]
mov dword [rsp + 0x5c], eax
cmp eax, 0x3f
je 0x14003aa73
mov ecx, eax
mov eax, 1
shl rax, cl
lea rax, [rax*2 - 2]
test qword [rsp + 0xf8], rax
jne 0x14003aa8c
mov edx, r15d
mov rcx, r8
shl edx, 5
add rdx, r9
call qword [r10 + 0x10]
test eax, eax
jns 0x14003aa8c
mov dword [rsp + 0x34], 1
jmp 0x14003aa8c
mov edx, r15d
mov rcx, r8
shl edx, 5
add rdx, r9
call qword [r10 + 0x10]
test eax, eax
cmovns edi, esi
mov dword [rsp + 0x34], edi
mov rsi, qword [rbx]
lea ecx, [r15*4]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov dword [rsp + 0x68], ecx
lea r14d, [r15 + r15]
mov r13, r15
and rsi, rax
je 0x14003af5a
mov qword [rsp + 0x40], 0x20
test sil, 0x2a
je 0x14003ab22
movabs rax, 0xdddddddddddddddf
mov qword [rbx], rax
test sil, 2
jne 0x14003ab22
lea rdi, [r14 + rbx]
mov rbx, rdi
mov r12, rdi
sub rbx, r15
mov rdx, rdi
mov rcx, rbx
test sil, 8
je 0x14003ab0c
mov r8d, 3
call rbp
lea eax, [r15*4]
add rdi, rax
lea ecx, [r15 + r15*2]
add rbx, rcx
jmp 0x14003ab3e
mov r8d, 1
call rbp
add rdi, r14
mov r8d, 2
mov rcx, r12
jmp 0x14003ab33
mov edi, ecx
mov r8d, 1
add rdi, rbx
mov rcx, rdi
sub rcx, r13
mov rdx, rdi
mov rbx, rdi
call rbp
add rdi, r14
movabs rax, 0x4000000000000000
or rsi, rax
mov r12, rsi
shr r12, 6
test r12b, 0x3f
jne 0x14003abb2
mov r15d, 0x20
nop
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call rbp
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
add rbx, r13
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
shl r15, 4
add rbx, r13
shr r12, 6
test r12b, 0x3f
je 0x14003ab60
mov qword [rsp + 0x40], r15
mov r15d, r13d
movabs rcx, 0xdddddddddddddddd
test r12, 0xffffffffffffffc0
je 0x14003ac87
mov rax, qword [rsp + 0x40]
mov rdx, rdi
or rax, rcx
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov rcx, rbx
test r12b, 2
je 0x14003ac15
mov r8d, 3
call rbp
lea eax, [r15*4]
mov r8d, 1
lea ecx, [r15 + r15*2]
add rdi, rax
add rbx, rcx
mov rdx, rdi
mov rcx, rbx
call rbp
add rdi, r14
add rbx, r13
jmp 0x14003ac83
lea rax, [r14 + rdi]
mov r8d, 1
mov qword [rsp + 0x40], rax
lea rax, [rbx + r13]
mov qword [rsp + 0x50], rax
call rbp
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdx, rdi
mov rcx, rbx
test r12b, 8
je 0x14003ac61
mov r8d, 3
call rbp
lea eax, [r15*4]
add rdi, rax
lea ecx, [r15 + r15*2]
add rbx, rcx
jmp 0x14003ac83
mov r8d, 1
call rbp
add rdi, r14
add rbx, r13
mov rdx, rdi
mov rcx, rbx
mov r8d, 2
call rbp
add rdi, r14
add rbx, r14
shr r12, 6
test r12b, 0x15
jne 0x14003acd6
nop dword [rax]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call rbp
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
add rbx, r13
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
shr r12, 6
add rbx, r13
test r12b, 0x15
je 0x14003ac90
mov r8d, 1
mov rdx, rdi
test r12b, 0x2a
je 0x14003ad1c
mov rax, qword [rsp + 0x48]
movabs rcx, 0xdddddfdddddddddd
mov qword [rax], rcx
mov rcx, rbx
call rbp
add rbx, r13
lea rdx, [rdi + r13]
mov r8d, 2
mov rcx, rbx
test r8b, r12b
jne 0x14003ad15
lea rdx, [r14 + rdi]
call rbp
add rbx, r14
jmp 0x14003ad36
mov rcx, rbx
call rbp
add rbx, r14
lea rdx, [r14 + rdi]
mov rcx, rbx
mov r8d, 1
call rbp
add rbx, r13
mov rax, qword [rsp + 0xe8]
mov r8d, 1
mov rcx, rbx
mov rdx, qword [rax]
call rbp
mov r12, qword [rsp + 0x38]
add rbx, r13
mov edi, 5
nop dword [rax]
add r12, r14
mov r8d, 1
mov rdx, r12
mov rcx, rbx
call rbp
add rbx, r14
add r12, r14
mov rdx, r12
mov rcx, rbx
mov r8d, 1
call rbp
add rbx, r13
add r12, r14
mov rdx, r12
mov rcx, rbx
mov r8d, 1
call rbp
add rbx, r13
add edi, 0xffffffff
jne 0x14003ad60
mov eax, dword [rsp + 0x34]
add r12, r14
mov qword [rsp + 0x60], r12
test eax, eax
je 0x14003adb5
dec eax
jmp 0x14003adce
mov rax, qword [rsp + 0xd0]
mov rdx, r12
mov rcx, qword [rsp + 0x138]
call qword [rax + 0x10]
shr eax, 0x1f
mov rdx, qword [rsp + 0x48]
mov edi, r15d
shl edi, 6
add rdx, rdi
mov dword [rsp + 0x30], eax
mov rcx, rdx
sub rdx, 8
test sil, 0x2a
jne 0x14003ae19
nop dword [rax]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
add rdx, 0x30
mov qword [rcx + 0x10], rax
shr rsi, 6
mov rax, qword [rdx]
mov qword [rcx + 0x18], rax
add rcx, 0x20
test sil, 0x2a
je 0x14003adf0
test rsi, 0xffffffffffffffc0
je 0x14003ae83
test sil, 2
je 0x14003ae3d
mov rax, qword [rdx + 8]
mov qword [rcx], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
jmp 0x14003ae6c
mov rax, qword [rdx + 0x10]
mov qword [rcx], rax
test sil, 8
je 0x14003ae60
mov rax, qword [rdx + 0x18]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
jmp 0x14003ae6c
mov rax, qword [rdx + 0x20]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x10], rax
add rdx, 0x30
mov rax, qword [rdx]
mov qword [rcx + 0x18], rax
add rcx, 0x20
shr rsi, 6
test sil, 0x15
jne 0x14003aeb9
nop dword [rax]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
add rdx, 0x30
mov qword [rcx + 0x10], rax
shr rsi, 6
mov rax, qword [rdx]
mov qword [rcx + 0x18], rax
add rcx, 0x20
test sil, 0x15
je 0x14003ae90
test sil, 0x2a
je 0x14003aefe
test sil, 2
je 0x14003aed2
mov rax, qword [rdx + 8]
mov qword [rcx], rax
mov rax, qword [rdx + 0x10]
jmp 0x14003aedd
mov rax, qword [rdx + 0x10]
mov qword [rcx], rax
mov rax, qword [rdx + 0x18]
mov r10, qword [rsp + 0x38]
mov qword [rcx + 8], rax
add rcx, 0x10
mov rax, qword [rdx + 0x20]
lea rdx, [r10 + 8]
add rdx, rdi
mov qword [rcx], rax
add rcx, 8
jmp 0x14003af1e
mov rax, qword [rdx + 0x10]
mov r10, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
mov qword [rcx + 0x10], rax
lea rdx, [r10 + 8]
add rdx, rdi
add rcx, 0x18
mov rax, qword [rdx]
mov esi, 5
mov qword [rcx], rax
mov r8d, esi
add rcx, 8
mov rax, qword [rdx + 0x10]
lea rdx, [rdx + 0x30]
mov qword [rcx + 8], rax
lea rcx, [rcx + 0x20]
mov rax, qword [rdx - 0x10]
mov qword [rcx - 0x10], rax
mov rax, qword [rdx]
mov qword [rcx - 8], rax
add r8d, 0xffffffff
jne 0x14003af30
jmp 0x14003b115
mov edi, ecx
movabs rax, 0xdddddddddddddddd
add rdi, rbx
mov qword [rbx], rax
mov rcx, rdi
mov r8d, 1
sub rcx, r13
mov rdx, rdi
mov rbx, rdi
call rbp
add rdi, r14
mov esi, 9
nop dword [rax + rax]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call rbp
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
add rbx, r13
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call rbp
add rdi, r14
add rbx, r13
add esi, 0xffffffff
jne 0x14003af90
lea r8d, [rsi + 1]
mov rdx, rdi
mov rcx, rbx
call rbp
add rbx, r14
lea rdx, [r14 + rdi]
mov rcx, rbx
lea r8d, [rsi + 1]
call rbp
mov rdx, qword [r12]
lea r8d, [rsi + 1]
add rbx, r13
mov rcx, rbx
call rbp
mov r12, qword [rsp + 0x38]
mov esi, 5
mov edi, esi
add rbx, r13
nop dword [rax]
add r12, r14
mov r8d, 1
mov rdx, r12
mov rcx, rbx
call rbp
add rbx, r14
add r12, r14
mov rdx, r12
mov rcx, rbx
mov r8d, 1
call rbp
add rbx, r13
add r12, r14
mov rdx, r12
mov rcx, rbx
mov r8d, 1
call rbp
add rbx, r13
add edi, 0xffffffff
jne 0x14003b010
mov eax, dword [rsp + 0x34]
add r12, r14
mov qword [rsp + 0x60], r12
test eax, eax
je 0x14003b065
dec eax
jmp 0x14003b07e
mov rax, qword [rsp + 0xd0]
mov rdx, r12
mov rcx, qword [rsp + 0x138]
call qword [rax + 0x10]
shr eax, 0x1f
mov rdx, qword [rsp + 0x48]
mov edi, r15d
shl edi, 6
mov r8d, 0xa
add rdx, rdi
mov dword [rsp + 0x30], eax
mov rcx, rdx
sub rdx, 8
nop dword [rax]
mov rax, qword [rdx + 0x10]
lea rdx, [rdx + 0x30]
mov qword [rcx + 8], rax
mov rax, qword [rdx - 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx]
mov qword [rcx + 0x18], rax
add rcx, 0x20
add r8d, 0xffffffff
jne 0x14003b0a0
mov rax, qword [rdx + 0x10]
mov r8d, esi
mov r10, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x20]
mov qword [rcx + 0x10], rax
lea rdx, [r10 + 8]
add rdx, rdi
mov rax, qword [rdx]
mov qword [rcx + 0x18], rax
add rcx, 0x20
nop
mov rax, qword [rdx + 0x10]
lea rdx, [rdx + 0x30]
mov qword [rcx + 8], rax
lea rcx, [rcx + 0x20]
mov rax, qword [rdx - 0x10]
mov qword [rcx - 0x10], rax
mov rax, qword [rdx]
mov qword [rcx - 8], rax
add r8d, 0xffffffff
jne 0x14003b0f0
mov rax, qword [rsp + 0x118]
mov r9, qword [rax]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], r9
mov rbx, qword [r9]
lea rdx, [r9 + 0x200]
lea rdx, [rdx + rdi]
and rbx, rax
je 0x14003b62a
or rbx, 1
mov r8, rdx
mov r11, rbx
add rdx, 8
movabs rcx, 0xa800000000000000
movabs rax, 0x2000000000000000
mov r10, rax
mov r9, rbx
and r11, rcx
jne 0x14003b1b2
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx - 0x10]
mov qword [r8 - 8], rax
mov rax, qword [rdx - 0x20]
sub rdx, 0x30
mov qword [r8 - 0x10], rax
shl r9, 6
mov rax, qword [rdx]
mov qword [r8 - 0x18], rax
sub r8, 0x20
test rcx, r9
je 0x14003b180
movabs rax, 0x2000000000000000
movabs rcx, 0x5400000000000000
test rcx, r9
jne 0x14003b268
test r9, r9
jns 0x14003b1f0
mov rax, qword [rdx - 0x10]
mov qword [r8 - 8], rax
mov rax, qword [rdx - 0x18]
mov qword [r8 - 0x10], rax
mov rax, qword [rdx - 0x20]
mov qword [r8 - 0x18], rax
sub r8, 0x20
mov rax, qword [rdx - 0x30]
sub rdx, 0x30
jmp 0x14003b22e
test rax, r9
mov rax, qword [rdx - 0x10]
mov qword [r8 - 8], rax
mov rax, qword [rdx - 0x20]
mov qword [r8 - 0x10], rax
je 0x14003b21a
mov rax, qword [rdx - 0x28]
add rdx, 0xffffffffffffffd0
mov qword [r8 - 0x18], rax
add r8, 0xffffffffffffffe0
mov rax, qword [rdx]
jmp 0x14003b22e
mov rax, qword [rdx - 0x30]
sub rdx, 0x30
mov qword [r8 - 0x18], rax
sub r8, 0x20
mov rax, qword [rdx - 8]
shl r9, 6
mov qword [r8], rax
test rcx, r9
jne 0x14003b268
nop word [rax + rax]
mov rax, qword [rdx - 0x10]
mov qword [r8 - 8], rax
mov rax, qword [rdx - 0x20]
sub rdx, 0x30
mov qword [r8 - 0x10], rax
shl r9, 6
mov rax, qword [rdx]
mov qword [r8 - 0x18], rax
sub r8, 0x20
test rcx, r9
je 0x14003b240
movabs rax, 0xa800000000000000
test rax, r9
mov rax, qword [rdx - 0x10]
mov qword [r8 - 8], rax
je 0x14003b2c9
add r8, 0xfffffffffffffff0
test r9, r9
jns 0x14003b295
mov rax, qword [rdx - 0x18]
mov qword [r8], rax
mov rcx, qword [rdx - 0x20]
jmp 0x14003b2a0
mov rax, qword [rdx - 0x20]
mov qword [r8], rax
mov rcx, qword [rdx - 0x28]
mov rdx, qword [rsp + 0x38]
mov rax, 0xfffffffffffffff8
add rdx, 0x1f8
add rdx, rdi
mov qword [r8 + rax], rcx
lea rcx, [rax - 8]
add rcx, r8
mov rax, qword [rdx]
mov qword [rcx], rax
jmp 0x14003b2f0
mov rax, qword [rdx - 0x20]
lea rcx, [r8 - 0x20]
mov rdx, qword [rsp + 0x38]
add rdx, 0x1f8
mov qword [r8 - 0x10], rax
add rdx, rdi
mov rax, qword [rdx]
mov qword [r8 - 0x18], rax
nop dword [rax + rax]
mov rax, qword [rdx - 0x10]
lea rdx, [rdx - 0x30]
mov qword [rcx - 8], rax
lea rcx, [rcx - 0x20]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx]
mov qword [rcx + 8], rax
add esi, 0xffffffff
jne 0x14003b2f0
mov rax, qword [rsp + 0x50]
mov edi, r15d
shl edi, 6
add rdi, rax
mov rsi, rdi
test r11, r11
jne 0x14003b3a0
mov r15, r10
movabs r12, 0xa800000000000000
nop word [rax + rax]
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r14
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
shr r15, 4
shl rbx, 6
test r12, rbx
je 0x14003b340
mov r12, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], r15
mov r15d, r13d
mov r10, qword [rsp + 0x40]
movabs rcx, 0x5400000000000000
test rcx, rbx
jne 0x14003b46a
movabs rcx, 0xdddddddddddddddd
or r10, rcx
mov qword [rax], r10
test rbx, rbx
jns 0x14003b3fe
sub rsi, r14
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 2
call rbp
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r13
mov r8d, 1
sub rdi, r14
jmp 0x14003b45e
bt rbx, 0x3d
mov ecx, dword [rsp + 0x68]
lea eax, [r15 + r15*2]
mov qword [rsp + 0x60], rax
jae 0x14003b434
sub rdi, rcx
sub rsi, rax
mov rdx, rdi
mov rcx, rsi
mov r8d, 3
call rbp
sub rsi, r13
mov r8d, 1
sub rdi, r14
jmp 0x14003b45e
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, qword [rsp + 0x60]
lea eax, [r15*4]
sub rdi, rax
mov r8d, 3
mov rdx, rdi
mov rcx, rsi
call rbp
shl rbx, 6
movabs rax, 0x5400000000000000
test rax, rbx
jne 0x14003b4c8
mov r15, rax
nop dword [rax]
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r13
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r14
sub rdi, r14
mov rdx, rdi
mov rcx, rsi
mov r8d, 1
call rbp
shl rbx, 6
test r15, rbx
je 0x14003b480
mov r15d, r13d
sub rsi, r13
movabs rax, 0xa800000000000000
test rax, rbx
je 0x14003b533
mov rax, qword [rsp + 0x50]
sub rsi, r13
movabs rcx, 0xddddddddddfddddd
mov r8d, 2
mov qword [rax], rcx
test rbx, rbx
jns 0x14003b4ff
sub rdi, r14
jmp 0x14003b506
lea ecx, [r15 + r15*2]
sub rdi, rcx
mov rdx, rdi
mov rcx, rsi
call rbp
mov r13, qword [rsp + 0x120]
mov r8d, 1
mov eax, r15d
sub rsi, rax
mov rcx, rsi
mov rdx, qword [r13]
call rbp
mov eax, r15d
sub rsi, rax
jmp 0x14003b565
lea ebx, [r15 + r15]
mov r8d, 1
sub rdi, rbx
mov rcx, rsi
mov rdx, rdi
call rbp
sub rsi, r13
mov r8d, 1
mov r13, qword [rsp + 0x120]
mov rcx, rsi
mov rdx, qword [r13]
call rbp
sub rsi, rbx
imul r14d, r15d, 0x3e
mov r8d, 1
mov rcx, rsi
add r14, qword [rsp + 0x38]
mov rdx, r14
call rbp
cmp dword [rsp + 0x30], 0
mov r8d, 1
mov rdx, r12
je 0x14003b592
mov rcx, qword [r13]
jmp 0x14003b59d
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rax]
call rbp
mov ebx, 4
mov r12d, r15d
lea edi, [r15 + r15]
nop dword [rax + rax]
sub rsi, r12
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r12
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, rdi
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
add ebx, 0xffffffff
jne 0x14003b5b0
mov edi, r15d
lea ebx, [r15 + r15]
sub rsi, rdi
sub r14, rbx
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub r14, rbx
sub rsi, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
mov rbx, qword [rsp + 0x50]
jmp 0x14003b816
mov r13d, 0xa
mov rcx, rdx
mov r8d, r13d
add rdx, 8
nop word [rax + rax]
mov rax, qword [rdx - 0x10]
lea rdx, [rdx - 0x30]
mov qword [rcx - 8], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx - 0x10], rax
mov rax, qword [rdx]
mov qword [rcx - 0x18], rax
sub rcx, 0x20
add r8d, 0xffffffff
jne 0x14003b640
mov rax, qword [rdx - 0x10]
mov qword [rcx - 8], rax
mov rax, qword [rdx - 0x20]
mov edx, r15d
shl edx, 6
add rdx, 0x1f8
mov qword [rcx - 0x10], rax
add rdx, r10
mov rax, qword [rdx]
mov qword [rcx - 0x18], rax
sub rcx, 0x20
mov rax, qword [rdx - 0x10]
lea rdx, [rdx - 0x30]
mov qword [rcx - 8], rax
lea rcx, [rcx - 0x20]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx]
mov qword [rcx + 8], rax
add esi, 0xffffffff
jne 0x14003b690
mov r14d, r15d
mov edi, r15d
shl r14d, 6
lea ebx, [r15 + r15]
add r14, r9
mov rsi, r14
nop dword [rax + rax]
sub rsi, rdi
sub r14, rbx
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, rdi
sub r14, rbx
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, rbx
sub r14, rbx
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
add r13d, 0xffffffff
jne 0x14003b6d0
mov ebx, r15d
lea edi, [r15 + r15]
sub rsi, rbx
lea r8d, [r13 + 1]
sub r14, rdi
mov rcx, rsi
mov rdx, r14
call rbp
lea r8d, [r13 + 1]
sub rsi, rbx
mov r13, qword [rsp + 0x120]
mov rcx, rsi
mov rdx, qword [r13]
call rbp
imul r14d, r15d, 0x3e
sub rsi, rdi
mov r8d, 1
mov rcx, rsi
add r14, qword [rsp + 0x38]
mov rdx, r14
call rbp
cmp dword [rsp + 0x30], 0
mov r8d, 1
mov rdx, r12
je 0x14003b773
mov rcx, qword [r13]
jmp 0x14003b77e
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rax]
call rbp
mov ebx, 4
mov r12d, r15d
lea edi, [r15 + r15]
nop dword [rax]
sub rsi, r12
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, r12
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
sub rsi, rdi
sub r14, rdi
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
add ebx, 0xffffffff
jne 0x14003b790
lea r8d, [r15 + r15]
mov ebx, r15d
sub r14, r8
sub rsi, rbx
mov rdx, r14
mov rcx, rsi
mov r8d, 1
call rbp
lea r8d, [r15 + r15]
sub rsi, rbx
sub r14, r8
mov rcx, rsi
mov rdx, r14
mov r8d, 1
call rbp
mov rbx, qword [rsp + 0x50]
movabs rcx, 0xdddddddddddddddd
mov qword [rbx], rcx
cmp dword [rsp + 0x30], 0
mov edx, r15d
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x70]
mov r9, rsi
mov r8d, dword [rsp + 0x5c]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
je 0x14003ba4b
call fcn.140039fd0
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rax + 0x48]
call qword [rax + 0x30]
mov r9d, eax
test eax, eax
jne 0x14003ba6b
cmp dword [rsp + 0x34], eax
je 0x14003b8e9
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0xe8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x110]
mov qword [rax], rbx
mov rax, qword [r13]
mov qword [rdx], rax
mov eax, r15d
shl eax, 6
test byte [rcx], 2
mov edx, eax
je 0x14003b8af
mov dword [rsi], r9d
mov rax, qword [rax + rcx + 8]
jmp 0x14003b8cf
mov dword [rsi], 1
mov eax, dword [rcx]
shr rax, 3
not eax
and eax, 1
or rax, 2
add r15d, r15d
lea rax, [rdx + rax*8]
mov rax, qword [rax + rcx]
mov rdx, qword [rsp + 0x118]
mov qword [rdx], rax
mov eax, r15d
add rax, rcx
mov qword [r13], rax
jmp 0x14003bbd9
mov r8d, dword [rsi]
test r8b, 1
je 0x14003b949
mov rax, qword [rdi]
bt rax, r8
mov rax, qword [rsp + 0xe8]
jb 0x14003b95a
cmp r8d, 1
je 0x14003b91d
lea ecx, [r8 - 1]
imul ecx, r15d
add rcx, rdi
mov qword [rax], rcx
lea eax, [r8 - 2]
jmp 0x14003b96b
mov rcx, qword [rsp + 0xe0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x14003b945
mov eax, r15d
shl eax, 6
mov rax, qword [rax + rcx + 0x1f8]
jmp 0x14003b978
xor eax, eax
jmp 0x14003b978
mov rax, qword [rsp + 0xe8]
test r8d, r8d
je 0x14003b9e5
mov ecx, r8d
imul ecx, r15d
add rcx, rdi
mov qword [rax], rcx
lea eax, [r8 - 1]
mov ecx, r15d
shl ecx, 6
add rcx, rdi
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0xf0]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x48]
mov qword [rcx], rax
cmp r8d, 0x3f
je 0x14003b9d4
lea eax, [r8 + 0x201]
cmp eax, r9d
jne 0x14003ba37
cmp r8d, 0x3d
je 0x14003b9c3
lea ecx, [r8 + 3]
imul ecx, r15d
add rcx, rdi
mov qword [r13], rcx
jmp 0x14003bbd9
mov rcx, qword [rsp + 0x128]
mov qword [r13], rcx
jmp 0x14003bbd9
mov rax, qword [rsp + 0x128]
mov qword [r13], rax
jmp 0x14003bbd9
mov rcx, qword [rsp + 0xe0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x14003ba18
mov eax, r15d
shl eax, 6
mov rcx, qword [rax + rcx + 0x1f8]
mov rax, qword [rsp + 0xf0]
mov qword [rax], rcx
jmp 0x14003ba27
mov rax, qword [rsp + 0xf0]
mov qword [rax], 0
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x48]
mov qword [rcx], rax
lea ecx, [r8 + 1]
imul ecx, r15d
add rcx, rdi
mov qword [r13], rcx
jmp 0x14003bbd9
call fcn.14003a590
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rax + 0x48]
call qword [rax + 0x30]
mov r9d, eax
test eax, eax
je 0x14003ba76
mov r9d, 0xfffffffd
jmp 0x14003bbd9
cmp dword [rsp + 0x34], 0
je 0x14003bb07
mov rax, qword [rsp + 0x100]
mov r8, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xe8]
mov qword [rax], r8
mov rax, qword [rsp + 0x48]
mov qword [rcx], rax
mov rax, qword [rdx]
mov qword [r13], rax
mov eax, r15d
shl eax, 6
mov dword [rsi], 0x3f
cmp qword [r8], 0
jge 0x14003bae6
mov rax, qword [rax + r8 + 0x1f0]
mov r10, qword [rsp + 0xf0]
imul ecx, r15d, 0x3f
mov qword [r10], rax
mov eax, ecx
add rax, r8
jmp 0x14003bbd6
mov rax, qword [rax + r8 + 0x1e8]
mov r10, qword [rsp + 0xf0]
imul ecx, r15d, 0x3e
mov qword [r10], rax
mov eax, ecx
add rax, r8
jmp 0x14003bbd6
mov edx, dword [rsi]
test dl, 1
je 0x14003bb2b
mov rax, qword [rdi]
bt rax, rdx
jb 0x14003bb2f
cmp edx, 1
je 0x14003bb21
lea ecx, [rdx - 1]
jmp 0x14003bb31
mov rcx, qword [rsp + 0xe0]
jmp 0x14003bb38
test edx, edx
je 0x14003bb93
mov ecx, edx
imul ecx, r15d
add rcx, rdi
mov rax, qword [rsp + 0xe8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x110]
mov qword [rax], rbx
cmp edx, 0x3f
jne 0x14003bbb1
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
mov qword [r13], rax
test rcx, rcx
je 0x14003bb82
shl r15d, 6
test byte [rcx], 2
je 0x14003bb7b
mov rax, qword [r15 + rcx]
jmp 0x14003bbce
mov rax, qword [r15 + rcx + 8]
jmp 0x14003bbce
mov rax, qword [rsp + 0x118]
mov qword [rax], 0
jmp 0x14003bbd9
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x110]
mov qword [rax], rbx
inc edx
mov ecx, edx
imul ecx, r15d
shl r15d, 6
add rcx, rdi
mov qword [r13], rcx
mov ecx, r15d
add rcx, rdi
mov rax, qword [rcx + rdx*8]
mov rdx, qword [rsp + 0x118]
mov qword [rdx], rax
mov eax, r9d
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret