Function at 0x14004de7c
Capabilities:
Access peb ldr_data
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
movabs rsi, 0x617df7358cbb1f1f
movabs rax, 0x9869227d3f764000
movabs r14, 0xfa6d7f8d8561701c
mov r10, qword [0x14031d080]
imul r10, rax
movabs rax, 0x8a9dcdef928e1000
xor r10, rax
mov r13, r10
imul r13, rsi
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
lea r11, [0x14031d060]
mov r8, r10
and r8, rsi
imul r8, qword [r11 + rcx*8]
movabs rax, 0xf1ebcfc723d13148
imul r8, rax
shr r8, 3
movabs rax, 0x54d790f52ace1480
xor r8, rax
movabs rax, 0xffffff57ca9559cd
mov rbx, r10
imul rbx, rax
sub rbx, 0x3a77f62
xor rbx, qword [0x14031d060]
xor rbx, r8
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc326e6ec
imul rax, rcx
not rax
and rbx, rax
ror rbx, 2
shr rbx, 8
movabs r12, 0x9e8208ca7344e0e1
lea rcx, [r10 + r12]
xor rcx, 0xfffffffffda8ede1
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x4bac04834c1a0a48
mov rdi, qword [r11 + rcx*8]
imul rdi, rax
add rdi, rsi
movabs rcx, 0x84261a489f4fdd90
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r15, rdi
xor r15, r10
lea rcx, [rdi + r12]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r11 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xfd
mov eax, 0x8000003f
and ecx, eax
jge 0x14004e009
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffffc58809e
mov qword [rbp + 0x67], rdx
lea r11, [rdx + r12]
mov r9, rdi
imul r9, rbx
sub r9, r11
xor r9, r14
movzx r12d, r11b
mov ecx, r12d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14004e047
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
movabs rax, 0x4b8ecd40a1b4b522
imul r15, rax
movabs rax, 0x74d418599ced7a3f
add r15, rax
xor r9, r15
mov rax, r11
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r8
xor r9, r10
mov rax, r9
xor rax, 0xfffffffffffffffe
movabs rcx, 0xd79435e50d79435f
and eax, 3
je 0x14004e3ca
sub rax, 1
je 0x14004e291
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x14004e1a8
cmp rax, 1
jne 0x14004e47f
mov r14, r11
imul r14, rdi
movabs rax, 0xb28feca2fe2f7b2d
add rax, r9
xor r14, rax
ror r14, 0x3a
shr r14, 0xc
xor r14, r10
not r14
movabs rcx, 0x835721d7e8ea
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x9e008db21988288d
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db979370415
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, rsi
mov eax, 0xa8ecd6ff
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rsi, 0x19c38d1413d8e998
sub rsi, r14
shr rsi, cl
movabs rax, 0x9e8a2d52cdad8715
mov rcx, qword [rbp + 0x67]
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r12 + rcx*8]
imul rax, r9
sub rax, rbx
xor rsi, rax
jmp 0x14004e47f
movabs rax, 0xaaaaaa1aa8f52bc1
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6af8f78d
imul rcx, rax
movabs r11, 0xfff17ca87f971dbd
mov rax, r8
xor rax, r11
sub rcx, rax
movabs rax, 0xffff7e8a8ee5191d
imul rdx, rax
movabs rdi, 0xf98e8b5f4eed8b9a
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be7a25fca1
mov rcx, rdi
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, rdi
not r11
lea rdx, [0x14031d060]
imul r11, qword [rdx + rcx*8]
xor r11, 0xfffffffffda0fd11
lea ecx, [r9 + 3]
and cl, 0x3f
rol r11, cl
movabs rax, 0xcfd7d3fd6b58085f
xor r13, rax
movabs rax, 0x7c7a7dc694a7f7a0
and r13, rax
imul r11, r13
mov rcx, rdi
sub rcx, r11
mov rax, r11
not rax
movabs rdx, 0x9b2de6b2d725fa18
imul rax, rdx
lea rdx, [rax + rcx*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14004e47f
movabs rax, 0xea53dfe5f718c451
imul r9, rax
mov rax, rcx
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x9e8208ca7344e0e0
mov rax, r10
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
and r12d, 0x8000003f
jge 0x14004e2e4
dec r12d
or r12d, 0xffffffc0
inc r12d
mov cl, r12b
rol r8, cl
movabs rcx, 0x9e8208ca7344e0e1
add rcx, r9
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff7358cbb1f1f
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f4315dec
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r11
mov rax, rbx
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6a5395de1
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul r10
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r10
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r11
imul rdx, rsi
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r10
movabs r10, 0x78958946a6b11fb
add r10, rax
xor r10, rbx
mov cl, dil
shl cl, 2
and cl, 0x3f
rol r10, cl
not r10
jmp 0x14004e47f
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r11
not rbx
imul rbx, rdi
movabs rax, 0x7cd8a7de78c80c00
imul rbx, rax
mov rax, r8
imul rax, r10
mov r10, rbx
xor r10, rax
imul rbx, qword [0x14031d060], 0xfffffffffc58809e
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004e46b
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0x9e8208ca7344e0e1
add rbx, rax
add rbx, qword [rbp + 0x67]
movabs rax, 0xff055d7b888306cd
xor r14, rax
mov rax, r15
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r10
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r11
imul r11, r9
imul r11, rbx
imul r11, rsi
movabs rcx, 0xf5ed7e878f304c11
xor rcx, rdi
not rcx
xor rcx, r11
sub rcx, r8
call fcn.1400279bc
mov qword [0x140321f48], rax
xor r13d, r13d
mov qword [rbp - 0x41], r13
movabs rax, 0xf7509422625211a
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x49], r13
movabs rax, 0x5a9c3b37294fee47
mov qword [rbp - 0x49], rax
movabs rcx, 0xf33a52b51698c603
add rcx, qword [rbp - 0x49]
movabs rax, 0xeb5536625308a89d
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f56a95951
sub rcx, rax
movabs rax, 0xf8f8cd9966a77095
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0xc7d654bad8543024
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a9723a382d
xor rcx, rax
movabs rax, 0x5f627dc70ddc1d80
sub rcx, rax
movabs rax, 0xae3b3cd2d5f8dd6a
xor rcx, rax
movabs rdx, 0x3483ce45a9c9bbca
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad45a616c
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52ba59e93
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d89f6924041
add rdx, rax
add rdx, rcx
movabs rax, 0xa6565b01a6a29904
xor rdx, rax
mov qword [rbp - 0x49], rdx
movabs rcx, 0xf33a52b77c3eb183
add rcx, qword [rbp - 0x41]
movabs rax, 0xd6d53662530b0e43
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a225b4ed
add rcx, rax
movabs rax, 0xf8f8cd96f76aed67
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b7975976f8
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a6b648f78f
xor rcx, rax
movabs rax, 0x5f627dc4acc3320a
sub rcx, rax
movabs rax, 0x523b3cd1a312ba7a
xor rcx, rax
movabs rax, 0xb483ce4354eb59bb
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94addf0f91a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5220f06e5
xor r11, rax
movabs rax, 0xe0b56d937682c66f
add rcx, rax
add rcx, r11
movabs rax, 0x5997cec23aeb7042
xor rcx, rax
mov qword [rbp - 0x41], rcx
and rcx, rdx
cmp qword [0x140322018], rcx
sete al
mov qword [rbp - 0x49], r13
mov qword [rbp - 0x41], r13
test al, al
je 0x140051084
mov dword [rbp - 0x65], 0x81f06f10
mov dword [rbp - 0x61], 0x30630f51
mov dword [rbp - 0x5d], 0xf9e39ce8
mov byte [rbp - 0x59], 0x88
mov r15d, r13d
mov r12, qword [0x14031d040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adba99340
div rcx
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov bl, r14b
not bl
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov dl, byte [rbp + r15 - 0x65]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x14031d048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
add dl, sil
add dl, r12b
mov al, r8b
sub al, r9b
add al, r11b
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add sil, sil
add dil, 0x51
add dil, sil
add dil, r12b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, byte [0x14031d038]
xor al, bl
sub dil, al
mov al, byte [0x14031d030]
xor al, r14b
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 - 0x65], dil
inc r15
cmp r15, 0xd
jb 0x14004e706
lea rax, [rbp - 0x65]
mov qword [rbp - 1], rax
mov qword [rbp + 7], 0xd
mov rax, qword [rbp - 1]
mov qword [rbp + 0xf], rax
mov dword [rbp + 0x67], r13d
mov dword [rbp + 0x67], 0x5ace4752
mov eax, dword [rbp + 0x67]
add eax, 0x696a64b5
xor eax, 0xfa09fb6e
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5aa1ce2c
xor eax, 0xe8a8b69
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x8c68a538
add eax, ecx
xor eax, 0xefc31f2b
add eax, 0xa410887
xor eax, 0xf4857784
mov edx, dword [0x14031d030]
xor edx, 0x265a5819
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xd9a5a7e6
sub edx, eax
sub edx, ecx
sub edx, 0x3917deee
xor edx, 0x5dc07576
mov dword [rbp + 0x67], edx
mov dword [rbp + 0x6f], edx
mov dword [rbp + 0x67], r13d
mov ebx, r13d
mov edi, 0x47d2e848
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test ebx, ebx
je 0x14004e96d
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x36dfa2e8
jmp 0x14004e95f
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14004e93f
cmp r9d, ebx
jne 0x14004ea70
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x14004ea70
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14004ea70
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0x36dfa2e8
jmp 0x14004e9d3
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x14004e9b5
cmp r14d, edi
je 0x14004e9eb
test esi, esi
jne 0x14004e9a0
jmp 0x14004ea70
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r10d, dword [rdx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x14004ea78
lea rax, [r11 + rcx]
cmp r10, rax
jae 0x14004ea78
mov ebx, 0x36dfa2e8
mov edi, ebx
jmp 0x14004ea35
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14004ea1b
jmp 0x14004ea55
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r10
mov al, byte [r10]
test al, al
jne 0x14004ea3e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14004e913
lea r9, [rbp + 0x6f]
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0xb]
call r10
mov qword [rbp - 0x31], r13
movabs rax, 0xb89908e63791819e
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x39], r13
movabs rax, 0x29789dc519f2c87e
mov qword [rbp - 0x39], rax
movabs rcx, 0xf33a52b66afad383
add rcx, qword [rbp - 0x39]
movabs rax, 0xf8d536625309fcff
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a5598087
add rcx, rax
movabs rax, 0xf8f8cd980cf3dadf
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b90a4916d1
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a7edfa60c7
xor rcx, rax
movabs rax, 0x5f627dc6f5551952
sub rcx, rax
movabs rax, 0x423b3cd22bbd3399
xor rcx, rax
movabs rdx, 0xb483ce445eb65ca9
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad9abe9a2
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52654165d
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8f2d2bfef7
add rdx, rax
add rdx, rcx
movabs rax, 0x6423b868eafcbda
xor rdx, rax
mov qword [rbp - 0x39], rdx
movabs rcx, 0xf33a52b66b5a9503
add rcx, qword [rbp - 0x31]
movabs rax, 0xba5536625309fd5f
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f5aa79ebe
sub rcx, rax
movabs rax, 0xf8f8cd980c929a59
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b909c71ba8
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7ed8d2811
xor rcx, rax
movabs rax, 0x5f627dc6f55bc804
sub rcx, rax
movabs rax, 0x363b3cd22b8d4fdb
xor rcx, rax
movabs rax, 0x3483ce445e593973
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9ad68a8
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b526529757
xor r11, rax
movabs rax, 0xe0b56d8f2eae7bfd
add rcx, rax
add rcx, r11
movabs rax, 0xf69954b1b879a918
xor rcx, rax
mov qword [rbp - 0x31], rcx
and rcx, rdx
mov eax, dword [rbp + 0x6f]
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x31], r13
cmp rax, rcx
jne 0x14004ec85
mov r12, r13
jmp 0x140050e59
movabs rbx, 0xf4f4edd7e3d2f8d
movabs r15, 0x7634dfd7c69ee336
mov rdi, r13
movabs rax, 0xb0291f3735f981f8
movabs r10, 0xca11fcfa4045bb84
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rcx, 0x35ee0305b1b191a8
mov rax, qword [0x14031d060]
xor rax, rcx
and rsi, rax
ror rsi, 2
shr rsi, 8
mov r13, qword [0x14031d080]
movabs rax, 0x848fbc7f91a6fa98
mov r9, r13
imul r9, rax
add r9, rbx
movabs rax, 0x98acd6e6ffffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xf0b0b12281c2d073
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x2f
mov edx, 0x8000003f
and ecx, edx
jge 0x14004ed5d
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x2359b6087a8fe2b0
mov r12, rax
imul r12, rcx
lea r11, [r12 + r8]
mov r8, r9
imul r8, rsi
sub r8, r11
xor r8, r15
movzx r14d, r11b
mov ecx, r14d
and ecx, 0xf
and ecx, edx
jge 0x14004ed9d
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x66c528f78fce2af0
imul rax, rcx
movabs rcx, 0x5be44ee07e0713a9
sub rax, rcx
xor r8, rax
mov rax, r11
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r10
mov rax, r8
and eax, 1
je 0x14004f0bb
sub rax, 1
je 0x14004efba
sub rax, 1
je 0x14004eee8
cmp rax, 1
jne 0x14004f133
mov r15, r11
imul r15, r9
movabs rax, 0x8455e96095002ed
add rax, r8
xor r15, rax
ror r15, 0x38
shr r15, 0xc
not r15
movabs rcx, 0x83572585483c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xf032345aef5cb8cd
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d65a4c7
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0xacbe762d
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rbx, 0x16d33458d54cf0ca
sub rbx, r15
shr rbx, cl
movabs rcx, 0xf0b8d5aadffcd755
add rcx, r12
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, rsi
xor rbx, rax
jmp 0x14004f133
movabs rcx, 0xaaaaaa1aaca78b13
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6eaa575f
imul r9, rcx
movabs rcx, 0xffff7e8a8ab7b9cf
imul r12, rcx
movabs rcx, 0x57c7e78404965ae1
add r9, rcx
add r9, r12
movabs rax, 0x277cd7be7e775c73
mov rcx, r9
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r9
not r11
lea rax, [0x14031d060]
imul r11, qword [rax + rcx*8]
xor r11, 0xfffffffff9f25dc3
lea ecx, [r8 + 0x11]
and cl, 0x3f
rol r11, cl
movabs rax, 0x428218000000000
imul r11, rax
mov rcx, r11
ror rcx, 0x38
not rcx
movabs rax, 0x9b2de6b2c66f7950
imul rcx, rax
mov rax, r9
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14004f133
movabs rax, 0x5445c173c606591
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x89cb202839611cc9
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x14004f00d
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0xf0b0b12281c2d073
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xedd7e3d2f8d
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f063fd3e
or r10, rax
mov rbx, qword [0x14031d070]
imul rbx, r15
sub rbx, r11
mov rax, rsi
sub rax, r10
xor rbx, rax
movabs rax, 0xc7a7c6a6a16bfd33
xor rbx, rax
mov rax, r8
imul rax, r11
imul rax, rbx
mov rdi, r9
sub rdi, rax
movabs rax, 0x78958946e39b129
add rdi, rax
xor rdi, rsi
movzx eax, r9b
imul ecx, eax, 0x16
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14004f133
imul r13, r8
and r13, qword [0x14031d060]
mov rax, r10
mov r10, r13
xor r10, rax
ror r10, 4
imul r10, r11
mov rdi, rsi
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de7c9aacd2
imul rdi, rax
imul rsi, qword [0x14031d060], 0xfffffffff1f42a2c
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004f120
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0xf0b0b12281c2d073
add rsi, rax
add rsi, r12
movabs rax, 0xff055d7b8cd1a61f
xor r15, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rdi
lea rax, [0x14031d060]
imul r10, qword [rax + r15*8]
not r11
imul r11, r8
imul r11, rsi
imul r11, rbx
movabs rcx, 0xf5ed7e878b62ecc3
xor rcx, r9
not rcx
xor rcx, r11
sub rcx, r10
call fcn.14003f650
mov qword [0x140321f68], rax
mov ecx, dword [rbp + 0x6f]
call fcn.14027e914
mov rsi, rax
mov qword [rbp - 9], rax
xor r13d, r13d
mov qword [rbp - 0x21], r13
movabs rax, 0x736e4473c157269
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x29], r13
movabs rax, 0x57f5979b09b71b82
mov qword [rbp - 0x29], rax
movabs rcx, 0xf33a52b767e3a283
add rcx, qword [rbp - 0x29]
movabs rax, 0xc7d53662530af9e8
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a262c61a
add rcx, rax
movabs rax, 0xf8f8cd970c1768a3
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654b7b2fb11d4
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a6cd80d4ab
xor rcx, rax
movabs rax, 0x5f627dc671c6e10e
sub rcx, rax
movabs rax, 0xca3b3cd1ad40e4d3
xor rcx, rax
movabs rdx, 0xb483ce4368b7eb52
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94add9f8cde
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b522607321
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d9325031db3
add rdx, rax
add rdx, rcx
movabs rax, 0x27dcadb58d18e29e
xor rdx, rax
mov qword [rbp - 0x29], rdx
movabs rcx, 0xf33a52a977b4df03
add rcx, qword [rbp - 0x21]
movabs rax, 0x455366252fd09b9
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f33ccad9c
sub rcx, rax
movabs rax, 0xf8f8cda53406e731
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654ca9e828c35
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179b6b3762ba9
xor rcx, rax
movabs rax, 0x5f627de03613babc
sub rcx, rax
movabs rax, 0xe63b3cd8a5c7c809
xor rcx, rax
movabs rax, 0x3483ce50f7556779
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aa5ded1d0
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b55a212e2f
xor r11, rax
movabs rax, 0xe0b56d5b2c8914a5
add rcx, rax
add rcx, r11
movabs rax, 0xbe7c2e0ea96be530
xor rcx, rax
mov qword [rbp - 0x21], rcx
and rcx, rdx
mov qword [rbp - 0x29], r13
mov qword [rbp - 0x21], r13
cmp rsi, rcx
je 0x14004ec7d
movabs rdi, 0xc31d076a8c0e5aeb
movabs rax, 0x835851c14bc76000
movabs r15, 0xf4760c8adba92be2
mov r10, qword [0x14031d060]
imul r10, rax
movabs rax, 0x8a9dcdabfa2c5000
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov qword [rbp - 0x51], rcx
movabs rbx, 0xaaaaaaaaaaaaaaab
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
and r9, rdi
lea r13, [0x14031d060]
imul r9, qword [r13 + rcx*8]
movabs rax, 0x351fa63baf37ac34
imul r9, rax
shr r9, 3
movabs rax, 0xfad5fe1b97c6c558
xor r9, rax
movabs rax, 0xffffff57ced3d3e9
mov r11, r10
imul r11, rax
sub r11, 0x223ca46
xor r11, r9
xor r11, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc7606cc8
imul rax, rcx
not rax
and r11, rax
ror r11, 0x12
shr r11, 8
movabs r8, 0x3ce2f89573f1a515
lea rcx, [r10 + r8]
xor rcx, 0xfffffffff9ee67c5
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3bbd832e5233c7d0
mov rsi, qword [r13 + rcx*8]
imul rsi, rax
sub rsi, r8
movabs rcx, 0xed60d6147052f1d8
mov rax, r9
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov r14, rsi
xor r14, r10
lea rcx, [rsi + r8]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd9
mov eax, 0x8000003f
and ecx, eax
jge 0x14004f51c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
not r14
imul r14, r9
imul r13, r14, 0xfffffffffddc35ba
lea rbx, [r8 + r13]
mov r8, rsi
imul r8, r11
sub r8, rbx
xor r8, r15
movzx r12d, bl
mov ecx, r12d
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14004f556
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, rbx
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0xe58ca3ae1c34b5be
imul r14, rax
movabs rax, 0x53462724e601ec47
add r14, rax
xor r8, r14
xor r8, r9
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14004f8e3
sub rax, 1
je 0x14004f7a2
sub rax, 1
je 0x14004f6a9
cmp rax, 1
jne 0x14004f994
mov r15, rbx
imul r15, rsi
movabs rax, 0x81d5221f73dc111d
add rax, r8
xor r15, rax
ror r15, 0x2a
shr r15, 0xc
xor r15, r10
not r15
movabs rcx, 0x8357259162ce
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x3c607ded1d7be75d
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d718e31
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, rdi
mov eax, 0xacaa5cdb
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rdi, 0xdc14fa08b20e6d84
sub rdi, r15
shr rdi, cl
movabs rcx, 0x3ceb1d1dd21fd12d
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r12 + rcx*8]
imul rax, r8
sub rax, r11
xor rdi, rax
jmp 0x14004f994
movabs rax, 0xaaaaaa1aacb3a1e5
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6ebe7da9
imul rcx, rax
movabs rdx, 0xfff17ca87bd19799
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8aa39339
imul r13, rax
movabs rsi, 0x855e12908b9b63e6
add rsi, rcx
add rsi, r13
movabs rax, 0x277cd7be7e637685
mov rcx, rsi
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, rsi
not rbx
lea rax, [0x14031d060]
imul rbx, qword [rax + rcx*8]
xor rbx, 0xfffffffff9e67735
lea ecx, [r8 - 0x19]
and cl, 0x3f
rol rbx, cl
movabs rcx, 0x240a588280000000
mov rax, qword [rbp - 0x51]
xor rax, rcx
movabs rcx, 0x7c7a7dc690e17d84
and rax, rcx
imul rbx, rax
mov rcx, rbx
ror rcx, 0x1a
not rcx
movabs rax, 0x9b2de6b2c63fd288
imul rcx, rax
mov rax, rsi
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, r11b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14004f994
movabs rax, 0xd1bb0e4cfb22f29b
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x3ce2f89573f1a514
mov rax, r10
imul rax, rdx
xor rax, r15
not rax
shl rax, cl
xor r9, rax
and r12d, 0x8000003f
jge 0x14004f7fc
dec r12d
or r12d, 0xffffffc0
inc r12d
mov cl, r12b
rol r9, cl
movabs rcx, 0x3ce2f89573f1a515
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x76a8c0e5aeb
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f077d7c8
or r9, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, rbx
mov rax, r11
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6a17fd7c5
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r10
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r10
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, rbx
imul rdx, rdi
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, r10
movabs r10, 0x78958946e2d9bdf
add r10, rax
xor r10, r11
movzx eax, sil
imul ecx, eax, 0xe0
and cl, 0x3f
rol r10, cl
not r10
jmp 0x14004f994
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, rbx
not r11
imul r11, rsi
movabs rax, 0x7cd8a7de7c8e8624
imul r11, rax
mov rax, r9
imul rax, r10
mov r10, r11
xor r10, rax
imul r11, qword [0x14031d060], 0xfffffffffddc35ba
mov rdx, qword [0x14031d068]
sub r11, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004f981
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r11, cl
movabs rax, 0x3ce2f89573f1a515
add r11, rax
add r11, r13
movabs rax, 0xff055d7b8cc58ce9
xor r15, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r9, r10
lea rax, [0x14031d060]
imul r9, qword [rax + r15*8]
not rbx
imul rbx, r8
imul rbx, r11
imul rbx, rdi
movabs rcx, 0xf5ed7e878b76c635
xor rcx, rsi
not rcx
xor rcx, rbx
sub rcx, r9
call fcn.14003f848
mov qword [0x140321f58], rax
movabs rdi, 0x66e4ed51334a0527
movabs rax, 0x4cc9bd2702def5d0
movabs r11, 0x3624816d9732a1db
mov rsi, qword [0x14031d088]
imul rsi, rax
movabs rax, 0xed8a9dcde8bcccb0
xor rsi, rax
mov r13, rsi
imul r13, rdi
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
mov r10, rsi
and r10, rdi
lea r9, [0x14031d060]
imul r10, qword [r9 + rcx*8]
movabs rax, 0xa160204abeadba7c
imul r10, rax
movabs rax, 0x32c379f6563b8658
xor r10, rax
shr r10, 3
movabs rax, 0xffffff57cae7bde7
mov r14, rsi
imul r14, rax
sub r14, 0x23951cc
xor r14, r10
xor r14, qword [0x14031d060]
mov rax, r10
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc35402c6
imul rax, rcx
not rax
and r14, rax
ror r14, 0x10
shr r14, 8
movabs r12, 0x991b12aeccb5fad9
lea rcx, [rsi + r12]
xor rcx, 0xfffffffffdda09cb
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe4da460d0a3c53c8
mov rbx, qword [r9 + rcx*8]
imul rbx, rax
add rbx, rdi
movabs rcx, 0x53326f49c0b7bd74
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r15, rbx
xor r15, rsi
lea rcx, [rbx + r12]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r9 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd7
and ecx, 0x8000003f
jge 0x14004fb6e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r10
imul r12, r15, 0xfffffffffdc6ae34
movabs r8, 0x991b12aeccb5fad9
add r8, r12
mov r9, rbx
imul r9, r14
sub r9, r8
xor r9, r11
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rax, 0x1901328b41b38dec
imul r15, rax
movabs rax, 0x31dff3dd7b59740f
add r15, rax
xor r9, r15
mov rax, r8
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r10
xor r9, rsi
mov rax, r9
and eax, 3
je 0x14004ff18
sub rax, 1
je 0x14004fde8
sub rax, 1
je 0x14004fcf3
cmp rax, 1
jne 0x14004ffc9
mov r11, r8
imul r11, rbx
movabs rax, 0xc44d64fdb07084cf
add rax, r9
xor r11, rax
ror r11, 0x28
shr r11, 0xc
xor r11, rsi
not r11
movabs rcx, 0x835721a50cc4
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x999997d6a60bd69f
xor rdx, rax
movzx eax, r11b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97945e03f
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov eax, 0xa89e32d5
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xcbce11d08b94eea0
sub rdi, r11
shr rdi, cl
movabs rcx, 0x9923373726d03cf3
add rcx, r12
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, r14
xor rdi, rax
jmp 0x14004ffc9
movabs rax, 0xaaaaaa1aa887cfeb
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6a8a13a7
imul rcx, rax
movabs rdx, 0xfff17ca87fe5f997
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8e97fd37
imul r12, rax
movabs rbx, 0x91a5f9ddb69856d6
add rbx, rcx
add rbx, r12
movabs rax, 0x277cd7be7a57188b
mov rcx, rbx
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffffdd2193b
lea ecx, [r9 - 0x17]
and cl, 0x3f
rol r8, cl
movabs rax, 0xcf9dabfdeb2aec75
xor r13, rax
movabs rax, 0x7c7a7dc694d5138a
and r13, rax
imul r8, r13
mov rcx, r8
ror rcx, 0x2d
not rcx
movabs rax, 0x9b2de6b2d6ee6ab0
imul rcx, rax
mov rax, rbx
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14004ffc9
movabs rax, 0x6439b1fb1e573a75
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x991b12aeccb5fad8
mov rax, rsi
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
mov cl, r8b
and cl, 0x3f
rol r10, cl
movabs rcx, 0x991b12aeccb5fad9
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffed51334a0527
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f443b9c6
or r10, rax
mov rdi, qword [0x14031d070]
imul rdi, r11
sub rdi, r8
mov rax, r14
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6a54bb9cb
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul rsi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rsi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r8
imul rdx, rdi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, rsi
movabs rsi, 0x78958946a19f5d1
add rsi, rax
xor rsi, r14
movzx eax, bl
imul ecx, eax, 0xee
and cl, 0x3f
rol rsi, cl
not rsi
jmp 0x14004ffc9
movabs rax, 0xaaaaaaaaaaaaaaab
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r9
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, 0x3f
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r8
not r14
imul r14, rbx
movabs rax, 0x7cd8a7de78bae82a
imul r14, rax
mov rax, r10
imul rax, rsi
mov rsi, r14
xor rsi, rax
imul r14, qword [0x14031d060], 0xfffffffffdc6ae34
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004ffb6
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x991b12aeccb5fad9
add r14, rax
add r14, r12
movabs rax, 0xff055d7b88f1e2e7
xor r11, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, rsi
lea rax, [0x14031d060]
imul r10, qword [rax + r11*8]
not r8
imul r8, r9
imul r8, r14
imul r8, rdi
movabs rcx, 0xf5ed7e878f42a83b
xor rcx, rbx
not rcx
xor rcx, r8
sub rcx, r10
call fcn.14003f674
mov qword [0x140321f88], rax
xor edi, edi
mov esi, 0x5a29e848
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x1400500a3
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xe3655c66
jmp 0x140050095
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140050075
cmp r9d, edi
jne 0x1400501b3
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x1400501b3
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x1400501b3
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0xe3655c66
jmp 0x140050116
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, 0x4764996c
mov edx, r15d
xor edx, r8d
mov r15d, r9d
imul r15d, edx
mov dl, byte [r11]
inc r11
test dl, dl
jne 0x1400500f3
cmp r15d, esi
je 0x14005012f
test r14d, r14d
jne 0x1400500d6
jmp 0x1400501b3
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r14*2]
mov r11d, dword [rdx + rax*4]
add r11, r10
cmp r11, rbx
jbe 0x1400501bb
lea rax, [rcx + rbx]
cmp r11, rax
jae 0x1400501bb
mov edi, 0xe3655c66
mov esi, edi
jmp 0x140050178
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r11
mov al, byte [r11]
cmp al, 0x2e
jne 0x14005015e
jmp 0x140050198
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r11
mov al, byte [r11]
test al, al
jne 0x140050181
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140050049
xor r13d, r13d
mov dword [rbp - 0x69], r13d
mov dword [rbp - 0x69], 0x336e491f
mov eax, dword [rbp - 0x69]
add eax, 0x16edf1b4
xor eax, 0x8708a8f2
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x56aa58d3
xor eax, 0x6650f036
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xd7e09355
add eax, ecx
xor eax, 0x71d91258
sub eax, 0xdc09306
xor eax, 0x35ce44e8
lea edx, [rcx - 0x56891bb6]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd45bb61a
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2ba449e5
add ecx, 0xf7e87c30
add ecx, edx
xor ecx, 0x239f4f42
mov dword [rbp - 0x69], ecx
movsxd r9, ecx
mov r8d, dword [rbp + 0x6f]
mov dword [rbp + 0x7f], r13d
mov dword [rbp + 0x7f], 0x696fcf74
mov eax, dword [rbp + 0x7f]
add eax, 0x60ba3f36
xor eax, 0xd48af2be
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x22784244
xor eax, 0x135d717e
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x7cb3c01f
add eax, ecx
xor eax, 0xd5ac09f0
sub eax, 0x6fdc5017
xor eax, 0xa4d5cfc5
mov r10d, dword [0x14031d030]
xor r10d, 0x227d18af
sub r10d, eax
mov eax, dword [0x14031d038]
xor eax, 0xdd82e750
sub r10d, eax
sub r10d, ecx
add r10d, 0x18537608
xor r10d, 0x443b9fb0
mov dword [rbp + 0x7f], r10d
mov dword [rbp + 0x77], r13d
mov dword [rbp + 0x77], 0xe4da47f1
mov eax, dword [rbp + 0x77]
add eax, 0x66b90636
xor eax, 0x9b8af8bd
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x226645ef
xor eax, 0xd46af62
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
add eax, 0xf49068fe
add eax, edx
xor eax, 0xced56ef4
sub eax, 0x7294ac93
xor eax, 0x69d63c4f
mov ebx, dword [0x14031d030]
xor ebx, 0x22651d93
sub ebx, eax
mov eax, dword [0x14031d038]
xor eax, 0xdd9ae26c
sub ebx, eax
sub ebx, edx
add ebx, 0x367b64b3
xor ebx, 0x78324004
mov dword [rbp + 0x77], ebx
mov rdi, qword [rbp - 9]
mov rdx, rdi
mov ecx, r10d
call r11
nop
mov dword [rbp + 0x77], r13d
mov dword [rbp + 0x7f], r13d
mov dword [rbp - 0x69], r13d
cmp eax, ebx
jge 0x140050377
mov rcx, rdi
call fcn.14027e900
jmp 0x14004ec7d
movabs rdi, 0xf578f9d0afacf469
movabs rax, 0x6e9c000000000000
movabs r14, 0xe4d1296e4468363c
mov rbx, qword [0x14031d080]
imul rbx, rax
movabs rax, 0xda21000000000000
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov qword [rbp - 0x51], rcx
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
and r8, r14
lea r10, [0x14031d060]
imul r8, qword [r10 + rcx*8]
movabs rax, 0x51f1299e2f35f1b2
imul r8, rax
shr r8, 3
movabs rax, 0x62195328b4e0d302
xor r8, rax
movabs rax, 0xffffff57cb12ab0d
mov rsi, rbx
imul rsi, rax
sub rsi, 0x2c4da1e
xor rsi, r8
xor rsi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc2a1142c
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x21
shr rsi, 8
movabs r12, 0x1b2ed691bb97c9c4
lea rcx, [rbx + r12]
xor rcx, 0xfffffffffc2f1f21
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x5a3553f397b93f38
mov r11, qword [r10 + rcx*8]
imul r11, rax
sub r11, r12
movabs rcx, 0xd6b2dd135afdba70
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
lea rcx, [r11 + r12]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x3d
mov eax, 0x8000003f
and ecx, eax
jge 0x1400504e9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul r13, r15, 0xfffffffffd3b25e2
lea r9, [r12 + r13]
mov r10, r11
imul r10, rsi
sub r10, r9
xor r10, rdi
movzx ecx, r9b
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x140050520
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x7d400e9d3faa8cf8
imul r15, rax
movabs rax, 0x54d2a53403c2a1f0
add r15, rax
xor r10, r15
xor r10, r8
xor r10, rbx
mov eax, 2
dec rax
sub rax, 1
je 0x140050661
cmp rax, 1
jne 0x140050755
mov rdi, r9
imul rdi, r11
movabs rax, 0xf5fcf265e214d2f4
add rax, r10
xor rdi, rax
ror rdi, 0x1a
shr rdi, 0xc
xor rdi, rbx
not rdi
movabs rcx, 0x835720501a2a
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x1bac53e9d0dcf36e
xor rdx, rax
movzx eax, r10b
movzx ecx, dil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db978b0f6d5
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xa96b243f
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs r14, 0xd64c40a0f02cfaa1
sub r14, rdi
shr r14, cl
movabs rcx, 0x1b36fb1a17871eb8
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r12 + rcx*8]
imul rax, r10
sub rax, rsi
xor r14, rax
jmp 0x140050755
movabs rax, 0xaaaaaa1aa972d901
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6b7f054d
imul rcx, rax
movabs rdx, 0xfff17ca87e10ef7d
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8f62ebdd
imul r13, rax
movabs r11, 0xd57570590ab0611
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be7ba20e61
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
xor r9, 0xfffffffffc270fd1
lea ecx, [r10 + 3]
and cl, 0x3f
rol r9, cl
movabs rcx, 0xeb8fe37beadffa9f
mov rax, qword [rbp - 0x51]
xor rax, rcx
movabs rcx, 0x7c7a7dc695200560
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x35
not rcx
movabs rax, 0x9b2de6b2d13a3118
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
movabs rax, 0xff055d7b8904f40d
xor rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + rdi*8]
not r9
imul r9, r10
imul r9, rsi
imul r9, r14
movabs rcx, 0xf5ed7e878eb7bed1
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14003f6bc
mov qword [0x140321f80], rax
xor r12d, r12d
xor ebx, ebx
mov rsi, qword [rbp - 9]
cmp dword [rsi], ebx
jbe 0x140050801
mov r14, qword [rbp + 0xf]
mov eax, ebx
imul rdi, rax, 0x128
add rdi, 8
add rdi, rsi
movzx ecx, word [rdi + 0x26]
add rcx, 0x28
add rcx, rdi
mov rdx, r14
call fcn.1402850b4
test eax, eax
je 0x1400507fd
inc ebx
cmp ebx, dword [rsi]
jb 0x1400507ce
jmp 0x140050801
mov r12, qword [rdi + 0x10]
movabs rbx, 0xf64859185b0ec459
movabs rax, 0x32b037c6631cca00
movabs r14, 0xeddca794c63611da
mov rsi, qword [0x14031d070]
imul rsi, rax
movabs rax, 0xd8a9dcdae340f900
xor rsi, rax
mov r13, rsi
imul r13, r14
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
mov r9, rsi
and r9, r14
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
movabs rax, 0xb3558210dfff6db6
imul r9, rax
shr r9, 3
movabs rax, 0x9e7f913453c6c7fd
xor r9, rax
movabs rax, 0xffffff57ce8f31d5
mov rdi, rsi
imul rdi, rax
sub rdi, 0xe46835a
xor rdi, r9
xor rdi, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc73c8ef4
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x1f
shr rdi, 8
movabs r15, 0x1223586b39c9ee26
lea rcx, [rsi + r15]
xor rcx, 0xfffffffff9b285f9
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xf02d3b261a8f7c58
lea r8, [0x14031d060]
mov r11, qword [r8 + rcx*8]
imul r11, rax
sub r11, r15
movabs rcx, 0x44cac0df198c7328
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rsi
movabs rcx, 0x1223586b39c9ee26
add rcx, r11
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r8 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xe5
and ecx, 0x8000003f
jge 0x140050984
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r9
imul rdx, r15, 0xfffffffff1b97ca6
mov qword [rbp - 0x51], rdx
movabs r8, 0x1223586b39c9ee26
add r8, rdx
mov r10, r11
imul r10, rdi
sub r10, r8
xor r10, rbx
mov cl, r8b
xor cl, 0xfa
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x8126cc81d83f2b5c
imul r15, rax
movabs rax, 0x5a0940e73ec9525c
add r15, rax
xor r10, r15
xor r10, r9
xor r10, rsi
mov rax, r10
not rax
and eax, 2
je 0x140050d33
sub rax, 1
je 0x140050c05
sub rax, 1
je 0x140050b10
cmp rax, 1
jne 0x140050de5
mov rbx, r8
imul rbx, r11
movabs rax, 0xd00e5a52570e1f9e
add rax, r10
xor rbx, rax
ror rbx, 0x26
shr rbx, 0xc
xor rbx, rsi
not rbx
movabs rcx, 0x835725cd80f2
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x12a1dd13571f4e50
xor rdx, rax
movzx eax, bl
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d2d6c0d
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xacf6bee7
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs r14, 0xed2e2f0817d41d4f
sub r14, rbx
shr r14, cl
movabs rcx, 0x122b7cf3983cbc52
add rcx, qword [rbp - 0x51]
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, rdi
xor r14, rax
jmp 0x140050de5
movabs rax, 0xaaaaaa1aacef43d9
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6ee29f95
imul rcx, rax
movabs r8, 0xfff17ca87b8d75a5
mov rax, r9
xor rax, r8
sub rcx, rax
movabs rax, 0xffff7e8a8aff7105
imul rdx, rax
movabs r11, 0x70980c2581e9ddc3
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7e3f94b9
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffff9ba9509
lea ecx, [r10 + 0x1b]
and cl, 0x3f
rol r8, cl
movabs rax, 0xf79fa77def426047
xor r13, rax
movabs rax, 0x7c7a7dc690bd9fb8
and r13, rax
imul r8, r13
mov rcx, r8
ror rcx, 0x1d
not rcx
movabs rax, 0x9b2de6b2c74c5a78
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x140050de5
movabs rax, 0xec50a5c7911dfdbc
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x1223586b39c9ee25
mov rax, rsi
imul rax, rdx
xor rax, rbx
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, 0x3f
rol r9, cl
movabs rcx, 0x1223586b39c9ee26
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe794c63611da
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f02b35f4
or r9, rax
mov r14, qword [0x14031d070]
imul r14, rbx
sub r14, r8
mov rax, rdi
sub rax, r9
xor r14, rax
movabs rax, 0xc7a7c6a6a12335f9
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul rsi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rsi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, r14
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rsi
movabs rsi, 0x78958946e7179e3
add rsi, rax
xor rsi, rdi
movzx eax, r11b
imul ecx, eax, 0x1c
and cl, 0x3f
rol rsi, cl
not rsi
jmp 0x140050de5
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
not rdi
imul rdi, r11
movabs rax, 0x7cd8a7de7cd26418
imul rdi, rax
mov rax, r9
imul rax, rsi
mov rsi, rdi
xor rsi, rax
imul rdi, qword [0x14031d060], 0xfffffffff1b97ca6
mov rdx, qword [0x14031d068]
sub rdi, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140050dd1
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0x1223586b39c9ee26
add rdi, rax
add rdi, qword [rbp - 0x51]
movabs rcx, 0xff055d7b8c996ed5
xor rbx, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r9, rsi
lea rax, [0x14031d060]
imul r9, qword [rax + rbx*8]
not r8
imul r8, r10
imul r8, rdi
imul r8, r14
movabs rcx, 0xf5ed7e878b2a2409
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.14003f86c
mov qword [0x140321f48], rax
mov rcx, qword [rbp - 9]
call fcn.14027e900
xor r13d, r13d
mov qword [0x140322018], r12
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140050e85
mov rax, r13
cmp qword [rbp + 7], r13
jbe 0x140050e85
mov byte [rcx + rax], r13b
inc rax
cmp rax, qword [rbp + 7]
jae 0x140050e85
mov rcx, qword [rbp - 1]
jmp 0x140050e72
mov qword [rbp - 0x11], r13
movabs rax, 0xf4263c31b0c55c2
mov qword [rbp - 0x11], rax
mov qword [rbp - 0x19], r13
movabs rax, 0xa5fcb869e4ffd92d
mov qword [rbp - 0x19], rax
movabs rcx, 0xf33a52b607521783
add rcx, qword [rbp - 0x19]
movabs rax, 0x3cd5366253099956
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a6847abb
add rcx, rax
movabs rax, 0xf8f8cd98722b39cf
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b99190a203
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a85fa6d737
xor rcx, rax
movabs rax, 0x5f627dc6cca9cb62
sub rcx, rax
movabs rax, 0x223b3cd25d94aedf
xor rcx, rax
movabs rdx, 0xb483ce44bfa57b85
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad81d46b2
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527e2b94d
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8dbd3ca407
add rdx, rax
add rdx, rcx
movabs rax, 0xe274c927b008e58a
xor rdx, rax
mov qword [rbp - 0x19], rdx
movabs rcx, 0xf33a52b676ee4103
add rcx, qword [rbp - 0x11]
movabs rax, 0x66553662530a08f2
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f5aca59c2
sub rcx, rax
movabs rax, 0xf8f8cd9800d09fa9
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b8fa1027ae
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7e058b7e1
xor rcx, rax
movabs rax, 0x5f627dc6ee4080b4
sub rcx, rax
movabs rax, 0xd63b3cd225c31d3e
xor rcx, rax
movabs rax, 0x3483ce4453169727
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9dbb758
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5262448a7
xor r11, rax
movabs rax, 0xe0b56d8f5d69ba2d
add rcx, rax
add rcx, r11
movabs rax, 0x7c8ae6ec2455a68
xor rcx, rax
mov qword [rbp - 0x11], rcx
and rcx, rdx
cmp qword [0x140322018], rcx
sete al
mov qword [rbp - 0x19], r13
mov qword [rbp - 0x11], r13
test al, al
sete al
jmp 0x140051086
mov al, 1
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret