Function at 0x570480
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x3f8]
cmp r12, qword [r14 + 0x10]
jbe 0x571d72
sub rsp, 0x478
mov qword [rsp + 0x470], rbp
lea rbp, [rsp + 0x470]
mov qword [rsp + 0x480], rax
mov qword [rsp + 0x488], rbx
mov qword [rsp + 0x490], rcx
mov qword [rsp + 0x498], rdi
mov byte [rsp + 0x4a0], sil
mov byte [rsp + 0x4a1], r8b
mov qword [rsp + 0x4a8], r9
mov qword [rsp + 0x4b0], r10
mov qword [rsp + 0x4b8], r11
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x200], rax
call fcn.004c0300
mov qword [rsp + 0x350], 0
movups xmmword [rsp + 0x358], xmm15
cmp qword [rsp + 0x4a8], 0
je 0x570528
jmp 0x570536
mov qword [rsp + 0x4b0], 0
jmp 0x570538
jmp 0x570538
mov rcx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0x1f0], rcx
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0x318], rax
test byte [rax], al
call fcn.004beac0
mov rcx, qword [rsp + 0x318]
mov rcx, qword [rcx]
add rcx, 0xffffffffffffffc4
neg rcx
cmp rcx, 0x40
sbb rdx, rdx
mov rbx, qword [rsp + 0x1f8]
shl rbx, cl
and rbx, rdx
mov qword [rsp + 0x4a8], rbx
jmp 0x570598
cmp qword [rsp + 0x4a8], 0
setne byte [rsp + 0x37]
jne 0x5705aa
jmp 0x5705be
mov rdx, qword [rsp + 0x4a8]
bt rdx, 0x3c
setae byte [rsp + 0x37]
jmp 0x5705c2
nop
jmp 0x5705c2
cmp byte [rsp + 0x37], 0
jne 0x5705cb
jmp 0x570605
mov rdx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rdx
shl rdx, 1
mov qword [rsp + 0x4a8], rdx
mov rdx, qword [rsp + 0x4b0]
mov qword [rsp + 0x1e8], rdx
dec rdx
mov qword [rsp + 0x4b0], rdx
jmp 0x570603
jmp 0x570598
cmp qword [rsp + 0x498], 0
setge byte [rsp + 0x37]
jge 0x570617
jmp 0x570627
cmp qword [rsp + 0x498], 0xf
setl byte [rsp + 0x37]
jmp 0x570629
jmp 0x570629
cmp byte [rsp + 0x37], 0
jne 0x570635
jmp 0x570740
mov rcx, qword [rsp + 0x498]
shl rcx, 2
cmp rcx, 0x40
sbb rdx, rdx
mov qword [rsp + 0x40], rcx
mov r8, qword [rsp + 0x4a8]
shl r8, cl
and r8, rdx
movabs rdx, 0xfffffffffffffff
and r8, rdx
mov qword [rsp + 0x50], r8
mov rdx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rdx
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffc4
neg rcx
cmp rcx, 0x40
sbb r9, r9
shr rdx, cl
and rdx, r9
mov qword [rsp + 0x4a8], rdx
mov r9, rdx
and edx, 1
or r8, rdx
movabs rdx, 0x800000000000000
cmp rdx, r8
jb 0x5706b8
jmp 0x5706ce
mov qword [rsp + 0x1f0], r9
lea rdx, [r9 + 1]
mov qword [rsp + 0x4a8], rdx
jmp 0x5706d0
jmp 0x5706d0
mov rdx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rdx
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffc4
neg rcx
cmp rcx, 0x40
sbb r8, r8
shl rdx, cl
and rdx, r8
mov qword [rsp + 0x4a8], rdx
bt rdx, 0x3d
jb 0x57070a
jmp 0x57073a
mov qword [rsp + 0x1f0], rdx
shr rdx, 1
mov qword [rsp + 0x4a8], rdx
mov rdx, qword [rsp + 0x4b0]
mov qword [rsp + 0x1e8], rdx
inc rdx
mov qword [rsp + 0x4b0], rdx
jmp 0x57073c
jmp 0x57073c
jmp 0x570742
jmp 0x570742
lea rdx, [0x00dfe6eb]
mov qword [rsp + 0x340], rdx
mov qword [rsp + 0x348], 0x10
cmp byte [rsp + 0x4a0], 0x58
je 0x570769
jmp 0x570786
lea rdx, [0x00dfe6db]
mov qword [rsp + 0x340], rdx
mov qword [rsp + 0x348], 0x10
jmp 0x570788
jmp 0x570788
cmp byte [rsp + 0x4a1], 0
jne 0x570797
jmp 0x5708ed
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x428], rdx
mov qword [rsp + 0x430], r8
mov qword [rsp + 0x438], r9
inc r8
mov qword [rsp + 0x1e0], r8
mov qword [rsp + 0x308], rdx
mov rdx, qword [rsp + 0x1e0]
mov qword [rsp + 0x1d8], rdx
mov rdx, qword [rsp + 0x438]
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1c8], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x300], rsi
mov rdx, qword [rsp + 0x1e0]
nop dword [rax]
cmp qword [rsp + 0x438], rdx
jae 0x57082c
jmp 0x57083e
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x430], rcx
jmp 0x57087f
mov rbx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x308]
nop
call fcn.0049e240
mov qword [rsp + 0x428], rax
mov qword [rsp + 0x430], rbx
mov qword [rsp + 0x438], rcx
jmp 0x57087f
mov rcx, qword [rsp + 0x1e0]
lea rdx, [rcx - 1]
mov qword [rsp + 0x1c0], rdx
mov rdx, qword [rsp + 0x428]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
call fcn.004beb20
mov rcx, qword [rsp + 0x310]
mov byte [rcx], 0x2d
mov rcx, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x430]
mov rbx, qword [rsp + 0x438]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
jmp 0x5708ef
jmp 0x5708ef
mov rdx, qword [rsp + 0x4a8]
shr rdx, 0x3c
and edx, 1
add edx, 0x30
mov byte [rsp + 0x35], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x410], rdx
mov qword [rsp + 0x418], r8
mov qword [rsp + 0x420], r9
add r8, 3
mov qword [rsp + 0x1b8], r8
mov qword [rsp + 0x2f8], rdx
mov rdx, qword [rsp + 0x1b8]
mov qword [rsp + 0x1b0], rdx
mov rdx, qword [rsp + 0x420]
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1a0], 3
lea rsi, [0x00d61940]
mov qword [rsp + 0x2f0], rsi
mov rdx, qword [rsp + 0x1b8]
cmp qword [rsp + 0x420], rdx
jae 0x570998
jmp 0x5709aa
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0x418], rcx
jmp 0x5709e9
mov rbx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x2f8]
call fcn.0049e240
mov qword [rsp + 0x410], rax
mov qword [rsp + 0x418], rbx
mov qword [rsp + 0x420], rcx
jmp 0x5709e9
mov rcx, qword [rsp + 0x1b8]
lea rdx, [rcx - 3]
mov qword [rsp + 0x198], rdx
mov rdx, qword [rsp + 0x410]
lea rax, [rcx + rdx]
lea rax, [rax - 3]
mov qword [rsp + 0x310], rax
call fcn.004beb20
mov rcx, qword [rsp + 0x310]
mov byte [rcx], 0x30
mov rcx, qword [rsp + 0x1b8]
lea rdx, [rcx - 2]
mov qword [rsp + 0x190], rdx
mov rdx, qword [rsp + 0x410]
lea rax, [rcx + rdx]
lea rax, [rax - 2]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x4a0]
mov byte [rsp + 0x38], cl
nop dword [rax]
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x1b8]
lea rdx, [rcx - 1]
mov qword [rsp + 0x188], rdx
mov rdx, qword [rsp + 0x410]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x35]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x410]
mov rdx, qword [rsp + 0x418]
mov rbx, qword [rsp + 0x420]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
mov rcx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rcx
shl rcx, 4
mov qword [rsp + 0x4a8], rcx
cmp qword [rsp + 0x498], 0
setl byte [rsp + 0x37]
jl 0x570b1b
jmp 0x570b2b
cmp qword [rsp + 0x4a8], 0
setne byte [rsp + 0x37]
jmp 0x570b2d
jmp 0x570b2d
cmp byte [rsp + 0x37], 0
jne 0x570b39
jmp 0x570c90
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x3f8], rdx
mov qword [rsp + 0x400], r8
mov qword [rsp + 0x408], r9
inc r8
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x2e8], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x178], rdx
mov rdx, qword [rsp + 0x408]
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x168], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x2e0], rsi
mov rdx, qword [rsp + 0x180]
nop
cmp qword [rsp + 0x408], rdx
jae 0x570bcc
jmp 0x570bde
mov rcx, qword [rsp + 0x180]
mov qword [rsp + 0x400], rcx
jmp 0x570c1f
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x168]
mov rax, qword [rsp + 0x2e8]
nop
call fcn.0049e240
mov qword [rsp + 0x3f8], rax
mov qword [rsp + 0x400], rbx
mov qword [rsp + 0x408], rcx
jmp 0x570c1f
mov rcx, qword [rsp + 0x180]
lea rdx, [rcx - 1]
mov qword [rsp + 0x160], rdx
mov rdx, qword [rsp + 0x3f8]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
call fcn.004beb20
mov rcx, qword [rsp + 0x310]
mov byte [rcx], 0x2e
mov rcx, qword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x400]
mov rbx, qword [rsp + 0x408]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
jmp 0x571b9a
cmp qword [rsp + 0x498], 0
jg 0x570ca5
nop dword [rax + rax]
jmp 0x570e05
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x3c8], rdx
mov qword [rsp + 0x3d0], r8
mov qword [rsp + 0x3d8], r9
inc r8
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x2c8], rdx
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp + 0x3d8]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x2c0], rsi
mov rdx, qword [rsp + 0x128]
cmp qword [rsp + 0x3d8], rdx
jae 0x570d37
jmp 0x570d49
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0x3d0], rcx
jmp 0x570d88
mov rbx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x2c8]
call fcn.0049e240
mov qword [rsp + 0x3c8], rax
mov qword [rsp + 0x3d0], rbx
mov qword [rsp + 0x3d8], rcx
jmp 0x570d88
mov rcx, qword [rsp + 0x128]
lea rdx, [rcx - 1]
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x3c8]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
call fcn.004beb20
mov rcx, qword [rsp + 0x310]
mov byte [rcx], 0x2e
mov rcx, qword [rsp + 0x3c8]
mov rdx, qword [rsp + 0x3d0]
mov rbx, qword [rsp + 0x3d8]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
mov qword [rsp + 0x48], 0
nop dword [rax]
jmp 0x5719a3
jmp 0x570e07
jmp 0x570e09
mov byte [rsp + 0x2f], 0x50
movzx eax, byte [rsp + 0x4a0]
mov byte [rsp + 0x32], al
call fcn.00564ee0
mov byte [rsp + 0x36], al
cmp byte [rsp + 0x4a0], al
je 0x570e2e
jmp 0x570e35
mov byte [rsp + 0x2f], 0x70
jmp 0x570e37
jmp 0x570e37
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x398], rdx
mov qword [rsp + 0x3a0], r8
mov qword [rsp + 0x3a8], r9
inc r8
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x2a8], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0x3a8]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb8], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x2a0], rsi
mov rdx, qword [rsp + 0x3a8]
nop dword [rax]
cmp qword [rsp + 0xd0], rdx
jbe 0x570ecc
jmp 0x570ede
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x3a0], rcx
jmp 0x570f1f
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x2a8]
nop
call fcn.0049e240
mov qword [rsp + 0x398], rax
mov qword [rsp + 0x3a0], rbx
mov qword [rsp + 0x3a8], rcx
jmp 0x570f1f
mov rcx, qword [rsp + 0xd0]
lea rdx, [rcx - 1]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0x398]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x2f]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x398]
mov rdx, qword [rsp + 0x3a0]
mov rbx, qword [rsp + 0x3a8]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
cmp qword [rsp + 0x4b0], 0
jl 0x570fa5
jmp 0x570fbf
mov byte [rsp + 0x2f], 0x2d
mov rdx, qword [rsp + 0x4b0]
neg rdx
mov qword [rsp + 0x4b0], rdx
jmp 0x570fc6
mov byte [rsp + 0x2f], 0x2b
jmp 0x570fc6
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x380], rdx
mov qword [rsp + 0x388], r8
mov qword [rsp + 0x390], r9
inc r8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x298], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x390]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x290], rsi
mov rdx, qword [rsp + 0x390]
cmp qword [rsp + 0xa8], rdx
jbe 0x571058
jmp 0x57106a
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x388], rcx
jmp 0x5710a9
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x298]
call fcn.0049e240
mov qword [rsp + 0x380], rax
mov qword [rsp + 0x388], rbx
mov qword [rsp + 0x390], rcx
jmp 0x5710a9
mov rcx, qword [rsp + 0xa8]
lea rdx, [rcx - 1]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x380]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x2f]
mov byte [rsp + 0x38], cl
nop
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x380]
mov rdx, qword [rsp + 0x388]
mov rbx, qword [rsp + 0x390]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
cmp qword [rsp + 0x4b0], 0x64
jl 0x571134
jmp 0x571335
jmp 0x571136
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x31], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x30], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x368], rdx
mov qword [rsp + 0x370], r8
mov qword [rsp + 0x378], r9
add r8, 2
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x288], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x378]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], 2
lea rsi, [0x00d61940]
mov qword [rsp + 0x280], rsi
mov rdx, qword [rsp + 0x80]
nop dword [rax]
cmp qword [rsp + 0x378], rdx
jae 0x57122c
jmp 0x57123e
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x370], rcx
jmp 0x571274
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x288]
call fcn.0049e240
mov qword [rsp + 0x368], rax
mov qword [rsp + 0x370], rbx
mov qword [rsp + 0x378], rcx
jmp 0x571274
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx - 2]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x368]
lea rax, [rcx + rdx]
lea rax, [rax - 2]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x31]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx - 1]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x368]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x30]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x370]
mov rbx, qword [rsp + 0x378]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
jmp 0x571946
cmp qword [rsp + 0x4b0], 0x3e8
jl 0x571348
jmp 0x5715ff
jmp 0x57134a
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xa3d70a3d70a3d70b
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 6
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x3f], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x3e], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x3d], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x458], rdx
mov qword [rsp + 0x460], r8
mov qword [rsp + 0x468], r9
add r8, 3
mov qword [rsp + 0x278], r8
mov qword [rsp + 0x338], rdx
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x270], rdx
mov rdx, qword [rsp + 0x468]
mov qword [rsp + 0x268], rdx
mov qword [rsp + 0x260], 3
lea rsi, [0x00d61940]
mov qword [rsp + 0x330], rsi
mov rdx, qword [rsp + 0x278]
cmp qword [rsp + 0x468], rdx
jae 0x57149e
jmp 0x5714b0
mov rcx, qword [rsp + 0x278]
mov qword [rsp + 0x460], rcx
jmp 0x5714ef
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x268]
mov rdi, qword [rsp + 0x260]
mov rax, qword [rsp + 0x338]
call fcn.0049e240
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x460], rbx
mov qword [rsp + 0x468], rcx
jmp 0x5714ef
mov rcx, qword [rsp + 0x278]
lea rdx, [rcx - 3]
mov qword [rsp + 0x258], rdx
mov rdx, qword [rsp + 0x458]
lea rax, [rcx + rdx]
lea rax, [rax - 3]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3f]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x278]
lea rdx, [rcx - 2]
mov qword [rsp + 0x250], rdx
mov rdx, qword [rsp + 0x458]
lea rax, [rcx + rdx]
lea rax, [rax - 2]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3e]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x278]
lea rdx, [rcx - 1]
mov qword [rsp + 0x248], rdx
mov rdx, qword [rsp + 0x458]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3d]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x458]
mov rdx, qword [rsp + 0x460]
mov rbx, qword [rsp + 0x468]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
jmp 0x571946
nop
jmp 0x571602
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0x4189374bc6a7ef9e
mov rcx, rdx
imul rdx
sar rdx, 8
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x3c], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xa3d70a3d70a3d70b
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 6
sar rcx, 0x3f
sub rdx, rcx
movzx r8d, dl
imul r8d, r8d, 0x19a
shr r8d, 0xc
lea r8d, [r8 + r8*4]
shl r8d, 1
sub edx, r8d
add edx, 0x30
mov byte [rsp + 0x3b], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x3a], dl
mov rdx, qword [rsp + 0x4b0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x39], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x440], rdx
mov qword [rsp + 0x448], r8
mov qword [rsp + 0x450], r9
add r8, 4
mov qword [rsp + 0x240], r8
mov qword [rsp + 0x328], rdx
mov rdx, qword [rsp + 0x240]
mov qword [rsp + 0x238], rdx
mov rdx, qword [rsp + 0x450]
mov qword [rsp + 0x230], rdx
mov qword [rsp + 0x228], 4
lea rsi, [0x00d61940]
mov qword [rsp + 0x320], rsi
mov rdx, qword [rsp + 0x240]
cmp qword [rsp + 0x450], rdx
jae 0x571799
jmp 0x5717ab
mov rcx, qword [rsp + 0x240]
mov qword [rsp + 0x448], rcx
jmp 0x5717ea
mov rbx, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x230]
mov rdi, qword [rsp + 0x228]
mov rax, qword [rsp + 0x328]
call fcn.0049e240
mov qword [rsp + 0x440], rax
mov qword [rsp + 0x448], rbx
mov qword [rsp + 0x450], rcx
jmp 0x5717ea
mov rcx, qword [rsp + 0x240]
lea rdx, [rcx - 4]
mov qword [rsp + 0x220], rdx
mov rdx, qword [rsp + 0x440]
lea rax, [rcx + rdx]
lea rax, [rax - 4]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3c]
mov byte [rsp + 0x38], cl
nop
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x240]
lea rdx, [rcx - 3]
mov qword [rsp + 0x218], rdx
mov rdx, qword [rsp + 0x440]
lea rax, [rcx + rdx]
lea rax, [rax - 3]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3b]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x240]
lea rdx, [rcx - 2]
mov qword [rsp + 0x210], rdx
mov rdx, qword [rsp + 0x440]
lea rax, [rcx + rdx]
lea rax, [rax - 2]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x3a]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x240]
lea rdx, [rcx - 1]
mov qword [rsp + 0x208], rdx
mov rdx, qword [rsp + 0x440]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x39]
mov byte [rsp + 0x38], cl
nop dword [rax + rax]
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x440]
mov rdx, qword [rsp + 0x448]
mov rbx, qword [rsp + 0x450]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
jmp 0x571946
mov rax, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x488]
mov rdx, qword [rsp + 0x490]
mov qword [rsp + 0x350], rax
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x360], rdx
call fcn.004c0340
mov rbx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x360]
mov rax, qword [rsp + 0x350]
mov rbp, qword [rsp + 0x470]
add rsp, 0x478
ret
mov rdx, qword [rsp + 0x48]
cmp qword [rsp + 0x498], rdx
jg 0x5719b7
jmp 0x571b90
mov rax, qword [rsp + 0x4a8]
shr rax, 0x3c
and eax, 0xf
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x340]
nop
cmp rcx, rax
ja 0x5719ea
jmp 0x571b95
add rdx, rax
movzx edx, byte [rdx]
mov byte [rsp + 0x33], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x3b0], rdx
mov qword [rsp + 0x3b8], r8
mov qword [rsp + 0x3c0], r9
inc r8
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x2b8], rdx
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0xf0], rdx
mov rdx, qword [rsp + 0x3c0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xe0], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x2b0], rsi
mov rdx, qword [rsp + 0x3c0]
nop word [rax + rax]
cmp qword [rsp + 0xf8], rdx
jbe 0x571a8c
jmp 0x571a9e
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x3b8], rcx
jmp 0x571adf
mov rbx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x2b8]
nop
call fcn.0049e240
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rbx
mov qword [rsp + 0x3c0], rcx
jmp 0x571adf
mov rcx, qword [rsp + 0xf8]
lea rdx, [rcx - 1]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0x3b0]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x33]
mov byte [rsp + 0x38], cl
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3b8]
mov rbx, qword [rsp + 0x3c0]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
mov rcx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rcx
shl rcx, 4
mov qword [rsp + 0x4a8], rcx
jmp 0x571b76
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x1e8], rdx
inc rdx
mov qword [rsp + 0x48], rdx
jmp 0x5719a3
jmp 0x570e07
call fcn.004bd700
cmp qword [rsp + 0x4a8], 0
jne 0x571baa
jmp 0x571d67
mov rax, qword [rsp + 0x4a8]
shr rax, 0x3c
and eax, 0xf
mov qword [rsp + 0x158], rax
mov rcx, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x340]
cmp rcx, rax
ja 0x571bdb
jmp 0x571d6c
add rdx, rax
movzx edx, byte [rdx]
mov byte [rsp + 0x34], dl
mov rdx, qword [rsp + 0x480]
mov r8, qword [rsp + 0x488]
mov r9, qword [rsp + 0x490]
mov qword [rsp + 0x3e0], rdx
mov qword [rsp + 0x3e8], r8
mov qword [rsp + 0x3f0], r9
inc r8
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x2d8], rdx
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x3f0]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x138], 1
lea rsi, [0x00d61940]
mov qword [rsp + 0x2d0], rsi
mov rdx, qword [rsp + 0x150]
cmp qword [rsp + 0x3f0], rdx
jae 0x571c77
jmp 0x571c89
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x3e8], rcx
jmp 0x571cc8
mov rbx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x138]
mov rax, qword [rsp + 0x2d8]
call fcn.0049e240
mov qword [rsp + 0x3e0], rax
mov qword [rsp + 0x3e8], rbx
mov qword [rsp + 0x3f0], rcx
jmp 0x571cc8
mov rcx, qword [rsp + 0x150]
lea rdx, [rcx - 1]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x3e0]
lea rax, [rcx + rdx]
lea rax, [rax - 1]
mov qword [rsp + 0x310], rax
movzx ecx, byte [rsp + 0x34]
mov byte [rsp + 0x38], cl
nop dword [rax]
call fcn.004beb20
movzx ecx, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x310]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x3e0]
mov rdx, qword [rsp + 0x3e8]
mov rbx, qword [rsp + 0x3f0]
mov qword [rsp + 0x480], rcx
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x490], rbx
mov rcx, qword [rsp + 0x4a8]
mov qword [rsp + 0x1f0], rcx
shl rcx, 4
mov qword [rsp + 0x4a8], rcx
jmp 0x571d62
jmp 0x571b9a
jmp 0x570e09
call fcn.004bd700
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
nop
call fcn.004bb060
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
jmp fcn.00570480