Function at 0x14000d690
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 qword [rsp + 0x40], r8
mov rbx, qword [rdx]
test rbx, rbx
je 0x14000dae5
mov rsi, qword [rdx + 8]
test rsi, rsi
je 0x14000dae5
mov r13, qword [rdx + 0x10]
test r13, r13
je 0x14000dae5
mov r12, rbx
add r12, r13
jb 0x14000dae5
mov r14, rbx
sub r14, rsi
jb 0x14000dae5
mov rax, r12
shr rax, 0x3d
jne 0x14000dae5
mov rdi, rcx
movsx rbp, word [rdx + 0x18]
mov rax, r12
shr rax, 0x20
mov rcx, r12
shl rcx, 0x20
lea r8d, [rbp - 0x20]
test rax, rax
cmovne r8d, ebp
cmovne rcx, r12
mov rax, rcx
shr rax, 0x30
mov r9, rcx
shl r9, 0x10
lea r10d, [r8 - 0x10]
test rax, rax
cmovne r10d, r8d
cmovne r9, rcx
mov rax, r9
shr rax, 0x38
mov rcx, r9
shl rcx, 8
lea r8d, [r10 - 8]
test rax, rax
cmovne r8d, r10d
cmovne rcx, r9
mov rax, rcx
shr rax, 0x3c
mov r10, rcx
shl r10, 4
lea r11d, [r8 - 4]
test rax, rax
cmovne r11d, r8d
cmovne r10, rcx
mov rax, r10
shr rax, 0x3e
lea r8, [r10*4]
lea r9d, [r11 - 2]
test rax, rax
cmovne r9d, r11d
cmovne r8, r10
xor eax, eax
test r8, r8
setns al
sub r9d, eax
mov ecx, ebp
sub cx, r9w
js 0x14000dae5
and ecx, 0x3f
mov rax, r14
shl rax, cl
mov r10, rax
shr r10, cl
cmp r10, r14
jne 0x14000dae5
mov r15, rbx
shl r15, cl
mov r10, r15
shr r10, cl
cmp r10, rbx
jne 0x14000dae5
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x198], r13
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x190], r12
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rsi
mov ecx, 0xffffffa0
sub ecx, r9d
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 0x14000dae5
test r8, r8
setns cl
shl r8, cl
mov r10d, r10d
shl r10, 4
lea rdx, [0x1428be8a8]
mov rbp, qword [r10 + rdx]
movzx ecx, word [r10 + rdx + 0xa]
mov dword [rsp + 0x28], ecx
mov rcx, r8
shr rcx, 0x20
mov rsi, rcx
mov qword [rsp + 0x50], rcx
mov r8d, r8d
mov ecx, ebp
shr rbp, 0x20
mov r11, rbp
imul r11, r8
mov rbx, rcx
imul rbx, rsi
imul r8, rcx
shr r8, 0x20
mov esi, ebx
add rsi, r8
mov edi, r11d
add r9w, word [r10 + rdx + 8]
add rdi, rsi
mov r10, rax
shr r10, 0x20
mov eax, eax
mov rdx, rbp
imul rdx, r10
mov qword [rsp + 0x30], rdx
mov r13, rbp
imul r13, rax
imul r10, rcx
imul rax, rcx
shr rax, 0x20
mov r8d, r10d
add r8, rax
mov r14d, r13d
add r14, r8
mov r8, r15
shr r8, 0x20
mov edx, r15d
mov r12, rbp
imul r12, rdx
mov r15, rcx
imul r15, r8
imul rcx, rdx
shr rcx, 0x20
mov edx, r15d
add rdx, rcx
mov esi, r12d
add rsi, rdx
mov rax, rbp
imul rax, qword [rsp + 0x50]
sub rdi, 0xffffffff80000000
shr rbx, 0x20
shr r11, 0x20
shr rdi, 0x20
neg r9d
sub r14, 0xffffffff80000000
shr r10, 0x20
shr r13, 0x20
mov qword [rsp + 0x68], r13
shr r14, 0x20
mov qword [rsp + 0x168], rbp
mov r13, rbp
mov qword [rsp + 0x180], r8
imul r13, r8
sub rsi, 0xffffffff80000000
shr r15, 0x20
shr r12, 0x20
mov qword [rsp + 0x178], r15
add r15, r13
mov qword [rsp + 0x170], r12
add r15, r12
mov qword [rsp + 0x90], rbx
lea rcx, [rax + rbx]
mov qword [rsp + 0x88], r11
add rcx, r11
mov qword [rsp + 0x80], rdi
lea r8, [rdi + rcx]
inc r8
and r9d, 0x3f
mov rbx, r8
mov ecx, r9d
shr rbx, cl
mov edx, 1
shl rdx, cl
shr rsi, 0x20
mov qword [rsp + 0x58], rsi
mov rcx, qword [rsp + 0x38]
movzx ecx, cx
lea rbp, [rdx - 1]
cmp ebx, 0x2710
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x160], r13
jae 0x14000d9fc
cmp ebx, 0x64
jae 0x14000da23
xor ecx, ecx
cmp ebx, 0xa
setae cl
lea edi, [rcx + rcx*8]
inc edi
jmp 0x14000da3c
cmp ebx, 0xf4240
jae 0x14000dd2f
cmp ebx, 0x186a0
setb cl
mov edx, 0x2710
mov edi, 0x186a0
cmovb edi, edx
xor cl, 5
jmp 0x14000da3c
cmp ebx, 0x3e8
setb cl
mov edx, 0x64
mov edi, 0x3e8
cmovb edi, edx
xor cl, 3
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x28]
add r15, qword [rsp + 0x58]
mov qword [rsp + 0x48], r15
mov rsi, r8
mov rdx, rbp
and rsi, rbp
movzx ebp, cl
mov ecx, ebp
sub ecx, r12d
inc ecx
mov dword [rsp + 0x74], ecx
add r11, r10
add r11, qword [rsp + 0x68]
add r11, r14
mov qword [rsp + 0x28], r8
mov r12, r8
mov qword [rsp + 0x30], r11
sub r12, r11
lea r8, [r12 + 1]
mov r14, r8
mov qword [rsp + 0x68], rdx
and r14, rdx
xor r13d, r13d
mov r11d, 0xcccccccd
mov r10, qword [rsp + 0x40]
mov eax, ebx
xor edx, edx
div edi
add al, 0x30
mov ebx, edx
mov rdx, rbx
mov ecx, r9d
shl rdx, cl
mov byte [r10 + r13], al
lea r15, [rdx + rsi]
mov r10, r8
sub r10, r15
ja 0x14000dae7
cmp rbp, r13
je 0x14000dc02
mov eax, edi
imul rax, r11
shr rax, 0x23
inc r13
cmp edi, 0xa
mov edi, eax
mov r10, qword [rsp + 0x40]
jae 0x14000daa0
ud2
mov r8d, edi
mov ecx, r9d
shl r8, cl
mov r9, qword [rsp + 0x28]
sub r9, qword [rsp + 0x48]
lea r11, [r9 + 1]
dec r9
cmp r10, r8
setb bl
mov qword [rsp + 0x28], r9
cmp r9, r15
jbe 0x14000dd1d
cmp r10, r8
jb 0x14000dd1d
mov qword [rsp + 0x48], r11
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
lea r9, [rbx + r14]
mov rcx, qword [rsp + 0x80]
add r9, rcx
add r9, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x178]
add rbp, qword [rsp + 0x170]
add rbp, qword [rsp + 0x58]
mov r11, qword [rsp + 0x160]
add r11, rbp
mov r10, r9
sub r10, r11
sub r10, r15
sub r9, qword [rsp + 0x30]
lea rdi, [rsi + r8]
sub r9, rdi
sub r9, rdx
mov r11, qword [rsp + 0x180]
sub r11, qword [rsp + 0x50]
mov r15, qword [rsp + 0x168]
imul r15, r11
add r15, rbp
add r15, rdi
sub r15, rbx
sub r15, r14
sub r15, rcx
add r9, 2
mov r14, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
nop word cs:[rax + rax]
lea r11, [rdx + rdi]
cmp r11, rbp
jb 0x14000dbd6
lea rbx, [rdx + r15]
cmp r10, rbx
jb 0x14000dd7d
dec al
mov byte [r14 + r13], al
sub r9, r8
setb bl
add rsi, r8
cmp r11, rbp
jae 0x14000dbf7
sub r10, r8
add rdi, r8
add r15, r8
test bl, bl
je 0x14000dbc0
mov rcx, r12
add rdx, rsi
jmp 0x14000dd85
inc r13
mov r11d, 1
mov rbx, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x188]
mov r10, qword [rsp + 0x68]
nop word [rax + rax]
cmp r13, 0x10
ja 0x14000dae5
mov rax, r11
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r10
lea rcx, [r11 + r11]
lea r11, [rcx + rcx*4]
add r14, r14
lea r14, [r14 + r14*4]
mov ecx, r9d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [rbx + r13], cl
inc r13
mov r8, r14
sub r8, rsi
jbe 0x14000dc30
sub r15, qword [rsp + 0x48]
imul r15, r11
lea rcx, [r15 + r11]
cmp r8, rbp
setb r10b
jb 0x14000ddc5
sub r15, r11
mov r9, r15
sub r9, rsi
jbe 0x14000ddc5
add dl, 0x2f
mov rdi, r14
sub rdi, rbp
sub rdi, rsi
mov r8, qword [rsp + 0x90]
add r8, qword [rsp + 0x88]
add r8, qword [rsp + 0x80]
add r8, qword [rsp + 0x78]
add r8, r8
lea r8, [r8 + r8*4]
mov r10, qword [rsp + 0x48]
add r10, r10
lea r11, [r10 + r10*4]
sub r11, r8
imul r11, rax
add r11, rbp
lea r8, [rsi + rbp]
cmp r8, r15
jb 0x14000dcf6
lea r10, [r11 + rsi]
cmp r9, r10
jb 0x14000ddc2
mov byte [rbx + r13 - 1], dl
sub rdi, rbp
setb r10b
cmp r8, r15
jae 0x14000ddc8
dec dl
sub r9, rbp
mov rsi, r8
test r10b, r10b
je 0x14000dce0
jmp 0x14000ddc8
mov rcx, r12
mov r12, qword [rsp + 0x38]
mov rax, r11
sub rax, r15
ja 0x14000dd9a
jmp 0x14000ddab
cmp ebx, 0x5f5e100
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x28]
jae 0x14000dd5f
cmp ebx, 0x989680
setb cl
mov edx, 0xf4240
mov edi, 0x989680
cmovb edi, edx
xor cl, 7
jmp 0x14000da46
cmp ebx, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov edi, 0x3b9aca00
cmovb edi, edx
xor cl, 9
jmp 0x14000da46
mov rcx, r12
add rdx, rsi
xor ebx, ebx
mov r15, rdx
mov r12, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
mov rax, r11
sub rax, r15
jbe 0x14000ddab
test bl, bl
jne 0x14000ddab
add r8, r15
sub r8, r11
jb 0x14000de07
cmp rax, r8
jae 0x14000de07
cmp r15, 2
jb 0x14000de07
add rcx, 0xfffffffffffffffd
cmp r15, rcx
ja 0x14000de07
inc r13
jmp 0x14000e155
xor r10d, r10d
mov r8, rsi
mov rdx, rcx
sub rdx, r8
jbe 0x14000dde2
test r10b, r10b
jne 0x14000dde2
add rbp, r8
sub rbp, rcx
jb 0x14000de07
cmp rdx, rbp
jae 0x14000de07
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r8
ja 0x14000de07
shl rax, 3
lea rax, [rax + rax*4]
sub r14, rax
cmp r8, r14
jbe 0x14000e155
mov rax, qword [rsp + 0x190]
dec rax
je 0x14000de1e
bsr rax, rax
xor rax, 0x3f
jmp 0x14000de23
mov eax, 0x40
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
movzx ecx, byte [rcx + 0x1a]
mov byte [rsp + 0x30], cl
mov rcx, r12
sub rcx, rax
imul rax, rcx, 0x4d104d42
movabs rdi, 0x1344135080
add rdi, rax
shr rdi, 0x20
xor eax, eax
xor ecx, ecx
mov rdx, r9
shr rdx, 0x20
cmove edx, eax
setne cl
inc rcx
mov qword [rsp + 0x158], rcx
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0xbc], edx
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x150], 0
xor ecx, ecx
mov rdx, r8
shr rdx, 0x20
cmove edx, eax
setne cl
inc rcx
mov qword [rsp + 0x390], rcx
mov dword [rsp + 0x2f0], r8d
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 r8, qword [rsp + 0x198]
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 r12w, r12w
js 0x14000e09c
lea rcx, [rsp + 0xb8]
mov rsi, qword [rsp + 0x98]
mov rdx, rsi
call fcn.140013ae0
lea rcx, [rsp + 0x2f0]
mov rdx, rsi
call fcn.140013ae0
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.140013ae0
test di, di
js 0x14000e0bc
movzx edx, di
lea rcx, [rsp + 0x248]
jmp 0x14000e0ee
mov rax, qword [rsp + 0x98]
neg eax
movsx rdx, ax
lea rcx, [rsp + 0x248]
call fcn.140013ae0
test di, di
jns 0x14000e08f
mov eax, edi
neg eax
movzx esi, ax
lea rcx, [rsp + 0xb8]
mov rdx, rsi
call fcn.140011d30
lea rcx, [rsp + 0x2f0]
mov rdx, rsi
call fcn.140011d30
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.140011d30
mov r15, qword [rsp + 0x158]
lea rcx, [rsp + 0x398]
lea rdx, [rsp + 0xb8]
mov r8d, 0xa0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x438], r15
mov r12, qword [rsp + 0x240]
cmp r15, r12
mov rax, r12
cmova rax, r15
cmp rax, 0x29
jae 0x14000dae5
test rax, rax
movzx r10d, byte [rsp + 0x30]
je 0x14000e208
cmp rax, 1
jne 0x14000e173
xor ecx, ecx
xor edx, edx
jmp 0x14000e1bb
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov qword [rax + 8], r13
mov ecx, dword [rsp + 0x74]
mov word [rax + 0x10], cx
jmp 0x14000eff9
mov r8d, eax
and r8d, 0x3e
xor edx, edx
xor ecx, ecx
nop
movzx edx, dl
bt edx, 0
mov edx, dword [rsp + rcx*4 + 0x1a0]
mov r9d, dword [rsp + rcx*4 + 0x1a4]
adc dword [rsp + rcx*4 + 0x398], edx
adc dword [rsp + rcx*4 + 0x39c], r9d
lea rcx, [rcx + 2]
setb dl
cmp r8, rcx
jne 0x14000e180
test al, 1
jne 0x14000e1bb
test dl, dl
je 0x14000e208
jmp 0x14000e1f0
mov r8d, dword [rsp + rcx*4 + 0x398]
mov r9d, dword [rsp + rcx*4 + 0x1a0]
lea r10d, [r8 + r9]
movzx r11d, dl
add r11d, r10d
setb dl
mov dword [rsp + rcx*4 + 0x398], r11d
add r8d, r9d
movzx r10d, byte [rsp + 0x30]
jb 0x14000e1f0
test dl, dl
je 0x14000e208
cmp rax, 0x28
je 0x14000dae5
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 0x14000dae5
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x14000e271
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 0x14000e240
cmp dl, r10b
jge 0x14000e28f
inc edi
jmp 0x14000e3db
add rax, rsp
add rax, 0x398
lea rcx, [rsp + 0x398]
cmp rax, rcx
setne dl
neg dl
cmp dl, r10b
jl 0x14000e26a
cmp r15, 0x28
ja 0x14000dae5
test r15, r15
je 0x14000e2f0
lea rcx, [r15*4]
xor edx, edx
xor eax, eax
nop word [rax + rax]
mov r8d, dword [rsp + rdx + 0xb8]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0xb8], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x14000e2b0
test rax, rax
je 0x14000e2f3
cmp r15, 0x28
je 0x14000dae5
mov dword [rsp + r15*4 + 0xb8], eax
inc r15
jmp 0x14000e2f3
xor r15d, r15d
mov qword [rsp + 0x158], r15
mov rax, qword [rsp + 0x390]
cmp rax, 0x28
ja 0x14000dae5
test rax, rax
je 0x14000e360
lea rdx, [rax*4]
xor r8d, r8d
xor ecx, ecx
nop
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 0x14000e320
test rcx, rcx
je 0x14000e362
cmp rax, 0x28
je 0x14000dae5
mov dword [rsp + rax*4 + 0x2f0], ecx
inc rax
jmp 0x14000e362
xor eax, eax
mov qword [rsp + 0x390], rax
cmp r12, 0x28
ja 0x14000dae5
test r12, r12
je 0x14000e3d0
lea rcx, [r12*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 0x14000e390
test rax, rax
je 0x14000e3d3
cmp r12, 0x28
je 0x14000dae5
mov dword [rsp + r12*4 + 0x1a0], eax
inc r12
jmp 0x14000e3d3
xor r12d, r12d
mov qword [rsp + 0x240], r12
lea rcx, [rsp + 0x440]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x4e0], r13
test r13, r13
je 0x14000dae5
mov rax, r13
nop word [rax + rax]
cmp r13, 0x29
jae 0x14000dae5
dec rax
jne 0x14000e410
lea rax, [r13 - 1]
cmp rax, 0x28
jae 0x14000dae5
mov eax, dword [rsp + r13*4 + 0x43c]
mov qword [rsp + 0x50], r13
test eax, eax
js 0x14000e446
cmp r13, 1
jne 0x14000e46c
jmp 0x14000e491
cmp r13, 0x28
je 0x14000dae5
mov ecx, eax
shr ecx, 0x1f
mov dword [rsp + r13*4 + 0x440], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x50], rcx
cmp r13, 1
je 0x14000e491
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 0x14000e470
shl dword [rsp + 0x440], 1
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x4e0], rax
lea rcx, [rsp + 0x4e8]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x588], r13
mov rax, r13
nop dword [rax + rax]
cmp rax, 0x29
jae 0x14000dae5
dec rax
jne 0x14000e4d0
mov eax, dword [rsp + r13*4 + 0x4e4]
mov qword [rsp + 0x38], r13
cmp eax, 0x3fffffff
jbe 0x14000e513
cmp r13, 0x28
je 0x14000dae5
mov ecx, eax
shr ecx, 0x1e
mov dword [rsp + r13*4 + 0x4e8], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x38], rcx
cmp r13, 1
je 0x14000e54e
lea rcx, [r13 - 2]
mov rdx, r13
cmp rcx, 0x28
jae 0x14000dae5
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 0x14000e520
shl dword [rsp + 0x4e8], 2
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x588], rax
lea rcx, [rsp + 0x590]
lea rdx, [rsp + 0x248]
mov r8d, 0xa0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x630], r13
mov rax, r13
nop dword [rax]
cmp rax, 0x29
jae 0x14000dae5
dec rax
jne 0x14000e590
mov eax, dword [rsp + r13*4 + 0x58c]
mov qword [rsp + 0x28], r13
cmp eax, 0x1fffffff
jbe 0x14000e5d3
cmp r13, 0x28
je 0x14000dae5
mov ecx, eax
shr ecx, 0x1d
mov dword [rsp + r13*4 + 0x590], ecx
lea rcx, [r13 + 1]
mov qword [rsp + 0x28], rcx
cmp r13, 1
je 0x14000e60e
lea rcx, [r13 - 2]
mov rdx, r13
cmp rcx, 0x28
jae 0x14000dae5
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 0x14000e5e0
mov qword [rsp + 0x58], rdi
shl dword [rsp + 0x590], 3
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x630], rax
xor ebp, ebp
mov r14d, 0xff
jmp 0x14000e64e
xor r12d, r12d
mov qword [rsp + 0x240], r12
mov rbp, rbx
mov rdx, qword [rsp + 0x28]
cmp r15, rdx
cmova rdx, r15
cmp rdx, 0x29
jae 0x14000dae5
lea rax, [rdx*4]
nop dword [rax]
test rax, rax
je 0x14000e6b0
mov r8d, dword [rsp + rax + 0x58c]
xor ecx, ecx
cmp r8d, dword [rsp + rax + 0xb4]
setne cl
cmova ecx, r14d
add rax, 0xfffffffffffffffc
test cl, cl
je 0x14000e670
cmp cl, 1
ja 0x14000e6ce
test rdx, rdx
je 0x14000e761
cmp rdx, 1
jne 0x14000e6d8
mov al, 1
xor ecx, ecx
jmp 0x14000e72b
add rax, rsp
add rax, 0x590
lea rcx, [rsp + 0x590]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
jbe 0x14000e69b
xor eax, eax
mov rdx, r15
jmp 0x14000e76b
mov r8d, edx
and r8d, 0x3e
mov al, 1
xor ecx, ecx
nop word cs:[rax + rax]
mov r9d, dword [rsp + rcx*4 + 0x590]
not r9d
movzx eax, al
bt eax, 0
adc dword [rsp + rcx*4 + 0xb8], r9d
mov eax, dword [rsp + rcx*4 + 0x594]
not eax
adc dword [rsp + rcx*4 + 0xbc], eax
lea rcx, [rcx + 2]
setb al
cmp r8, rcx
jne 0x14000e6f0
test dl, 1
je 0x14000e759
mov r8d, dword [rsp + rcx*4 + 0x590]
not r8d
mov r9d, dword [rsp + rcx*4 + 0xb8]
lea r10d, [r8 + r9]
movzx r11d, al
add r11d, r10d
setb al
mov dword [rsp + rcx*4 + 0xb8], r11d
add r8d, r9d
jb 0x14000e761
test al, al
je 0x14000dae5
mov qword [rsp + 0x158], rdx
mov al, 8
mov rcx, qword [rsp + 0x38]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x14000dae5
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x14000e7e0
mov r10d, dword [rsp + r8 + 0x4e4]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0xb4]
setne r9b
cmova r9d, r14d
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x14000e790
cmp r9b, 1
ja 0x14000e802
test rcx, rcx
je 0x14000e892
cmp rcx, 1
jne 0x14000e80a
mov dl, 1
xor r8d, r8d
jmp 0x14000e85d
add r8, rsp
add r8, 0x4e8
lea r9, [rsp + 0x4e8]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14000e7bf
mov rcx, rdx
jmp 0x14000e89c
mov r9d, ecx
and r9d, 0x3e
mov dl, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r10d, dword [rsp + r8*4 + 0x4e8]
not r10d
movzx edx, dl
bt edx, 0
adc dword [rsp + r8*4 + 0xb8], r10d
mov edx, dword [rsp + r8*4 + 0x4ec]
not edx
adc dword [rsp + r8*4 + 0xbc], edx
lea r8, [r8 + 2]
setb dl
cmp r9, r8
jne 0x14000e820
test cl, 1
je 0x14000e88a
mov r9d, dword [rsp + r8*4 + 0x4e8]
not r9d
mov r10d, dword [rsp + r8*4 + 0xb8]
lea r11d, [r9 + r10]
movzx esi, dl
add esi, r11d
setb dl
mov dword [rsp + r8*4 + 0xb8], esi
add r9d, r10d
jb 0x14000e892
test dl, dl
je 0x14000dae5
mov qword [rsp + 0x158], rcx
or al, 4
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x14000dae5
lea r8, [rdx*4]
nop word [rax + rax]
test r8, r8
je 0x14000e910
mov r10d, dword [rsp + r8 + 0x43c]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0xb4]
setne r9b
cmova r9d, r14d
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x14000e8c0
cmp r9b, 1
ja 0x14000e932
test rdx, rdx
je 0x14000e9c2
cmp rdx, 1
jne 0x14000e93a
mov cl, 1
xor r8d, r8d
jmp 0x14000e98d
add r8, rsp
add r8, 0x440
lea r9, [rsp + 0x440]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14000e8ef
mov rdx, rcx
jmp 0x14000e9cc
mov r9d, edx
and r9d, 0x3e
mov cl, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r10d, dword [rsp + r8*4 + 0x440]
not r10d
movzx ecx, cl
bt ecx, 0
adc dword [rsp + r8*4 + 0xb8], r10d
mov ecx, dword [rsp + r8*4 + 0x444]
not ecx
adc dword [rsp + r8*4 + 0xbc], ecx
lea r8, [r8 + 2]
setb cl
cmp r9, r8
jne 0x14000e950
test dl, 1
je 0x14000e9ba
mov r9d, dword [rsp + r8*4 + 0x440]
not r9d
mov r10d, dword [rsp + r8*4 + 0xb8]
lea r11d, [r9 + r10]
movzx esi, cl
add esi, r11d
setb cl
mov dword [rsp + r8*4 + 0xb8], esi
add r9d, r10d
jb 0x14000e9c2
test cl, cl
je 0x14000dae5
mov qword [rsp + 0x158], rdx
add al, 2
cmp rdx, r13
mov r15, r13
cmova r15, rdx
cmp r15, 0x29
jae 0x14000dae5
lea rcx, [r15*4]
nop dword [rax + rax]
test rcx, rcx
je 0x14000ea40
mov r9d, dword [rsp + rcx + 0x244]
xor r8d, r8d
cmp r9d, dword [rsp + rcx + 0xb4]
setne r8b
cmova r8d, r14d
add rcx, 0xfffffffffffffffc
test r8b, r8b
je 0x14000e9f0
cmp r8b, 1
ja 0x14000ea62
test r15, r15
je 0x14000eaf2
cmp r15, 1
jne 0x14000ea6a
mov cl, 1
xor edx, edx
jmp 0x14000eabc
add rcx, rsp
add rcx, 0x248
lea r8, [rsp + 0x248]
cmp rcx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x14000ea1f
mov r15, rdx
jmp 0x14000eafc
mov r8d, r15d
and r8d, 0x3e
mov cl, 1
xor edx, edx
nop word cs:[rax + rax]
mov r9d, dword [rsp + rdx*4 + 0x248]
not r9d
movzx ecx, cl
bt ecx, 0
adc dword [rsp + rdx*4 + 0xb8], r9d
mov ecx, dword [rsp + rdx*4 + 0x24c]
not ecx
adc dword [rsp + rdx*4 + 0xbc], ecx
lea rdx, [rdx + 2]
setb cl
cmp r8, rdx
jne 0x14000ea80
test r15b, 1
je 0x14000eaea
mov r8d, dword [rsp + rdx*4 + 0x248]
not r8d
mov r9d, dword [rsp + rdx*4 + 0xb8]
lea r10d, [r8 + r9]
movzx r11d, cl
add r11d, r10d
setb cl
mov dword [rsp + rdx*4 + 0xb8], r11d
add r8d, r9d
jb 0x14000eaf2
test cl, cl
je 0x14000dae5
mov qword [rsp + 0x158], r15
inc al
cmp rbp, 0x11
je 0x14000dae5
add al, 0x30
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rbp], al
mov rsi, qword [rsp + 0x390]
cmp r15, rsi
mov rax, rsi
cmova rax, r15
cmp rax, 0x29
jae 0x14000dae5
lea rbx, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x14000eb70
mov ecx, dword [rsp + rax + 0x2ec]
xor edi, edi
cmp ecx, dword [rsp + rax + 0xb4]
setne dil
cmova edi, r14d
add rax, 0xfffffffffffffffc
test dil, dil
je 0x14000eb40
jmp 0x14000eb8b
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 + 0xb8]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x438], r15
cmp r15, r12
mov rax, r12
cmova rax, r15
cmp rax, 0x29
jae 0x14000dae5
test rax, rax
movzx r10d, byte [rsp + 0x30]
je 0x14000ec7d
cmp rax, 1
jne 0x14000ebe0
xor ecx, ecx
xor edx, edx
jmp 0x14000ec30
mov r8d, eax
and r8d, 0x3e
xor edx, edx
xor ecx, ecx
nop dword [rax + rax]
movzx edx, dl
bt edx, 0
mov edx, dword [rsp + rcx*4 + 0x1a0]
mov r9d, dword [rsp + rcx*4 + 0x1a4]
adc dword [rsp + rcx*4 + 0x398], edx
adc dword [rsp + rcx*4 + 0x39c], r9d
lea rcx, [rcx + 2]
setb dl
cmp r8, rcx
jne 0x14000ebf0
test al, 1
jne 0x14000ec30
test dl, dl
je 0x14000ec7d
jmp 0x14000ec65
mov r8d, dword [rsp + rcx*4 + 0x398]
mov r9d, dword [rsp + rcx*4 + 0x1a0]
lea r10d, [r8 + r9]
movzx r11d, dl
add r11d, r10d
setb dl
mov dword [rsp + rcx*4 + 0x398], r11d
add r8d, r9d
movzx r10d, byte [rsp + 0x30]
jb 0x14000ec65
test dl, dl
je 0x14000ec7d
cmp rax, 0x28
je 0x14000dae5
mov dword [rsp + rax*4 + 0x398], 1
inc rax
mov qword [rsp + 0x438], rax
cmp r13, rax
cmova rax, r13
cmp rax, 0x29
jae 0x14000dae5
shl rax, 2
nop word [rax + rax]
test rax, rax
je 0x14000ecd0
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 0x14000eca0
cmp dil, r10b
jge 0x14000ecf2
jmp 0x14000ee77
add rax, rsp
add rax, 0x398
lea rcx, [rsp + 0x398]
cmp rax, rcx
setne cl
neg cl
cmp dil, r10b
jl 0x14000ee77
cmp cl, r10b
jl 0x14000ee77
cmp r15, 0x28
ja 0x14000dae5
test r15, r15
je 0x14000ed80
lea rcx, [r15*4]
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [rsp + rdx + 0xb8]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0xb8], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x14000ed20
test rax, rax
je 0x14000ed5e
cmp r15, 0x28
je 0x14000dae5
mov dword [rsp + r15*4 + 0xb8], eax
inc r15
mov qword [rsp + 0x158], r15
cmp rsi, 0x28
jbe 0x14000ed95
jmp 0x14000dae5
xor r15d, r15d
mov qword [rsp + 0x158], r15
cmp rsi, 0x28
ja 0x14000dae5
test rsi, rsi
je 0x14000ee00
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 0x14000edb0
test rax, rax
je 0x14000eded
cmp rsi, 0x28
je 0x14000dae5
mov dword [rsp + rsi*4 + 0x2f0], eax
inc rsi
mov qword [rsp + 0x390], rsi
cmp r12, 0x28
jbe 0x14000ee14
jmp 0x14000dae5
xor esi, esi
mov qword [rsp + 0x390], rsi
cmp r12, 0x28
ja 0x14000dae5
test r12, r12
je 0x14000e640
lea rcx, [r12*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 0x14000ee30
test rax, rax
je 0x14000e643
cmp r12, 0x28
je 0x14000dae5
mov dword [rsp + r12*4 + 0x1a0], eax
inc r12
jmp 0x14000e643
cmp cl, r10b
mov r14, qword [rsp + 0x58]
jge 0x14000efd9
cmp dil, r10b
jge 0x14000ef9b
test r15, r15
je 0x14000dae5
mov rax, r15
nop word [rax + rax]
cmp r15, 0x29
jae 0x14000dae5
dec rax
jne 0x14000eea0
mov eax, dword [rsp + r15*4 + 0xb4]
mov rcx, r15
test eax, eax
js 0x14000eec6
cmp r15, 1
jne 0x14000eee7
jmp 0x14000ef1f
cmp r15, 0x28
je 0x14000dae5
mov ecx, eax
shr ecx, 0x1f
mov dword [rsp + r15*4 + 0xb8], ecx
lea rcx, [r15 + 1]
cmp r15, 1
je 0x14000ef1f
lea rdx, [r15 - 2]
nop dword [rax + rax]
cmp rdx, 0x28
jae 0x14000dae5
mov r8d, dword [rsp + r15*4 + 0xb0]
shld eax, r8d, 1
mov dword [rsp + r15*4 + 0xb4], eax
lea r9, [r15 - 1]
mov eax, r8d
mov r15, r9
cmp r9, 1
ja 0x14000eef0
shl dword [rsp + 0xb8], 1
mov qword [rsp + 0x158], rcx
cmp rcx, r13
cmova r13, rcx
cmp r13, 0x29
jae 0x14000dae5
shl r13, 2
mov eax, 0xff
nop dword [rax + rax]
test r13, r13
je 0x14000ef7c
mov edx, dword [rsp + r13 + 0x244]
xor ecx, ecx
cmp edx, dword [rsp + r13 + 0xb4]
setne cl
cmova ecx, eax
add r13, 0xfffffffffffffffc
test cl, cl
je 0x14000ef50
cmp cl, 1
jbe 0x14000ef9b
jmp 0x14000efd9
lea rax, [rsp + r13]
add rax, 0x248
lea rcx, [rsp + 0x248]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x14000efd9
mov r8, 0xffffffffffffffff
mov rax, rbx
mov rsi, qword [rsp + 0x40]
nop word [rax + rax]
test rax, rax
je 0x14000f00d
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x14000efb0
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x14000efd9
add rcx, qword [rsp + 0x40]
mov dl, 0x30
call sub.msvcrt.dll_memset
cmp rbp, 0x11
mov rax, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
jae 0x14000dae5
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 0x14000f02d
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call sub.msvcrt.dll_memset
cmp rbp, 0xf
ja 0x14000dae5
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc r14d
mov rbx, rbp
mov rax, qword [rsp + 0x60]
jmp 0x14000efed