Function at 0x140010980
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x638
mov r12, qword [rdx]
test r12, r12
je 0x140010e16
mov r15, qword [rdx + 8]
test r15, r15
je 0x140010e16
mov r14, qword [rdx + 0x10]
test r14, r14
je 0x140010e16
mov r9, r12
add r9, r14
jb 0x140010e16
mov r13, r12
sub r13, r15
jb 0x140010e16
mov rax, r9
shr rax, 0x3d
jne 0x140010e16
mov rsi, rcx
mov qword [rsp + 0x150], rdx
movsx rbx, word [rdx + 0x18]
mov rax, r9
shr rax, 0x20
mov rcx, r9
shl rcx, 0x20
lea r11d, [rbx - 0x20]
test rax, rax
cmovne r11d, ebx
mov qword [rsp + 0x190], r9
cmovne rcx, r9
mov rax, rcx
shr rax, 0x30
mov r9, rcx
shl r9, 0x10
lea r10d, [r11 - 0x10]
test rax, rax
cmovne r10d, r11d
cmovne r9, rcx
mov rax, r9
shr rax, 0x38
mov rcx, r9
shl rcx, 8
lea edi, [r10 - 8]
test rax, rax
cmovne edi, r10d
cmovne rcx, r9
mov rax, rcx
shr rax, 0x3c
mov r10, rcx
shl r10, 4
lea r11d, [rdi - 4]
test rax, rax
cmovne r11d, edi
cmovne r10, rcx
mov rax, r10
shr rax, 0x3e
lea r9, [r10*4]
lea ebp, [r11 - 2]
test rax, rax
cmovne ebp, r11d
cmovne r9, r10
xor eax, eax
test r9, r9
setns al
sub ebp, eax
mov ecx, ebx
sub cx, bp
js 0x140010e16
and ecx, 0x3f
mov rax, r13
shl rax, cl
mov r10, rax
shr r10, cl
cmp r10, r13
jne 0x140010e16
mov rdx, r12
shl rdx, cl
mov r10, rdx
shr r10, cl
cmp r10, r12
jne 0x140010e16
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], r15
mov qword [rsp + 0x60], rsi
mov ecx, 0xffffffa0
sub ecx, ebp
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul r10, rcx, 0x7b4dc993
mov rcx, r10
shr rcx, 0x3f
sar r10, 0x2a
add r10d, ecx
cmp r10d, 0x51
jae 0x140010e16
test r9, r9
setns cl
shl r9, cl
mov r10d, r10d
shl r10, 4
lea r11, [0x141d31ff8]
mov r15, qword [r10 + r11]
movzx ecx, word [r10 + r11 + 0xa]
mov dword [rsp + 0x24], ecx
mov rbx, r9
shr rbx, 0x20
mov r9d, r9d
mov ecx, r15d
shr r15, 0x20
mov rsi, r15
imul rsi, r9
mov r14, rsi
mov qword [rsp + 0x40], rsi
mov rdi, rcx
imul rdi, rbx
imul r9, rcx
shr r9, 0x20
mov esi, edi
add rsi, r9
mov r14d, r14d
add r14, rsi
add bp, word [r10 + r11 + 8]
mov r11, rax
shr r11, 0x20
mov eax, eax
mov r9, r15
imul r9, r11
mov qword [rsp + 0x28], r9
mov r13, r15
imul r13, rax
imul r11, rcx
imul rax, rcx
shr rax, 0x20
mov r9d, r11d
add r9, rax
mov r10d, r13d
add r10, r9
mov r9, rbp
mov rbp, rdx
shr rbp, 0x20
mov edx, edx
mov r12, r15
imul r12, rdx
mov rsi, rcx
imul rsi, rbp
imul rcx, rdx
shr rcx, 0x20
mov edx, esi
add rdx, rcx
mov eax, r12d
add rax, rdx
mov rcx, r15
mov qword [rsp + 0x180], rbx
imul rcx, rbx
sub r14, 0xffffffff80000000
shr rdi, 0x20
mov rdx, qword [rsp + 0x40]
shr rdx, 0x20
shr r14, 0x20
neg r9d
sub r10, 0xffffffff80000000
shr r11, 0x20
mov qword [rsp + 0x50], r11
mov r11, rdi
shr r13, 0x20
mov qword [rsp + 0x68], r13
shr r10, 0x20
mov qword [rsp + 0x198], r10
mov r10, rcx
mov rbx, r15
imul rbx, rbp
sub rax, 0xffffffff80000000
add rcx, rdi
mov qword [rsp + 0x40], rdx
add rcx, rdx
mov qword [rsp + 0x120], r14
lea rdi, [r14 + rcx]
inc rdi
and r9d, 0x3f
mov qword [rsp + 0x30], rdi
mov ecx, r9d
shr rdi, cl
shr rsi, 0x20
shr r12, 0x20
mov edx, 1
mov r13, r9
shl rdx, cl
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x160], rbx
lea rcx, [rsi + rbx]
mov qword [rsp + 0x168], r12
add rcx, r12
mov qword [rsp + 0x38], rcx
shr rax, 0x20
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x188], rdx
lea rax, [rdx - 1]
mov qword [rsp + 0x58], rax
cmp edi, 0x2710
mov qword [rsp + 0x128], r11
mov qword [rsp + 0x118], r10
mov qword [rsp + 0x178], rbp
jae 0x140010d07
mov rcx, r13
cmp edi, 0x64
jae 0x140010d35
xor r11d, r11d
cmp edi, 0xa
setae r11b
lea r9d, [r11 + r11*8]
inc r9d
jmp 0x140010d52
cmp edi, 0xf4240
jae 0x14001104d
mov rcx, r13
cmp edi, 0x186a0
setb r11b
mov edx, 0x2710
mov r9d, 0x186a0
cmovb r9d, edx
xor r11b, 5
jmp 0x140010d52
cmp edi, 0x3e8
setb r11b
mov edx, 0x64
mov r9d, 0x3e8
cmovb r9d, edx
xor r11b, 3
mov r14, qword [rsp + 0x28]
mov r12d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x50]
mov rax, qword [rsp + 0x158]
add qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0x30]
mov r13, rsi
mov rax, qword [rsp + 0x58]
and r13, rax
movzx ebp, r11b
mov edx, ebp
sub edx, r12d
inc edx
mov dword [rsp + 0x24], edx
add r14, r10
add r14, qword [rsp + 0x68]
add r14, qword [rsp + 0x198]
mov qword [rsp + 0x28], r14
sub rsi, r14
mov qword [rsp + 0x68], rsi
lea r11, [rsi + 1]
mov r10, r11
and r10, rax
xor r12d, r12d
mov ebx, 0xcccccccd
mov qword [rsp + 0x48], r8
nop word cs:[rax + rax]
mov eax, edi
xor edx, edx
div r9d
add al, 0x30
mov edi, edx
mov rdx, rdi
shl rdx, cl
mov byte [r8 + r12], al
lea r14, [rdx + r13]
mov rsi, r11
sub rsi, r14
ja 0x140010e18
cmp rbp, r12
je 0x140010f31
mov eax, r9d
imul rax, rbx
shr rax, 0x23
inc r12
cmp r9d, 0xa
mov r9d, eax
mov r8, qword [rsp + 0x48]
jae 0x140010dd0
ud2
mov r10d, r9d
shl r10, cl
mov r8, qword [rsp + 0x30]
sub r8, qword [rsp + 0x38]
lea rcx, [r8 + 1]
dec r8
cmp rsi, r10
setb dil
mov qword [rsp + 0x30], r8
cmp r8, r14
jbe 0x1400110b3
cmp rsi, r10
jb 0x1400110b3
mov rdi, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x40]
lea r8, [rdi + rbx]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x120]
add r8, rcx
add r8, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x170]
add rbp, qword [rsp + 0x168]
add rbp, qword [rsp + 0x158]
mov r11, qword [rsp + 0x160]
add r11, rbp
mov r9, r8
sub r9, r11
sub r9, r14
sub r8, qword [rsp + 0x28]
lea r11, [r10 + r13]
sub r8, r11
sub r8, rdx
mov rsi, qword [rsp + 0x178]
sub rsi, qword [rsp + 0x180]
imul r15, rsi
add r15, rbp
add r15, r11
sub r15, rdi
sub r15, rbx
sub r15, rcx
mov rcx, qword [rsp + 0x38]
add r8, 2
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x30]
nop word [rax + rax]
lea rsi, [rdx + r11]
cmp rsi, rbp
jb 0x140010f06
lea rdi, [rdx + r15]
cmp r9, rdi
jb 0x1400110ab
dec al
mov byte [rbx + r12], al
sub r8, r10
setb dil
add r13, r10
cmp rsi, rbp
jae 0x140010f29
sub r9, r10
add r11, r10
add r15, r10
test dil, dil
je 0x140010ef0
add rdx, r13
jmp 0x1400110b0
inc r12
mov r8d, 1
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
nop word cs:[rax + rax]
cmp r12, 0x10
ja 0x140010e16
mov rax, r8
add r13, r13
lea rdx, [r13*4]
add rdx, r13
mov r13, rdx
and r13, rsi
add r8, r8
lea r8, [r8 + r8*4]
add r10, r10
lea r10, [r10 + r10*4]
shr rdx, cl
lea r9d, [rdx + 0x30]
mov byte [rbx + r12], r9b
inc r12
mov r11, r10
sub r11, r13
jbe 0x140010f60
sub r14, rdi
imul r14, r8
lea rcx, [r14 + r8]
cmp r11, r15
setb sil
jb 0x1400110eb
sub r14, r8
mov r9, r14
sub r9, r13
jbe 0x1400110eb
add dl, 0x2f
mov r11, r10
sub r11, r15
sub r11, r13
mov r8, qword [rsp + 0x128]
add r8, qword [rsp + 0x40]
add r8, qword [rsp + 0x120]
add r8, qword [rsp + 0x118]
add r8, r8
lea r8, [r8 + r8*4]
add rdi, rdi
lea rdi, [rdi + rdi*4]
sub rdi, r8
imul rdi, rax
add rdi, r15
nop dword [rax]
lea r8, [r15 + r13]
cmp r8, r14
jb 0x140011026
lea rsi, [rdi + r13]
cmp r9, rsi
jb 0x1400110e9
mov byte [rbx + r12 - 1], dl
sub r11, r15
setb sil
cmp r8, r14
jae 0x1400110ee
dec dl
sub r9, r15
mov r13, r8
test sil, sil
je 0x140011010
jmp 0x1400110ee
cmp edi, 0x5f5e100
mov r14, qword [rsp + 0x28]
mov r12d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x50]
mov rcx, r13
jae 0x140011089
cmp edi, 0x989680
setb r11b
mov edx, 0xf4240
mov r9d, 0x989680
cmovb r9d, edx
xor r11b, 7
jmp 0x140010d61
cmp edi, 0x3b9aca00
setb r11b
mov edx, 0x5f5e100
mov r9d, 0x3b9aca00
cmovb r9d, edx
xor r11b, 9
jmp 0x140010d61
add rdx, r13
xor edi, edi
mov r14, rdx
mov rax, rcx
sub rax, r14
jbe 0x1400110cd
test dil, dil
jne 0x1400110cd
add r10, r14
sub r10, rcx
jb 0x14001112d
cmp rax, r10
jae 0x14001112d
cmp r14, 2
jb 0x14001112d
mov rax, qword [rsp + 0x68]
add rax, 0xfffffffffffffffd
cmp r14, rax
ja 0x14001112d
inc r12
jmp 0x14001146c
xor esi, esi
mov r8, r13
mov rdx, rcx
sub rdx, r8
jbe 0x140011108
test sil, sil
jne 0x140011108
add r15, r8
sub r15, rcx
jb 0x14001112d
cmp rdx, r15
jae 0x14001112d
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r8
ja 0x14001112d
shl rax, 3
lea rax, [rax + rax*4]
sub r10, rax
cmp r8, r10
jbe 0x14001146c
mov rax, qword [rsp + 0x190]
dec rax
je 0x140011144
bsr rax, rax
xor rax, 0x3f
jmp 0x140011149
mov eax, 0x40
mov rsi, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x150]
movzx ecx, byte [rcx + 0x1a]
mov byte [rsp + 0x38], cl
mov rcx, rsi
sub rcx, rax
imul rax, rcx, 0x4d104d42
movabs rdi, 0x1344135080
add rdi, rax
shr rdi, 0x20
xor eax, eax
xor ecx, ecx
mov rdx, r10
shr rdx, 0x20
cmove edx, eax
setne cl
inc rcx
mov qword [rsp + 0x110], rcx
mov dword [rsp + 0x70], r10d
mov dword [rsp + 0x74], edx
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
mov qword [rsp + 0x108], 0
xor ecx, ecx
mov rdx, r9
shr rdx, 0x20
cmove edx, eax
setne cl
inc rcx
mov qword [rsp + 0x390], rcx
mov dword [rsp + 0x2f0], r9d
mov dword [rsp + 0x2f4], edx
movups xmmword [rsp + 0x2f8], xmm0
movups xmmword [rsp + 0x308], xmm0
movups xmmword [rsp + 0x318], xmm0
movups xmmword [rsp + 0x328], xmm0
movups xmmword [rsp + 0x338], xmm0
movups xmmword [rsp + 0x348], xmm0
movups xmmword [rsp + 0x358], xmm0
movups xmmword [rsp + 0x368], xmm0
movups xmmword [rsp + 0x378], xmm0
mov qword [rsp + 0x388], 0
xor ecx, ecx
mov rdx, r8
shr rdx, 0x20
cmove edx, eax
setne cl
inc rcx
mov qword [rsp + 0x240], rcx
mov dword [rsp + 0x1a0], r8d
mov dword [rsp + 0x1a4], edx
movups xmmword [rsp + 0x1a8], xmm0
movups xmmword [rsp + 0x1b8], xmm0
movups xmmword [rsp + 0x1c8], xmm0
movups xmmword [rsp + 0x1d8], xmm0
movups xmmword [rsp + 0x1e8], xmm0
movups xmmword [rsp + 0x1f8], xmm0
movups xmmword [rsp + 0x208], xmm0
movups xmmword [rsp + 0x218], xmm0
movups xmmword [rsp + 0x228], xmm0
mov qword [rsp + 0x238], 0
movups xmmword [rsp + 0x2d8], xmm0
movups xmmword [rsp + 0x2cc], xmm0
movups xmmword [rsp + 0x2bc], xmm0
movups xmmword [rsp + 0x2ac], xmm0
movups xmmword [rsp + 0x29c], xmm0
movups xmmword [rsp + 0x28c], xmm0
movups xmmword [rsp + 0x27c], xmm0
movups xmmword [rsp + 0x26c], xmm0
movups xmmword [rsp + 0x25c], xmm0
movups xmmword [rsp + 0x24c], xmm0
mov qword [rsp + 0x2e8], 1
mov dword [rsp + 0x248], 1
test si, si
js 0x1400113ba
lea rcx, [rsp + 0x70]
mov rdx, rsi
call fcn.1400151d0
lea rcx, [rsp + 0x2f0]
mov rdx, rsi
call fcn.1400151d0
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.1400151d0
test di, di
js 0x1400113d2
mov edx, edi
and edx, 0x7fff
lea rcx, [rsp + 0x248]
jmp 0x140011401
neg esi
movsx rdx, si
lea rcx, [rsp + 0x248]
call fcn.1400151d0
test di, di
jns 0x1400113a8
mov eax, edi
neg eax
movzx esi, ax
lea rcx, [rsp + 0x70]
mov rdx, rsi
call fcn.1400142f0
lea rcx, [rsp + 0x2f0]
mov rdx, rsi
call fcn.1400142f0
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.1400142f0
mov r12, qword [rsp + 0x110]
lea rcx, [rsp + 0x398]
lea rdx, [rsp + 0x70]
mov r8d, 0xa0
call fcn.140055470
mov qword [rsp + 0x438], r12
mov r15, qword [rsp + 0x240]
cmp r12, r15
mov rax, r15
cmova rax, r12
cmp rax, 0x29
jae 0x140010e16
test rax, rax
movzx r11d, byte [rsp + 0x38]
je 0x140011465
cmp rax, 1
jne 0x14001148a
xor edx, edx
xor r8d, r8d
jmp 0x140011511
xor eax, eax
jmp 0x14001155c
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov qword [rax + 8], r12
mov ecx, dword [rsp + 0x24]
mov word [rax + 0x10], cx
jmp 0x140012422
mov ecx, eax
and ecx, 0x3e
xor r8d, r8d
xor edx, edx
nop word cs:[rax + rax]
mov r9d, dword [rsp + rdx*4 + 0x398]
add r9d, dword [rsp + rdx*4 + 0x1a0]
setb r10b
movzx r8d, r8b
and r8d, 1
add r8d, r9d
setb r9b
or r9b, r10b
mov dword [rsp + rdx*4 + 0x398], r8d
mov r8d, dword [rsp + rdx*4 + 0x39c]
add r8d, dword [rsp + rdx*4 + 0x1a4]
setb r10b
movzx r9d, r9b
and r9d, 1
add r9d, r8d
mov dword [rsp + rdx*4 + 0x39c], r9d
lea rdx, [rdx + 2]
setb r8b
or r8b, r10b
cmp rcx, rdx
jne 0x1400114a0
test al, 1
jne 0x140011511
test r8b, 1
je 0x14001155c
jmp 0x140011544
mov r9d, dword [rsp + rdx*4 + 0x398]
mov r10d, dword [rsp + rdx*4 + 0x1a0]
lea ecx, [r9 + r10]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + rdx*4 + 0x398], r8d
add r9d, r10d
jb 0x140011544
test cl, cl
je 0x14001155c
cmp rax, 0x28
je 0x140010e16
mov dword [rsp + rax*4 + 0x398], 1
inc rax
mov qword [rsp + 0x438], rax
mov r13, qword [rsp + 0x2e8]
cmp r13, rax
cmova rax, r13
cmp rax, 0x29
jae 0x140010e16
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x1400115c1
mov r8d, dword [rsp + rax + 0x394]
xor edx, edx
cmp r8d, dword [rsp + rax + 0x244]
setne dl
cmova edx, ecx
add rax, 0xfffffffffffffffc
test dl, dl
je 0x140011590
cmp dl, r11b
jge 0x1400115df
inc edi
jmp 0x14001172b
add rax, rsp
add rax, 0x398
lea rcx, [rsp + 0x398]
cmp rax, rcx
setne dl
neg dl
cmp dl, r11b
jl 0x1400115ba
cmp r12, 0x28
ja 0x140010e16
test r12, r12
je 0x140011637
lea rcx, [r12*4]
xor edx, edx
xor eax, eax
nop word [rax + rax]
mov r8d, dword [rsp + rdx + 0x70]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x70], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x140011600
test rax, rax
je 0x14001163a
cmp r12, 0x28
je 0x140010e16
mov dword [rsp + r12*4 + 0x70], eax
inc r12
jmp 0x14001163a
xor r12d, r12d
mov qword [rsp + 0x110], r12
mov rax, qword [rsp + 0x390]
cmp rax, 0x28
ja 0x140010e16
test rax, rax
je 0x1400116b0
lea rdx, [rax*4]
xor r8d, r8d
xor ecx, ecx
nop word cs:[rax + rax]
mov r9d, dword [rsp + r8 + 0x2f0]
lea r9, [r9 + r9*4]
lea rcx, [rcx + r9*2]
mov dword [rsp + r8 + 0x2f0], ecx
shr rcx, 0x20
add r8, 4
cmp rdx, r8
jne 0x140011670
test rcx, rcx
je 0x1400116b2
cmp rax, 0x28
je 0x140010e16
mov dword [rsp + rax*4 + 0x2f0], ecx
inc rax
jmp 0x1400116b2
xor eax, eax
mov qword [rsp + 0x390], rax
cmp r15, 0x28
ja 0x140010e16
test r15, r15
je 0x140011720
lea rcx, [r15*4]
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [rsp + rdx + 0x1a0]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x1a0], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x1400116e0
test rax, rax
je 0x140011723
cmp r15, 0x28
je 0x140010e16
mov dword [rsp + r15*4 + 0x1a0], eax
inc r15
jmp 0x140011723
xor r15d, r15d
mov qword [rsp + 0x240], r15
lea rcx, [rsp + 0x440]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call fcn.140055470
mov qword [rsp + 0x4e0], r13
test r13, r13
je 0x140010e16
mov rax, r13
nop word [rax + rax]
cmp r13, 0x29
jae 0x140010e16
dec rax
jne 0x140011760
lea rax, [r13 - 1]
cmp rax, 0x28
jae 0x140010e16
mov eax, dword [rsp + r13*4 + 0x43c]
mov qword [rsp + 0x28], r13
test eax, eax
js 0x140011796
cmp r13, 1
jne 0x1400117bc
jmp 0x1400117e1
cmp r13, 0x28
je 0x140010e16
mov ecx, eax
shr ecx, 0x1f
mov dword [rsp + r13*4 + 0x440], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x28], rcx
cmp r13, 1
je 0x1400117e1
mov rcx, r13
nop
mov edx, dword [rsp + rcx*4 + 0x438]
shld eax, edx, 1
mov dword [rsp + rcx*4 + 0x43c], eax
lea r8, [rcx - 1]
mov eax, edx
mov rcx, r8
cmp r8, 1
ja 0x1400117c0
shl dword [rsp + 0x440], 1
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x4e0], rax
lea rcx, [rsp + 0x4e8]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call fcn.140055470
mov qword [rsp + 0x588], r13
mov rax, r13
nop dword [rax + rax]
cmp rax, 0x29
jae 0x140010e16
dec rax
jne 0x140011820
mov eax, dword [rsp + r13*4 + 0x4e4]
mov qword [rsp + 0x30], r13
cmp eax, 0x3fffffff
jbe 0x140011863
cmp r13, 0x28
je 0x140010e16
mov ecx, eax
shr ecx, 0x1e
mov dword [rsp + r13*4 + 0x4e8], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x30], rcx
cmp r13, 1
je 0x14001189e
lea rcx, [r13 - 2]
mov rdx, r13
cmp rcx, 0x28
jae 0x140010e16
mov r8d, dword [rsp + rdx*4 + 0x4e0]
shld eax, r8d, 2
mov dword [rsp + rdx*4 + 0x4e4], eax
lea r9, [rdx - 1]
mov eax, r8d
mov rdx, r9
cmp r9, 1
ja 0x140011870
shl dword [rsp + 0x4e8], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x588], rax
lea rcx, [rsp + 0x590]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call fcn.140055470
mov qword [rsp + 0x630], r13
mov rax, r13
nop dword [rax]
cmp rax, 0x29
jae 0x140010e16
dec rax
jne 0x1400118e0
mov eax, dword [rsp + r13*4 + 0x58c]
mov qword [rsp + 0x40], r13
cmp eax, 0x1fffffff
jbe 0x140011923
cmp r13, 0x28
je 0x140010e16
mov ecx, eax
shr ecx, 0x1d
mov dword [rsp + r13*4 + 0x590], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x40], rcx
cmp r13, 1
je 0x14001195e
lea rcx, [r13 - 2]
mov rdx, r13
cmp rcx, 0x28
jae 0x140010e16
mov r8d, dword [rsp + rdx*4 + 0x588]
shld eax, r8d, 3
mov dword [rsp + rdx*4 + 0x58c], eax
lea r9, [rdx - 1]
mov eax, r8d
mov rdx, r9
cmp r9, 1
ja 0x140011930
mov qword [rsp + 0x58], rdi
shl dword [rsp + 0x590], 3
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x630], rax
xor ebp, ebp
mov r14d, 0xff
jmp 0x14001199e
xor r15d, r15d
mov qword [rsp + 0x240], r15
mov rbp, rbx
mov rdx, qword [rsp + 0x40]
cmp r12, rdx
cmova rdx, r12
cmp rdx, 0x29
jae 0x140010e16
lea rax, [rdx*4]
nop dword [rax]
test rax, rax
je 0x140011a10
mov r8d, dword [rsp + rax + 0x58c]
xor ecx, ecx
cmp r8d, dword [rsp + rax + 0x6c]
setne cl
cmova ecx, r14d
add rax, 0xfffffffffffffffc
test cl, cl
je 0x1400119c0
cmp cl, 1
ja 0x140011a2e
test rdx, rdx
je 0x140011af1
cmp rdx, 1
jne 0x140011a38
mov cl, 1
xor r8d, r8d
jmp 0x140011ac0
add rax, rsp
add rax, 0x590
lea rcx, [rsp + 0x590]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
jbe 0x1400119e8
xor eax, eax
mov rdx, r12
jmp 0x140011afb
mov eax, edx
and eax, 0x3e
mov cl, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r9d, dword [rsp + r8*4 + 0x590]
not r9d
add r9d, dword [rsp + r8*4 + 0x70]
mov r10d, dword [rsp + r8*4 + 0x594]
setb r11b
movzx ecx, cl
and ecx, 1
add ecx, r9d
setb r9b
or r9b, r11b
mov dword [rsp + r8*4 + 0x70], ecx
not r10d
add r10d, dword [rsp + r8*4 + 0x74]
setb r11b
movzx ecx, r9b
and ecx, 1
add ecx, r10d
mov dword [rsp + r8*4 + 0x74], ecx
lea r8, [r8 + 2]
setb cl
or cl, r11b
cmp rax, r8
jne 0x140011a50
test dl, 1
jne 0x140011ac0
test cl, 1
jne 0x140011af1
jmp 0x140010e16
mov r9d, dword [rsp + r8*4 + 0x590]
not r9d
mov r10d, dword [rsp + r8*4 + 0x70]
lea eax, [r9 + r10]
movzx ecx, cl
and ecx, 1
add ecx, eax
setb al
mov dword [rsp + r8*4 + 0x70], ecx
add r9d, r10d
jb 0x140011af1
test al, al
je 0x140010e16
mov qword [rsp + 0x110], rdx
mov al, 8
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x140010e16
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x140011b70
mov r10d, dword [rsp + r8 + 0x4e4]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0x6c]
setne r9b
cmova r9d, r14d
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x140011b20
cmp r9b, 1
ja 0x140011b92
test rcx, rcx
je 0x140011c54
cmp rcx, 1
jne 0x140011b9a
mov r8b, 1
xor r9d, r9d
jmp 0x140011c20
add r8, rsp
add r8, 0x4e8
lea r9, [rsp + 0x4e8]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140011b4c
mov rcx, rdx
jmp 0x140011c5e
mov edx, ecx
and edx, 0x3e
mov r8b, 1
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [rsp + r9*4 + 0x4e8]
not r10d
add r10d, dword [rsp + r9*4 + 0x70]
mov r11d, dword [rsp + r9*4 + 0x4ec]
setb bl
movzx r8d, r8b
and r8d, 1
add r8d, r10d
setb r10b
or r10b, bl
mov dword [rsp + r9*4 + 0x70], r8d
not r11d
add r11d, dword [rsp + r9*4 + 0x74]
setb bl
movzx r8d, r10b
and r8d, 1
add r8d, r11d
mov dword [rsp + r9*4 + 0x74], r8d
lea r9, [r9 + 2]
setb r8b
or r8b, bl
cmp rdx, r9
jne 0x140011bb0
test cl, 1
jne 0x140011c20
test r8b, 1
jne 0x140011c54
jmp 0x140010e16
mov r10d, dword [rsp + r9*4 + 0x4e8]
not r10d
mov r11d, dword [rsp + r9*4 + 0x70]
lea edx, [r10 + r11]
movzx r8d, r8b
and r8d, 1
add r8d, edx
setb dl
mov dword [rsp + r9*4 + 0x70], r8d
add r10d, r11d
jb 0x140011c54
test dl, dl
je 0x140010e16
mov qword [rsp + 0x110], rcx
or al, 4
mov rdx, qword [rsp + 0x28]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x140010e16
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x140011cd0
mov r10d, dword [rsp + r8 + 0x43c]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0x6c]
setne r9b
cmova r9d, r14d
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x140011c80
cmp r9b, 1
ja 0x140011cf2
test rdx, rdx
je 0x140011db4
cmp rdx, 1
jne 0x140011cfa
mov r8b, 1
xor r9d, r9d
jmp 0x140011d80
add r8, rsp
add r8, 0x440
lea r9, [rsp + 0x440]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140011cac
mov rdx, rcx
jmp 0x140011dbe
mov ecx, edx
and ecx, 0x3e
mov r8b, 1
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [rsp + r9*4 + 0x440]
not r10d
add r10d, dword [rsp + r9*4 + 0x70]
mov r11d, dword [rsp + r9*4 + 0x444]
setb bl
movzx r8d, r8b
and r8d, 1
add r8d, r10d
setb r10b
or r10b, bl
mov dword [rsp + r9*4 + 0x70], r8d
not r11d
add r11d, dword [rsp + r9*4 + 0x74]
setb bl
movzx r8d, r10b
and r8d, 1
add r8d, r11d
mov dword [rsp + r9*4 + 0x74], r8d
lea r9, [r9 + 2]
setb r8b
or r8b, bl
cmp rcx, r9
jne 0x140011d10
test dl, 1
jne 0x140011d80
test r8b, 1
jne 0x140011db4
jmp 0x140010e16
mov r10d, dword [rsp + r9*4 + 0x440]
not r10d
mov r11d, dword [rsp + r9*4 + 0x70]
lea ecx, [r10 + r11]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + r9*4 + 0x70], r8d
add r10d, r11d
jb 0x140011db4
test cl, cl
je 0x140010e16
mov qword [rsp + 0x110], rdx
add al, 2
cmp rdx, r13
mov r12, r13
cmova r12, rdx
cmp r12, 0x29
jae 0x140010e16
lea rcx, [r12*4]
nop word [rax + rax]
test rcx, rcx
je 0x140011e30
mov r9d, dword [rsp + rcx + 0x244]
xor r8d, r8d
cmp r9d, dword [rsp + rcx + 0x6c]
setne r8b
cmova r8d, r14d
add rcx, 0xfffffffffffffffc
test r8b, r8b
je 0x140011de0
cmp r8b, 1
ja 0x140011e52
test r12, r12
je 0x140011f11
cmp r12, 1
jne 0x140011e5a
mov dl, 1
xor r8d, r8d
jmp 0x140011ee0
add rcx, rsp
add rcx, 0x248
lea r8, [rsp + 0x248]
cmp rcx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x140011e0c
mov r12, rdx
jmp 0x140011f1b
mov ecx, r12d
and ecx, 0x3e
mov dl, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r9d, dword [rsp + r8*4 + 0x248]
not r9d
add r9d, dword [rsp + r8*4 + 0x70]
mov r10d, dword [rsp + r8*4 + 0x24c]
setb r11b
movzx edx, dl
and edx, 1
add edx, r9d
setb r9b
or r9b, r11b
mov dword [rsp + r8*4 + 0x70], edx
not r10d
add r10d, dword [rsp + r8*4 + 0x74]
setb r11b
movzx edx, r9b
and edx, 1
add edx, r10d
mov dword [rsp + r8*4 + 0x74], edx
lea r8, [r8 + 2]
setb dl
or dl, r11b
cmp rcx, r8
jne 0x140011e70
test r12b, 1
jne 0x140011ee0
test dl, 1
jne 0x140011f11
jmp 0x140010e16
mov r9d, dword [rsp + r8*4 + 0x248]
not r9d
mov r10d, dword [rsp + r8*4 + 0x70]
lea ecx, [r9 + r10]
movzx edx, dl
and edx, 1
add edx, ecx
setb cl
mov dword [rsp + r8*4 + 0x70], edx
add r9d, r10d
jb 0x140011f11
test cl, cl
je 0x140010e16
mov qword [rsp + 0x110], r12
inc al
cmp rbp, 0x11
je 0x140010e16
add al, 0x30
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rbp], al
mov rsi, qword [rsp + 0x390]
cmp r12, rsi
mov rax, rsi
cmova rax, r12
cmp rax, 0x29
jae 0x140010e16
lea rbx, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x140011f90
mov ecx, dword [rsp + rax + 0x2ec]
xor edi, edi
cmp ecx, dword [rsp + rax + 0x6c]
setne dil
cmova edi, r14d
add rax, 0xfffffffffffffffc
test dil, dil
je 0x140011f60
jmp 0x140011fab
add rax, rsp
add rax, 0x2f0
lea rcx, [rsp + 0x2f0]
cmp rax, rcx
setne dil
neg dil
mov r8d, 0xa0
lea rcx, [rsp + 0x398]
lea rdx, [rsp + 0x70]
call fcn.140055470
mov qword [rsp + 0x438], r12
cmp r12, r15
mov rax, r15
cmova rax, r12
cmp rax, 0x29
jae 0x140010e16
test rax, rax
movzx r11d, byte [rsp + 0x38]
je 0x140012000
cmp rax, 1
jne 0x140012010
xor edx, edx
xor r8d, r8d
jmp 0x1400120a0
xor eax, eax
jmp 0x1400120eb
mov ecx, eax
and ecx, 0x3e
xor r8d, r8d
xor edx, edx
nop word [rax + rax]
mov r9d, dword [rsp + rdx*4 + 0x398]
add r9d, dword [rsp + rdx*4 + 0x1a0]
setb r10b
movzx r8d, r8b
and r8d, 1
add r8d, r9d
setb r9b
or r9b, r10b
mov dword [rsp + rdx*4 + 0x398], r8d
mov r8d, dword [rsp + rdx*4 + 0x39c]
add r8d, dword [rsp + rdx*4 + 0x1a4]
setb r10b
movzx r9d, r9b
and r9d, 1
add r9d, r8d
mov dword [rsp + rdx*4 + 0x39c], r9d
lea rdx, [rdx + 2]
setb r8b
or r8b, r10b
cmp rcx, rdx
jne 0x140012020
test al, 1
jne 0x1400120a0
test r8b, 1
je 0x1400120eb
jmp 0x1400120d3
mov r9d, dword [rsp + rdx*4 + 0x398]
mov r10d, dword [rsp + rdx*4 + 0x1a0]
lea ecx, [r9 + r10]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + rdx*4 + 0x398], r8d
add r9d, r10d
jb 0x1400120d3
test cl, cl
je 0x1400120eb
cmp rax, 0x28
je 0x140010e16
mov dword [rsp + rax*4 + 0x398], 1
inc rax
mov qword [rsp + 0x438], rax
cmp r13, rax
cmova rax, r13
cmp rax, 0x29
jae 0x140010e16
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x140012140
mov edx, dword [rsp + rax + 0x394]
xor ecx, ecx
cmp edx, dword [rsp + rax + 0x244]
setne cl
cmova ecx, r14d
add rax, 0xfffffffffffffffc
test cl, cl
je 0x140012110
cmp dil, r11b
jge 0x140012162
jmp 0x1400122b7
add rax, rsp
add rax, 0x398
lea rcx, [rsp + 0x398]
cmp rax, rcx
setne cl
neg cl
cmp dil, r11b
jl 0x1400122b7
cmp cl, r11b
jl 0x1400122b7
cmp r12, 0x28
ja 0x140010e16
test r12, r12
je 0x1400121d0
lea rcx, [r12*4]
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [rsp + rdx + 0x70]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x70], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x140012190
test rax, rax
je 0x1400121d3
cmp r12, 0x28
je 0x140010e16
mov dword [rsp + r12*4 + 0x70], eax
inc r12
jmp 0x1400121d3
xor r12d, r12d
mov qword [rsp + 0x110], r12
cmp rsi, 0x28
ja 0x140010e16
test rsi, rsi
je 0x140012240
lea rcx, [rsi*4]
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [rsp + rdx + 0x2f0]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x2f0], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x140012200
test rax, rax
je 0x140012242
cmp rsi, 0x28
je 0x140010e16
mov dword [rsp + rsi*4 + 0x2f0], eax
inc rsi
jmp 0x140012242
xor esi, esi
mov qword [rsp + 0x390], rsi
cmp r15, 0x28
ja 0x140010e16
test r15, r15
je 0x140011990
lea rcx, [r15*4]
xor edx, edx
xor eax, eax
nop dword [rax]
mov r8d, dword [rsp + rdx + 0x1a0]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x1a0], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x140012270
test rax, rax
je 0x140011993
cmp r15, 0x28
je 0x140010e16
mov dword [rsp + r15*4 + 0x1a0], eax
inc r15
jmp 0x140011993
cmp cl, r11b
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
jge 0x140012407
cmp dil, r11b
jge 0x1400123c8
test r12, r12
je 0x140010e16
mov rax, r12
nop
cmp r12, 0x29
jae 0x140010e16
dec rax
jne 0x1400122e0
mov eax, dword [rsp + r12*4 + 0x6c]
mov rcx, r12
test eax, eax
js 0x140012303
cmp r12, 1
jne 0x140012322
jmp 0x14001235a
cmp r12, 0x28
je 0x140010e16
mov ecx, eax
shr ecx, 0x1f
mov dword [rsp + r12*4 + 0x70], ecx
lea rcx, [r12 + 1]
cmp r12, 1
je 0x14001235a
lea rdx, [r12 - 2]
nop word [rax + rax]
cmp rdx, 0x28
jae 0x140010e16
mov r8d, dword [rsp + r12*4 + 0x68]
shld eax, r8d, 1
mov dword [rsp + r12*4 + 0x6c], eax
lea r9, [r12 - 1]
mov eax, r8d
mov r12, r9
cmp r9, 1
ja 0x140012330
shl dword [rsp + 0x70], 1
mov qword [rsp + 0x110], rcx
cmp rcx, r13
cmova r13, rcx
cmp r13, 0x29
jae 0x140010e16
shl r13, 2
mov eax, 0xff
test r13, r13
je 0x1400123a9
mov edx, dword [rsp + r13 + 0x244]
xor ecx, ecx
cmp edx, dword [rsp + r13 + 0x6c]
setne cl
cmova ecx, eax
add r13, 0xfffffffffffffffc
test cl, cl
je 0x140012380
cmp cl, 1
jbe 0x1400123c8
jmp 0x140012407
lea rax, [rsp + r13]
add rax, 0x248
lea rcx, [rsp + 0x248]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x140012407
mov r8, 0xffffffffffffffff
mov rax, rbx
nop word cs:[rax + rax]
test rax, rax
je 0x140012436
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x1400123e0
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x140012407
add rcx, rsi
mov dl, 0x30
call fcn.140055b10
cmp rbp, 0x11
mov rax, qword [rsp + 0x60]
jae 0x140010e16
mov qword [rax], rsi
mov qword [rax + 8], rbx
mov word [rax + 0x10], r14w
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsi], 0x31
test rbp, rbp
je 0x140012456
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call fcn.140055b10
cmp rbp, 0xf
ja 0x140010e16
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc r14d
mov rbx, rbp
mov rax, qword [rsp + 0x60]
jmp 0x140012416