Function at 0x43f3d5
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rsi, rcx
test rcx, rcx
je 0x4402a7
mov rax, qword [rcx]
test rax, rax
je 0x4402a7
imul rax, rax, 3
jo 0x43f450
cqo
mov r8d, 4
idiv r8
add rax, 6
mov rcx, rax
jns 0x43f428
movabs r8, 0x7fffffffffffffff
xor edx, edx
jmp 0x440283
mov rdx, rax
xor ecx, ecx
call fcn.0044ab38
mov rdx, qword [rsi]
movabs r8, 0x2000000100002400
mov qword [rsp + 0x38], rax
mov r15, rdx
mov rax, r15
sub rax, 1
jno 0x43f455
call fcn.0044c4f5
cmp rax, rdx
jge 0x43f45f
test rax, rax
jns 0x43f467
dec rdx
mov rcx, rax
jmp 0x43f4df
mov cl, byte [rsi + rax + 0x10]
cmp cl, 0x3d
ja 0x43f48c
mov rbx, r8
shr rbx, cl
mov rcx, rbx
not rcx
mov ebx, ecx
and bl, 1
mov byte [rsp + 0x4f], bl
jne 0x43f491
mov r15, rax
jmp 0x43f447
mov byte [rsp + 0x4f], 1
mov rax, r15
sub rax, 4
mov qword [rsp + 0x50], rax
jo 0x43f450
mov qword [rsp + 0x30], 0
xor ebx, ebx
lea r12, [0x0046db00]
cmp qword [rsp + 0x50], rbx
jge 0x43f4cc
mov rax, rbx
xor edi, edi
sub rax, r15
seto dil
jno 0x43fae5
jmp 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rdx, rbx
jg 0x43f4e4
dec rdx
mov rcx, rbx
call fcn.0044cbbf
movzx ecx, byte [rsi + rbx + 0x10]
mov al, byte [rsp + 0x4f]
cmp cl, 0x20
ja 0x43f504
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
not rax
and eax, 1
test al, al
jne 0x43f513
add rbx, 1
jno 0x43f4cf
jmp 0x43f450
mov al, byte [r12 + rcx]
mov byte [rsp + 0x40], al
inc al
jne 0x43f634
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov rbp, rax
mov rax, qword [0x004743f0]
mov qword [rbp], rax
lea rax, [0x0046d1d8]
mov qword [rbp + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r13, rax
call fcn.0044cb9b
xor edx, edx
mov r14, rax
test r13, r13
je 0x43f578
mov rdx, qword [r13]
xor eax, eax
test r14, r14
je 0x43f582
mov rax, qword [r14]
lea rcx, [rdx + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r13
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [rbp + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [rbp + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, rbp
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rbx, rdx
jge 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [r12 + rax]
mov byte [rsp + 0x4d], al
inc al
jne 0x43f781
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov rbp, rax
mov rax, qword [0x004743f0]
mov qword [rbp], rax
lea rax, [0x0046d1d8]
mov qword [rbp + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r13, rax
call fcn.0044cb9b
mov r14, rax
xor eax, eax
test r13, r13
je 0x43f6c7
mov rax, qword [r13]
test r14, r14
je 0x43f6cf
mov rdi, qword [r14]
lea rcx, [rdi + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r13
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [rbp + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [rbp + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, rbp
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rbx, rdx
jge 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [r12 + rax]
mov byte [rsp + 0x4e], al
inc al
jne 0x43f8ce
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov rbp, rax
mov rax, qword [0x004743f0]
mov qword [rbp], rax
lea rax, [0x0046d1d8]
mov qword [rbp + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r13, rax
call fcn.0044cb9b
mov r14, rax
xor eax, eax
test r13, r13
je 0x43f814
mov rax, qword [r13]
test r14, r14
je 0x43f81c
mov rdi, qword [r14]
lea rcx, [rdi + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r13
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [rbp + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [rbp + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, rbp
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rdx, rbx
jle 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
mov r14b, byte [r12 + rax]
cmp r14b, 0xff
jne 0x43fa23
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov rbp, rax
mov rax, qword [0x004743f0]
mov qword [rbp], rax
lea rax, [0x0046d1d8]
mov qword [rbp + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r13, rax
call fcn.0044cb9b
mov r8, rax
xor eax, eax
test r13, r13
je 0x43f95f
mov rax, qword [r13]
test r8, r8
je 0x43f967
mov rdi, qword [r8]
lea rcx, [rdi + rax + 0x38]
mov qword [rsp + 0x58], r8
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r13
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov r8, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, r8
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [rbp + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [rbp + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, rbp
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
add rbx, 1
jo 0x43f450
cmp qword [rsp + 0x38], 0
je 0x43fa49
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
cmp qword [rsp + 0x30], rdx
jl 0x43fa52
jmp 0x43fdca
or rdx, 0xffffffffffffffff
jmp 0x440232
movzx eax, byte [rsp + 0x4d]
mov cl, byte [rsp + 0x40]
mov r10, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r8, rax
shl ecx, 2
sar r8, 4
or ecx, r8d
mov byte [rdi + r10 + 0x10], cl
mov rcx, r10
inc rcx
js 0x43f450
cmp rcx, r10
jb 0x43f450
test rcx, rcx
js 0x43fac1
cmp rcx, rdx
jge 0x43fac1
movzx r8d, byte [rsp + 0x4e]
shl rax, 4
mov rdi, qword [rsp + 0x38]
mov r9, r8
sar r9, 2
or eax, r9d
mov byte [rdi + rcx + 0x10], al
mov rax, qword [rsp + 0x30]
lea rcx, [rax + 2]
cmp rcx, rdx
jl 0x43fac9
dec rdx
jmp 0x43f4df
shl r8, 6
mov rax, qword [rsp + 0x38]
add qword [rsp + 0x30], 3
or r14d, r8d
mov byte [rax + rcx + 0x10], r14b
jmp 0x43f4b1
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x43fb11
cmp rdx, 3
jne 0x440288
jmp 0x43fe25
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rbx, rdx
jge 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x0046db00]
mov r12b, byte [rbp + rax]
cmp r12b, 0xff
jne 0x43fc53
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov r13, rax
mov rax, qword [0x004743f0]
mov qword [r13], rax
lea rax, [0x0046d1d8]
mov qword [r13 + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r14, rax
call fcn.0044cb9b
mov r15, rax
xor eax, eax
test r14, r14
je 0x43fb99
mov rax, qword [r14]
test r15, r15
je 0x43fba1
mov rdi, qword [r15]
lea rcx, [rdi + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r15
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [r13 + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [r13 + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rbx, rdx
jge 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
mov bpl, byte [rbp + rax]
cmp bpl, 0xff
jne 0x43fd9e
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov r13, rax
mov rax, qword [0x004743f0]
mov qword [r13], rax
lea rax, [0x0046d1d8]
mov qword [r13 + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r14, rax
call fcn.0044cb9b
mov r15, rax
xor eax, eax
test r14, r14
je 0x43fce4
mov rax, qword [r14]
test r15, r15
je 0x43fcec
mov rdi, qword [r15]
lea rcx, [rdi + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r15
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [r13 + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [r13 + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
add rbx, 1
jo 0x43f450
or rdx, 0xffffffffffffffff
cmp qword [rsp + 0x38], 0
je 0x440232
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
cmp rsi, qword [rax]
jl 0x43fdd2
mov rdx, qword [rax]
dec rdx
jmp 0x440232
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
shl r12d, 2
shr bpl, 4
or ebp, r12d
mov byte [rax + rsi + 0x10], bpl
mov rax, rsi
inc rax
js 0x43f450
cmp rax, rsi
jb 0x43f450
mov qword [rsp + 0x30], rax
test rax, rax
jns 0x440288
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, qword [rsp + 0x30]
jmp 0x440283
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rdx, rbx
jle 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
lea r12, [0x0046db00]
mov r13b, byte [r12 + rax]
cmp r13b, 0xff
jne 0x43ff66
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov rbp, rax
mov rax, qword [0x004743f0]
mov qword [rbp], rax
lea rax, [0x0046d1d8]
mov qword [rbp + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r14, rax
call fcn.0044cb9b
mov r15, rax
xor eax, eax
test r14, r14
je 0x43feac
mov rax, qword [r14]
test r15, r15
je 0x43feb4
mov rdi, qword [r15]
lea rcx, [rdi + rax + 0x38]
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r14
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov rdx, r15
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [rbp + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [rbp + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, rbp
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
test rbx, rbx
js 0x43ff80
cmp rbx, qword [rsi]
jl 0x43ff88
mov rdx, qword [rsi]
jmp 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [r12 + rax]
cmp bpl, 0xff
jne 0x4400b7
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov r14, rax
mov rax, qword [0x004743f0]
mov qword [r14], rax
lea rax, [0x0046d1d8]
mov qword [r14 + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r15, rax
call fcn.0044cb9b
mov r8, rax
xor eax, eax
test r15, r15
je 0x43fff3
mov rax, qword [r15]
test r8, r8
je 0x43fffb
mov rdi, qword [r8]
lea rcx, [rdi + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r15
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov r8, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, r8
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [r14 + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [r14 + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
xor edi, edi
add rbx, 1
seto dil
jo 0x43f450
mov rdx, qword [rsi]
test rbx, rbx
js 0x43f4d9
cmp rbx, rdx
jge 0x43f4d9
movzx eax, byte [rsi + rbx + 0x10]
mov r12b, byte [r12 + rax]
cmp r12b, 0xff
jne 0x44020a
mov rcx, qword [0x00474160]
mov edx, 0x30
call fcn.0044aac7
mov rdx, qword [rsi]
mov r14, rax
mov rax, qword [0x004743f0]
mov qword [r14], rax
lea rax, [0x0046d1d8]
mov qword [r14 + 0x10], rax
cmp rbx, rdx
jge 0x43f4d9
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.0044cb9b
mov rcx, rbx
mov r15, rax
call fcn.0044cb9b
mov r8, rax
xor eax, eax
test r15, r15
je 0x440146
mov rax, qword [r15]
test r8, r8
je 0x44014e
mov rdi, qword [r8]
lea rcx, [rdi + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.0044aaef
lea rdx, [0x0046dac0]
mov rdi, rax
mov rcx, rax
call fcn.0040bfab
mov dl, byte [rsi + rbx + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rdi + rax + 0x10], dl
lea rdx, [0x0046daa0]
mov byte [rdi + rax + 0x11], 0
inc rax
mov qword [rdi], rax
call fcn.0040bfab
mov rdx, r15
mov rcx, rdi
call fcn.00418ce4
lea rdx, [0x0046da80]
mov rcx, rdi
call fcn.0040bfab
mov r8, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, r8
call fcn.00418ce4
lea rdx, [0x0046da60]
mov rcx, rdi
call fcn.0040bfab
lea rcx, [r14 + 0x18]
mov rdx, rdi
call fcn.0040a811
lea rcx, [r14 + 8]
xor edx, edx
call fcn.0040a811
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0046d1d8]
call fcn.0044c45f
add rbx, 1
jo 0x43f450
or rdx, 0xffffffffffffffff
cmp qword [rsp + 0x38], 0
je 0x440232
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
add rdx, rax
cmp qword [rsp + 0x30], rax
jl 0x44023c
mov rcx, qword [rsp + 0x30]
jmp 0x43f4df
mov rbx, qword [rsp + 0x30]
mov rcx, rbp
shl r13d, 2
mov rsi, qword [rsp + 0x38]
sar rcx, 4
or r13d, ecx
lea rcx, [rbx + 1]
mov byte [rsi + rbx + 0x10], r13b
cmp rax, rcx
jle 0x43f4df
shl rbp, 4
shr r12b, 2
mov rax, qword [rsp + 0x38]
add qword [rsp + 0x30], 2
or ebp, r12d
mov byte [rax + rcx + 0x10], bpl
jmp 0x440288
call fcn.0044be0e
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.0044ab38
xor eax, eax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret