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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
movabs r13, 0x25764838cce9584a
movabs r9, 0xfbf21ac3ac626201
mov qword [rsp + 0x220], r9
movabs rax, 0x103ada509ac4a000
mov rdi, qword [0x140301060]
imul rdi, rax
movabs rax, 0x8a9dcd87e97af000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x230], rcx
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r14, [0x140301060]
mov r8, rdi
and r8, r9
imul r8, qword [r14 + rcx*8]
movabs rax, 0xccea60875e9a8bb8
imul r8, rax
shr r8, 3
movabs rax, 0x43d826cac697a7e7
xor r8, rax
movabs rax, 0xffffff57cc12e683
mov rbx, rdi
imul rbx, rax
sub rbx, 0x46de654
xor rbx, qword [0x140301060]
xor rbx, r8
mov rax, r8
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bc5a159a2
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x12
shr rbx, 8
movabs r9, 0x40de53c539d9dff
lea rcx, [rdi + r9]
xor rcx, 0xfffffffffb2f52af
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x55ff679ae00f8ac8
mov r11, qword [r14 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x24c40eb69426b128
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rdi
lea rcx, [r11 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb3
and ecx, 0x8000003f
mov r12d, 1
jge 0x14016cbb7
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffffb9219ac
mov qword [rsp + 0x228], rdx
add r9, rdx
mov r10, r11
imul r10, rbx
sub r10, r9
xor r10, r13
mov cl, r9b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rax, 0x5c817b7f4d3df1ac
imul r15, rax
movabs rax, 0x4dc1db068648c401
sub r15, rax
xor r10, r15
mov rax, r9
sub rax, qword [0x140301078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
and rax, r12
mov r15b, 0x3f
je 0x14016cf79
sub rax, 1
je 0x14016ce43
sub rax, 1
je 0x14016cd49
cmp rax, 1
jne 0x14016d022
mov r13, r9
imul r13, r11
movabs rax, 0x68584a17fb68e17d
add rax, r10
xor r13, rax
ror r13, 0x28
shr r13, 0xc
xor r13, rdi
not r13
movabs rcx, 0x8357275057a8
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0x48f60443fd6eadd
xor rdx, rax
movzx eax, r10b
movzx ecx, r13b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97fb0bb5b
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xfbf21ac3ac626201
imul rcx, rax
mov eax, 0xae6b69b1
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rax, 0x49fe82d39b3c4bae
sub rax, r13
shr rax, cl
mov qword [rsp + 0x220], rax
movabs rdx, 0x41609c4b08cb77d
mov rcx, qword [rsp + 0x228]
add rcx, rdx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r14 + rcx*8]
imul rax, r10
sub rax, rbx
xor qword [rsp + 0x220], rax
jmp 0x14016d022
movabs rax, 0xaaaaaa1aae72948f
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6c7f48c3
imul rcx, rax
movabs r9, 0xfff17ca87910a2f3
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a8862a653
imul rdx, rax
movabs r11, 0x29655b0dcc8e3a00
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7ca243ef
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r14 + rcx*8]
xor r9, 0xfffffffffb27425f
lea ecx, [r10 + 0xd]
and cl, r15b
rol r9, cl
movabs rcx, 0xe7e7d6ffeddfb711
mov rax, qword [rsp + 0x230]
xor rax, rcx
movabs rcx, 0x7c7a7dc6922048ee
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x18
not rcx
movabs rax, 0x9b2de6b2cd3b0720
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, r15b
ror rdx, cl
movabs rax, 0xfbf21ac3ac626201
imul rdx, rax
mov qword [rsp + 0x220], rdx
jmp 0x14016d022
movabs rax, 0x1723e8bdf9496cff
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, 0x40de53c539d9dfe
mov rax, rdi
imul rax, rdx
xor rax, r13
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, r15b
rol r8, cl
movabs rcx, 0x40de53c539d9dff
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1ac3ac626201
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f2b6e2a2
or r8, rax
mov rcx, qword [0x140301070]
imul rcx, r13
sub rcx, r9
mov rax, rbx
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6a3bee2af
xor rcx, rax
mov qword [rsp + 0x220], rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x220]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, qword [rsp + 0x220]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958946cecaeb5
add rdi, rax
xor rdi, rbx
mov al, r11b
shl al, 2
lea ecx, [rax + r11]
add cl, cl
and cl, r15b
rol rdi, cl
not rdi
jmp 0x14016d022
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x140301080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, r15b
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de7e4fb34e
imul rbx, rax
mov rax, r8
imul rax, rdi
mov rdi, rbx
xor rdi, rax
imul rbx, qword [0x140301060], 0xfffffffffb9219ac
mov rdx, qword [0x140301068]
sub rbx, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016d00a
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror rbx, cl
movabs rax, 0x40de53c539d9dff
add rbx, rax
add rbx, qword [rsp + 0x228]
movabs rax, 0xff055d7b8e04b983
xor r13, rax
mov rax, rsi
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r13, rax
xor r8, rdi
imul r8, qword [r14 + r13*8]
not r9
imul r9, r10
imul r9, rbx
imul r9, qword [rsp + 0x220]
movabs rcx, 0xf5ed7e8789b7f35f
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.140154cc4
mov qword [0x14030af58], rax
xor r13d, r13d
mov r9d, r13d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], 0xab009fce
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10d, 0x4764996c
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r9d, r9d
je 0x14016d105
psrldq xmm0, 8
movq r11, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r11 + rcx*2]
mov ebx, 0x61f6c366
jmp 0x14016d0f7
movsx edx, byte [r11]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r10d
mov ecx, ebx
xor ecx, edx
mov ebx, r8d
imul ebx, ecx
add r11, 2
cmp r11, rdi
jne 0x14016d0d7
cmp ebx, r9d
jne 0x14016d1c3
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x14016d1c3
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14016d1c3
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x88], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x61f6c366
mov r9b, byte [rbx]
add rbx, r12
test r9b, r9b
je 0x14016d1ab
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r12
test r9b, r9b
jne 0x14016d169
mov dword [rsp + 0x230], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x230]
cmp edx, dword [rsp + 0x30]
je 0x14016d1cb
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14016d138
mov r9d, dword [rsp + 0x50]
mov rax, qword [rax]
jmp 0x14016d0ab
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x88]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x14016d284
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x14016d284
mov r9d, 0x61f6c366
mov dword [rsp + 0x50], r9d
mov edx, r9d
mov dword [rsp + 0x30], edx
mov al, byte [r8]
cmp al, 0x2e
je 0x14016d241
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14016d21a
mov dword [rsp + 0x50], r9d
add r8, r12
mov al, byte [r8]
test al, al
je 0x14016d26e
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r12
mov al, byte [r8]
test al, al
jne 0x14016d24b
mov dword [rsp + 0x30], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14016d1c3
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x38], 0xc7146c1d
mov eax, dword [rsp + 0x38]
add eax, 0xc7e7b934
xor eax, 0x4e8959ec
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
add eax, 0x2742b9d6
xor eax, 0xb2934198
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0xa7a58507
add eax, ecx
xor eax, 0xa7fc2aca
sub eax, 0xf460880
xor eax, 0xa14bd95a
lea edx, [rcx + 0x7d53f13e]
add edx, eax
not edx
mov eax, dword [0x140301038]
xor eax, 0xd71f9d38
sub edx, eax
mov ecx, dword [0x140301030]
xor ecx, 0x28e062c7
add ecx, 0xbe934151
add ecx, edx
xor ecx, 0xa4c2a688
mov dword [rsp + 0x38], ecx
movsxd rcx, ecx
call r8
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0xa8], r13
movabs rax, 0x7c946ba591bcbaa4
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xa0], r13
movabs rax, 0xad1664b16b859442
mov qword [rsp + 0xa0], rax
movabs rcx, 0xf33a52b1fca04e83
add rcx, qword [rsp + 0xa0]
movabs rax, 0x73d5366253058ea4
xor rcx, rax
sub rcx, qword [0x140301050]
sub rcx, qword [0x140301058]
movabs rax, 0x7120fb80b2a49016
add rcx, rax
movabs rax, 0xf8f8cd9c8d07c9f3
xor rcx, rax
sub rcx, qword [0x140301048]
movabs rax, 0x7d654bf0e14f65a
add rcx, rax
mov rdi, qword [0x140301040]
add rcx, rdi
movabs rax, 0x5a9179acfbd9a07b
xor rcx, rax
movabs rax, 0x5f627dc5c2bb44be
sub rcx, rax
movabs rax, 0x6a3b3cd4630de8ed
xor rcx, rax
movabs rdx, 0xb483ce48ae0c6806
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ac7f27f8e
mov r10, qword [0x140301038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5380d8071
mov r11, qword [0x140301030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d7da20ab8e3
add rdx, rax
add rdx, rcx
movabs rax, 0xed55f4990c074dae
xor rdx, rax
mov qword [rsp + 0xa0], rdx
movabs rcx, 0xf33a52b5c21bcc03
add rcx, qword [rsp + 0xa8]
movabs rax, 0xf155366253095420
xor rcx, rax
sub rcx, qword [0x140301050]
sub rcx, qword [0x140301058]
movabs rax, 0xedf047f58abe263
sub rcx, rax
movabs rax, 0xf8f8cd98b8765e7d
xor rcx, rax
sub rcx, qword [0x140301048]
movabs rax, 0xc7d654b9ef83d57f
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a8ae98c555
xor rcx, rax
movabs rax, 0x5f627dc711647398
sub rcx, rax
movabs rax, 0x7e3b3cd28031fe51
xor rcx, rax
movabs rax, 0x3483ce4502f74af4
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad7086d84
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b528f7927b
xor r11, rax
movabs rax, 0xe0b56d8ca70c5cd9
add rcx, rax
add rcx, r11
movabs rax, 0x6cfa562a69dde66c
xor rcx, rax
mov qword [rsp + 0xa8], rcx
and rcx, rdx
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], r13
cmp qword [rsp + 0x50], rcx
jne 0x14016d5e2
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x3c], 0xc6411e1b
mov eax, dword [rsp + 0x3c]
add eax, 0xc244bf34
xor eax, 0x54895449
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
add eax, 0x2753a2c4
xor eax, 0xb84cc780
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0xaf4c3f62
add eax, ecx
xor eax, 0xae6a0ff2
sub eax, 0x11459218
xor eax, 0x741d8372
lea edx, [rcx - 0x7d308998]
add edx, eax
not edx
mov eax, dword [0x140301038]
xor eax, 0xd7091150
sub edx, eax
mov ecx, dword [0x140301030]
xor ecx, 0x28f6eeaf
add ecx, 0xa7f2d4e9
add ecx, edx
xor ecx, 0x902b35b0
mov dword [rsp + 0x3c], ecx
movsxd rax, ecx
mov dword [rsp + 0x3c], r13d
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movabs rax, 0xf85b1403af941d6d
mov qword [rsp + 0x30], rax
movabs rdi, 0xb2c0ab78caf332d0
movabs rax, 0xc7a8c295ea3b3a40
movabs r11, 0x22ef3731bc94a8a7
mov rcx, qword [0x140301070]
imul rcx, rax
not rcx
movabs rdx, 0xdd10c8ce47d81735
mov rax, qword [0x140301060]
xor rax, rdx
and rcx, rax
ror rcx, 0x21
shr rcx, 8
mov qword [rsp + 0x230], rcx
movabs rax, 0x41297026b4acb700
mov r8, qword [0x140301078]
imul r8, rax
movabs r9, 0x4d3f5487350ccd30
sub r8, r9
movabs rax, 0x3e81e0c00000000
xor r8, rax
shr r8, 0x1f
not r8
lea rcx, [r8 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd1
and ecx, 0x8000003f
jge 0x14016d6b8
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, r8
ror rax, cl
not rax
movabs rdx, 0xd0b0aae74530c83e
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x20], rcx
lea r10, [rcx + r9]
mov r9, r8
imul r9, qword [rsp + 0x230]
sub r9, r10
movabs rdx, 0xf85b1403af941d6d
xor r9, rdx
mov cl, r10b
xor cl, 0xfe
and cl, 0xf
rol r9, cl
movabs rcx, 0x162a79cabd98ce60
imul rax, rcx
movabs rcx, 0x42c63639c0f5e900
sub rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x140301078]
xor r9, rax
xor r9, r11
mov eax, 2
dec rax
sub rax, 1
je 0x14016d837
cmp rax, 1
jne 0x14016d8ff
mov rcx, r10
imul rcx, r8
movabs rax, 0x2acede70a8e33730
add rax, r9
xor rcx, rax
ror rcx, 0x1a
shr rcx, 0xc
not rcx
mov qword [rsp + 0x30], rcx
movabs rdx, 0x83572446f5c6
add rdx, qword [0x140301088]
movabs rax, 0x4dbdd1ff5a51186e
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97ca61939
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rdi
mov eax, 0xad7dcbd3
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0x3632ccb1ae6c7d09
sub rdi, qword [rsp + 0x30]
shr rdi, cl
movabs rax, 0x4d47790f95068850
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x230]
xor rdi, rax
jmp 0x14016d8ff
movabs rcx, 0xaaaaaa1aad6436ed
mov r8, r9
xor r8, rcx
movabs rcx, 0x1206ed6f69eaa1
imul r8, rcx
movabs rdx, 0xffff7e8a8b740431
mov rcx, qword [rsp + 0x20]
imul rcx, rdx
movabs rdx, 0xb918b6bc2949622b
add r8, rdx
add r8, rcx
movabs rax, 0x277cd7be7fb4e18d
mov rcx, r8
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
imul r10, qword [r14 + rcx*8]
xor r10, 0xfffffffff831e03d
lea ecx, [r9 - 0x11]
and cl, r15b
rol r10, cl
movabs rax, 0x8087c4200000000
imul r10, rax
mov rcx, r10
ror rcx, 0x1d
not rcx
movabs rax, 0x9b2de6b2c1618ea8
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x230]
and cl, r15b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
movabs rax, 0xff055d7b8d121be1
mov rcx, qword [rsp + 0x30]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, r13
imul r11, qword [r14 + rcx*8]
not r10
imul r10, r9
imul r10, qword [rsp + 0x230]
imul r10, rdi
movabs rcx, 0xf5ed7e878aa1513d
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r11
call fcn.140154d30
mov qword [0x14030af48], rax
movabs rax, 0xf6aefbe57e300ffd
mov qword [rsp + 0x28], rax
movabs rdi, 0x7e299101c3c9e169
mov rbx, r13
movabs rax, 0x4074b7f6051753e4
movabs r9, 0x10626ba2e28eaf1e
mov rcx, qword [0x140301070]
imul rcx, rax
not rcx
movabs r8, 0xef9d945d02d33262
mov rax, qword [0x140301060]
xor rax, r8
and rcx, rax
ror rcx, 0x36
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs rax, 0x4e5697b21f44d78
mov r11, qword [0x140301070]
imul r11, rax
add r11, rdi
movabs rax, 0x9549d3b1ffffffff
xor r11, rax
shr r11, 0x1f
not r11
movabs r8, 0x81d66efe3c361e97
lea rcx, [r11 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
not cl
and cl, r15b
mov rax, r11
ror rax, cl
not rax
mov qword [rsp + 0x88], rax
movabs rcx, 0x9897fc91c683888
imul rax, rcx
mov qword [rsp + 0x30], rax
add r8, rax
mov r10, r11
mov rdx, qword [rsp + 0x20]
imul r10, rdx
sub r10, r8
movabs rax, 0xf6aefbe57e300ffd
xor r10, rax
movzx eax, r8b
mov dword [rsp + 0x230], eax
and eax, 0xf
jge 0x14016da80
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r10, cl
movabs rcx, 0x6a751ce03b36b7c8
mov rax, qword [rsp + 0x88]
imul rax, rcx
movabs rcx, 0x5e4be16bb35bbd11
sub rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x140301078]
xor r10, rax
xor r10, r9
mov rax, r10
and rax, r12
je 0x14016dda1
sub rax, 1
je 0x14016dc96
sub rax, 1
je 0x14016dbcc
cmp rax, 1
jne 0x14016de28
mov rcx, r8
imul rcx, r11
movabs rax, 0x2062406b3e933019
add rax, r10
xor rcx, rax
ror rcx, 0xc
shr rcx, 0xc
not rcx
mov qword [rsp + 0x28], rcx
movabs rdx, 0x83572f2b03ec
add rdx, qword [0x140301088]
movabs rax, 0x8154eb8658063df9
xor rdx, rax
movzx eax, cl
movzx ecx, r10b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db977cbef17
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xa6103dfd
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0xc8b3c23cf630f0ce
sub rdi, qword [rsp + 0x28]
shr rdi, cl
movabs rax, 0x81de938690ca6bc9
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r14 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x20]
xor rdi, rax
jmp 0x14016de28
movabs rcx, 0xaaaaaa1aa609c0c3
mov r11, r10
xor r11, rcx
movabs rcx, 0x1206ed64041c8f
imul r11, rcx
movabs rdx, 0xffff7e8a8019f21f
mov rcx, qword [rsp + 0x30]
imul rcx, rdx
movabs rdx, 0x6ce2ed2edc6c0ac7
add r11, rdx
add r11, rcx
movabs rax, 0x277cd7be74d917a3
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r14 + rcx*8]
xor r8, 0xfffffffff35c1613
lea ecx, [r12 + r10]
and cl, r15b
rol r8, cl
movabs rax, 0x50387c0000000000
imul r8, rax
mov rcx, r8
ror rcx, 0x23
not rcx
movabs rax, 0x9b2de6b2ecd65610
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x20]
and cl, r15b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14016de28
movabs rax, 0xf43a8743875f37b3
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, 0x951041a81cff002
shl rdx, cl
mov rax, r9
mov r9, rdx
xor r9, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x14016dced
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0x81d66efe3c361e97
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1101c3c9e169
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7facdb6ee
or r9, rax
mov rdi, qword [0x140301070]
movabs rax, 0xf6aefbe57e300ffd
imul rdi, rax
sub rdi, r8
mov rax, qword [rsp + 0x20]
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6abc5b6e3
xor rdi, rax
mov rax, r10
imul rax, r8
imul rax, rdi
mov rbx, r11
sub rbx, rax
movabs rax, 0x78958946497faf9
add rbx, rax
xor rbx, qword [rsp + 0x20]
mov al, r11b
add al, al
lea ecx, [rax + r11]
add cl, cl
and cl, r15b
rol rbx, cl
not rbx
jmp 0x14016de28
mov rcx, r10
imul rcx, qword [0x140301080]
and rcx, qword [0x140301070]
mov rax, r9
mov r9, rcx
xor r9, rax
ror r9, 0x1e
imul r9, r8
mov rbx, rdx
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de7634e702
imul rbx, rax
imul r15, qword [0x140301060], 0xffffffffe05d9d7c
mov rdx, qword [0x140301068]
sub r15, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016de0e
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
movabs rax, 0x81d66efe3c361e97
add rax, r15
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
movabs rax, 0xff055d7b867fedcf
mov rcx, qword [rsp + 0x28]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, rbx
imul r9, qword [r14 + rcx*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x20]
imul r8, rdi
movabs rcx, 0xf5ed7e8781cca713
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.14002dd00
mov qword [0x14030af78], rax
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x40], 0xd9eb7735
mov eax, dword [rsp + 0x40]
add eax, 0x893fa634
xor eax, 0x3b891b44
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
add eax, 0x27feb20f
xor eax, 0xf235f4e4
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0x7cb2aad1
add eax, ecx
xor eax, 0xef73e076
sub eax, 0x2156f014
xor eax, 0x58a1d81b
lea edx, [rcx - 0x45ba9447]
add edx, eax
not edx
mov eax, dword [0x140301038]
xor eax, 0xd624fcec
sub edx, eax
mov ecx, dword [0x140301030]
xor ecx, 0x29db0313
add ecx, 0xc2fa9c84
add ecx, edx
xor ecx, 0x7d998984
mov dword [rsp + 0x40], ecx
movsxd rax, ecx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x40], r13d
mov edi, r13d
mov esi, 0x4836cb9a
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 0x14016df95
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xbb937e2e
jmp 0x14016df87
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 0x14016df67
cmp r9d, edi
jne 0x14016e01d
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 0x14016e01d
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x14016e01d
mov r9d, dword [rbx + 0x20]
dec r14d
mov r8d, r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov r15d, 0xbb937e2e
mov dl, byte [r11]
add r11, r12
mov r9d, 0x4764996c
test dl, dl
je 0x14016e00f
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r15d
mov r15d, edx
imul r15d, r8d
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x14016dfe7
mov r8d, r14d
cmp r15d, esi
je 0x14016e025
test r14d, r14d
mov r9d, dword [rbx + 0x20]
jne 0x14016dfc0
mov rax, qword [rax]
jmp 0x14016df3b
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
mov qword [rsp + 0x230], r8
cmp r8, rbx
jbe 0x14016e0b6
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x14016e0b6
mov edi, 0xbb937e2e
mov esi, edi
jmp 0x14016e076
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r9d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14016e05c
jmp 0x14016e096
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r9d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r8, r12
mov al, byte [r8]
test al, al
jne 0x14016e07f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14016e01d
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x48], 0xe6cd9e60
mov eax, dword [rsp + 0x48]
add eax, 0x1ca883b6
xor eax, 0x190aaead
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
sub eax, 0x5cbb8889
xor eax, 0x587f73ec
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0x1919d223
add eax, ecx
xor eax, 0x235043ce
add eax, 0x7ec773d3
xor eax, 0xa2e0ce13
mov r15d, dword [0x140301030]
xor r15d, 0x238d5f9d
sub r15d, eax
mov eax, dword [0x140301038]
xor eax, 0xdc72a062
sub r15d, eax
sub r15d, ecx
add r15d, 0x44c701b9
xor r15d, 0x77caba1a
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x44], 0xd7e00160
mov eax, dword [rsp + 0x44]
add eax, 0xee4c8036
xor eax, 0x158b8051
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
add eax, 0x20cf8b81
xor eax, 0x8394e77a
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0x3c87b8e3
add eax, ecx
xor eax, 0x343137cc
add eax, 0x71ee0125
xor eax, 0x560842b3
mov edx, dword [0x140301030]
xor edx, 0x2046cfab
sub edx, eax
mov eax, dword [0x140301038]
xor eax, 0xdfb93054
sub edx, eax
sub edx, ecx
sub edx, 0x2579fbb9
xor edx, 0xe5bf341c
mov dword [rsp + 0x44], edx
movsxd r14, edx
mov qword [rsp + 0xb8], r13
movabs rax, 0xa93cd28d5bdd8a63
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], r13
movabs rax, 0xf76d66acc15dc6a3
mov qword [rsp + 0xb0], rax
movabs rcx, 0xf33a52b5930cc603
add rcx, qword [rsp + 0xb8]
movabs rax, 0xeb55366253092511
xor rcx, rax
sub rcx, qword [0x140301050]
sub rcx, qword [0x140301058]
movabs rax, 0xedf047f581eb551
sub rcx, rax
movabs rax, 0xf8f8cd98e841a095
xor rcx, rax
sub rcx, qword [0x140301048]
movabs rax, 0xc7d654ba2f64ba24
add rcx, rax
mov rsi, qword [0x140301040]
add rcx, rsi
movabs rax, 0x5a9179a8e445e82d
xor rcx, rax
movabs rax, 0x5f627dc71e6aed80
sub rcx, rax
movabs rax, 0xae3b3cd297baf9ca
xor rcx, rax
movabs rdx, 0x3483ce4530bce7ca
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ad64c316c
mov r10, qword [0x140301038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b529b3ce93
mov r11, qword [0x140301030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d8bea545041
add rdi, rdx
add rdi, rcx
movabs rax, 0xd6ac72f738094904
xor rdi, rax
mov qword [rsp + 0xb8], rdi
movabs rcx, 0xf33a52b81003cc83
add rcx, qword [rsp + 0xb0]
movabs rax, 0xf1d53662530ba208
xor rcx, rax
sub rcx, qword [0x140301050]
sub rcx, qword [0x140301058]
movabs rax, 0x7120fb80a06a659c
add rcx, rax
movabs rax, 0xf8f8cd966156bdfb
xor rcx, rax
sub rcx, qword [0x140301048]
movabs rax, 0x7d654b6cec368d1
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a60dbc24c3
xor rcx, rax
movabs rax, 0x5f627dc47e9d5336
sub rcx, rax
movabs rax, 0x7a3b3cd1592b8ed1
xor rcx, rax
movabs rax, 0xb483ce42c530a278
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ae0400d86
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b51fbff279
xor r11, rax
movabs rbx, 0xe0b56d95c7e43edb
add rbx, rcx
add rbx, r11
movabs rax, 0x788d318bdc091056
xor rbx, rax
mov qword [rsp + 0xb0], rbx
mov r9, qword [rsp + 0x50]
mov r8d, r15d
mov rdx, r14
mov rcx, r9
call qword [rsp + 0x230]
movsxd rcx, eax
and rbx, rdi
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x48], r13d
cmp rcx, rbx
je 0x14016fda2
movabs r14, 0xb559500bf11cb58c
movabs r8, 0xd57cee691f3bce71
mov qword [rsp + 0x230], r8
movabs rax, 0x5306cacc0000000
mov r15, qword [0x140301060]
imul r15, rax
movabs rax, 0xcd850e1db0000000
xor r15, rax
mov rcx, r15
imul rcx, r8
mov qword [rsp + 0x20], 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, r15
and r9, r8
lea rdi, [0x140301060]
imul r9, qword [rdi + rcx*8]
movabs rax, 0x94eeeeaf1d73f4b0
imul r9, rax
shr r9, 3
movabs rax, 0xdf656d67b54dbf21
xor r9, rax
movabs rax, 0xffffff57cc3c90f7
mov rsi, r15
imul rsi, rax
sub rsi, 0x4b1841c
xor rsi, r9
xor rsi, qword [0x140301060]
mov rax, r9
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bc58f2fd6
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x16
shr rsi, 8
movabs r8, 0x2a831196e0c4318f
lea rcx, [r15 + r8]
xor rcx, 0xfffffffffb0124db
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x140199140751a1e8
mov r11, qword [rdi + rcx*8]
imul r11, rax
sub r11, r8
movabs rcx, 0x449e6d414c1b2b30
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r15
mov qword [rsp + 0x28], rax
lea rcx, [r11 + r8]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xc7
and ecx, 0x8000003f
jge 0x14016e587
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x28]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xfffffffffb4e7be4
mov qword [rsp + 0x28], rax
add r8, rax
mov r10, r11
imul r10, rsi
sub r10, r8
xor r10, r14
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x140301078]
xor r10, rax
movabs rax, 0xc03c30d23ee227a4
imul rdx, rax
movabs rax, 0x21cf0155d36ff21f
add rdx, rax
xor r10, rdx
xor r10, r9
xor r10, r15
mov rax, r10
and rax, r12
je 0x14016e942
sub rax, 1
je 0x14016e80e
sub rax, 1
je 0x14016e711
cmp rax, 1
jne 0x14016e9e9
mov r14, r8
imul r14, r11
movabs rax, 0xf3b8b2e9536922f9
add rax, r10
xor r14, rax
ror r14, 0x2c
shr r14, 0xc
xor r14, r15
not r14
movabs rcx, 0x8357277e21d4
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0x2a0194ee8ca130d9
xor rdx, rax
movzx eax, r14b
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97f9ecd2f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xd57cee691f3bce71
imul rcx, rax
mov eax, 0xae451fc5
add rcx, rax
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rdi + rcx*8]
and cl, 0xf
movabs rax, 0x894cf2437e1cbc66
sub rax, r14
shr rax, cl
mov qword [rsp + 0x230], rax
movabs rcx, 0x2a8b361f3d85a099
add rcx, qword [rsp + 0x28]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rdi + rcx*8]
imul rax, r10
sub rax, rsi
xor qword [rsp + 0x230], rax
jmp 0x14016e9e9
movabs rax, 0xaaaaaa1aae5ce2fb
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6c513eb7
imul rcx, rax
movabs rdx, 0xfff17ca8793ed487
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a884cd027
mov rdx, qword [rsp + 0x28]
imul rdx, rax
movabs r11, 0xe10cd0cedce88cf0
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7c8c359b
mov rcx, r11
xor rcx, rax
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [rdi + rcx*8]
xor r8, 0xfffffffffb09342b
lea ecx, [r10 - 7]
and cl, 0x3f
rol r8, cl
movabs rcx, 0x58694600000000
mov rax, qword [rsp + 0x20]
xor rax, rcx
movabs rcx, 0x7c7a7dc6920e3e9a
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x2a
not rcx
movabs rax, 0x9b2de6b2cd82def0
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
movabs rax, 0xd57cee691f3bce71
imul rdx, rax
mov qword [rsp + 0x230], rdx
jmp 0x14016e9e9
movabs rax, 0x64195168266c1997
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, 0x2a831196e0c4318e
mov rax, r15
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, 0x3f
rol r9, cl
movabs rcx, 0x2a831196e0c4318f
add rcx, r10
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffee691f3bce71
mov rax, qword [rdi + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f29894d6
or r9, rax
mov rcx, qword [0x140301070]
imul rcx, r14
sub rcx, r8
mov rax, rsi
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6a39094db
xor rcx, rax
mov qword [rsp + 0x230], rcx
movabs rax, 0xcccccccccccccccd
mul r15
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r15
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x230]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, qword [rsp + 0x230]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, r15
movabs r15, 0x78958946cc2d8c1
add r15, rax
xor r15, rsi
movzx eax, r11b
imul ecx, eax, 0xfe
and cl, 0x3f
rol r15, cl
not r15
jmp 0x14016e9e9
mov rax, rbx
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 [0x140301080]
mov rdx, qword [rdi + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
not rsi
imul rsi, r11
movabs rax, 0x7cd8a7de7e61c53a
imul rsi, rax
mov rax, r9
imul rax, r15
mov r15, rsi
xor r15, rax
imul rsi, qword [0x140301060], 0xfffffffffb4e7be4
mov rdx, qword [0x140301068]
sub rsi, rdx
mov al, r15b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016e9d4
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror rsi, cl
movabs rax, 0x2a831196e0c4318f
add rsi, rax
add rsi, qword [rsp + 0x28]
movabs rax, 0xff055d7b8e2acff7
xor r14, rax
mov rax, rbx
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r9, r15
imul r9, qword [rdi + r14*8]
not r8
imul r8, r10
imul r8, rsi
imul r8, qword [rsp + 0x230]
movabs rcx, 0xf5ed7e878999852b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.140154940
mov qword [0x14030af30], rax
mov dword [rsp + 0x90], r13d
mov dword [rsp + 0x94], 0xbf696762
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x130], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x90]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x120], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0x120], cx
test esi, esi
je 0x14016eb22
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x108], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x140], r10
mov r9d, 0x844316e2
mov dword [rsp + 0xc8], r9d
cmp r8, r10
je 0x14016eb19
movsx ecx, byte [r8]
mov byte [rsp + 0x238], cl
mov edx, ecx
imul ecx, ecx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
mov dword [rsp + 0xc8], r9d
add r8, 2
mov qword [rsp + 0x108], r8
jmp 0x14016eadb
cmp r9d, esi
jne 0x14016ecf8
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x148], r9
mov qword [rsp + 0x188], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x150], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0x190], r11
shr rcx, 0x20
mov dword [rsp + 0x198], ecx
cmp r11, r9
je 0x14016ecf8
mov edi, dword [r11 + 0x18]
mov dword [rsp + 0xcc], edi
mov edx, edi
dec edi
mov dword [rsp + 0xcc], edi
test edx, edx
je 0x14016ecf8
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rdi*4]
add r10, r9
mov qword [rsp + 0x110], r10
mov ebx, 0x844316e2
mov dword [rsp + 0xe0], ebx
movsx edx, byte [r10]
mov byte [rsp + 0x80], dl
add r10, r12
mov qword [rsp + 0x110], r10
test dl, dl
jne 0x14016f06f
cmp ebx, dword [rsp + 0x94]
jne 0x14016f06a
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x158], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x160], rax
movzx eax, word [rax + rdi*2]
mov r15d, dword [rdx + rax*4]
add r15, r9
mov qword [rsp + 0x168], r15
cmp r15, r11
jbe 0x14016ed08
lea rax, [r11 + rcx]
cmp r15, rax
jae 0x14016ed08
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0xc0], 0x844316e2
mov r9d, 0x844316e2
mov dword [rsp + 0xc4], r9d
mov r10d, r9d
mov r8d, 0x4764996c
movsx eax, byte [r15]
cmp al, 0x2e
je 0x14016ec82
mov byte [rsp + 0x58], al
mov ecx, eax
mov edx, eax
imul edx, eax
add edx, 0x31
xor edx, r8d
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
mov dword [rsp + 0xc0], r10d
add r15, r12
mov qword [rsp + 0xd0], r15
jmp 0x14016ec48
add r15, r12
mov qword [rsp + 0xd0], r15
movsx eax, byte [r15]
test al, al
je 0x14016ecb8
mov byte [rsp + 0x60], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, r8d
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
mov dword [rsp + 0xc4], r9d
jmp 0x14016ec82
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x170], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
jmp 0x14016ea8b
mov qword [rsp + 0x98], r13
movabs rax, 0xa5208484589b2eba
mov qword [rsp + 0x98], rax
movabs rcx, 0xf33a52b02e6e2483
add rcx, qword [rsp + 0x98]
movabs rax, 0x49d536625303c072
xor rcx, rax
sub rcx, qword [0x140301050]
sub rcx, qword [0x140301058]
movabs rax, 0x7120fb80b80f2694
add rcx, rax
movabs rax, 0xf8f8cd9e6272bc9b
xor rcx, rax
sub rcx, qword [0x140301048]
movabs rax, 0x7d654c1817a0e5d
add rcx, rax
mov rdx, qword [0x140301040]
add rcx, rdx
movabs rax, 0x5a9179af0b0ad863
xor rcx, rax
movabs rax, 0x5f627dc6890a9656
sub rcx, rax
movabs rax, 0xba3b3cd54a356f7f
xor rcx, rax
movabs rax, 0xb483ce4a6f9b32e0
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ac0b9b6e6
mov rax, qword [0x140301038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53f464919
mov rcx, qword [0x140301030]
xor rcx, rax
movabs rbx, 0xe0b56d76620747bb
add rbx, rdx
add rbx, rcx
movabs rax, 0x3e3f94aa642e7276
xor rbx, rax
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x98], rbx
mov byte [rsp + 0x220], r13b
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x220]
call fcn.14015c758
mov rcx, rax
mov qword [rsp + 0xe8], rax
mov rax, r13
mov qword [rsp + 0xd8], rax
cmp rax, 0x31
jae 0x14016efe2
xor edx, edx
movabs rcx, 0x13cce94adbcd969a
div rcx
add dl, 0x35
mov byte [rsp + 0x68], dl
mov r14b, dl
sar r14b, 7
or r14b, dl
mov byte [rsp + 0x70], r14b
mov al, r14b
shl al, 6
mov sil, r14b
sar sil, 2
or sil, al
movsx rcx, r14b
mov r11, rcx
sar r11, 2
or r11b, 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 rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov dl, byte [rdx + rax]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, r11b
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140301050]
sub dl, byte [0x140301058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r14 + 7]
add al, r11b
xor dl, al
sub dl, byte [0x140301048]
sub dl, r14b
sub dl, r9b
mov rcx, qword [0x140301040]
sub dl, 0x50
add dl, cl
add dl, r11b
mov al, r14b
sub al, r9b
add al, r8b
add al, sil
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 cl, 0x51
add dil, cl
add dil, r11b
add dil, sil
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x140301038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140301030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rsp + 0x78], dil
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
mov byte [rax + rcx], dil
add rax, r12
jmp 0x14016ee4c
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0x31
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
call r15
nop
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14016f04a
mov rax, r13
mov qword [rsp + 0x118], rax
cmp rax, qword [rsp + 0x100]
jae 0x14016f04a
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0xf8]
jmp 0x14016f027
mov qword [rsp + 0x98], r13
mov byte [rsp + 0x228], r13b
lea rcx, [rsp + 0x228]
call fcn.14015c7b4
nop
jmp 0x14016f09c
jmp 0x14016eb77
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, 0x4764996c
xor r8d, ebx
mov ebx, edx
imul ebx, r8d
mov dword [rsp + 0xe0], ebx
jmp 0x14016ebac
lea rdi, [0x140301060]
movabs rbx, 0xaaaaaaaaaaaaaaab
movabs r8, 0x649c3db5403c11a3
movabs r14, 0x72e6b3115d5e6055
mov r15, r13
movabs rsi, 0xc9198219b31089c2
movabs rax, 0x8a4e71c7432bdddc
mov rcx, qword [0x140301070]
imul rcx, rax
not rcx
movabs rdx, 0x36e67de6482ef00a
mov rax, qword [0x140301060]
xor rax, rdx
and rcx, rax
ror rcx, 0xa
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs rax, 0x1d6edc0d96ba9890
mov r10, qword [0x140301080]
imul r10, rax
add r10, r14
movabs rax, 0x47a26b3880000000
xor r10, rax
shr r10, 0x1f
not r10
movabs r9, 0x8d194ceea2a19fab
lea rcx, [r10 + r9]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xbf
and ecx, 0x8000003f
jge 0x14016f17d
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r10
ror rdx, cl
not rdx
movabs rcx, 0x2c25d50749045190
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x28], rax
add r9, rax
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
and cl, 0xf
mov r11, r10
imul r11, qword [rsp + 0x20]
sub r11, r9
xor r11, r8
rol r11, cl
mov rax, r9
sub rax, qword [0x140301078]
xor r11, rax
movabs rax, 0xfc56f2941fe514d0
imul rdx, rax
movabs rax, 0x50095e12a4abdc39
sub rdx, rax
xor r11, rdx
xor r11, rsi
mov rax, r11
and rax, r12
je 0x14016f4d1
sub rax, 1
je 0x14016f3cb
sub rax, 1
je 0x14016f2f7
cmp rax, 1
jne 0x14016f55b
mov r8, r9
imul r8, r10
movabs rax, 0x761b4bf9aaef0585
add rax, r11
xor r8, rax
ror r8, 0x30
shr r8, 0xc
not r8
movzx eax, r8b
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x8357244dd0ac
add rdx, qword [0x140301088]
movabs rax, 0x8d9bc996cdf76f85
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97cad3c57
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, r14
mov eax, 0xad76eebd
add rcx, rax
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rdi + rcx*8]
and cl, 0xf
movabs r14, 0x731d37f6785b44e2
sub r14, r8
shr r14, cl
movabs rax, 0x8d21717702943e1d
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rdi + rcx*8]
imul rax, r11
sub rax, qword [rsp + 0x20]
xor r14, rax
jmp 0x14016f55b
movabs rcx, 0xaaaaaa1aad6f1383
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed6f62cfcf
imul r10, rcx
movabs rdx, 0xffff7e8a8b7f215f
mov rcx, qword [rsp + 0x28]
imul rcx, rdx
movabs rdx, 0xbd207b6c00c5c097
add r10, rdx
add r10, rcx
lea ecx, [r12 + r11]
and cl, 0x3f
movabs rax, 0x277cd7be7fbfc4e3
mov r8, r10
xor r8, rax
mov rax, rbx
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, r10
not r9
imul r9, qword [rdi + r8*8]
xor r9, 0xfffffffff83ac553
rol r9, cl
movabs rax, 0x54787dc280000000
imul r9, rax
mov cl, byte [rsp + 0x20]
and cl, 0x3f
mov rdx, r9
ror rdx, 0x3d
not rdx
movabs rax, 0x9b2de6b2c14d1b10
imul rdx, rax
mov rax, r10
sub rax, r9
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
movabs r8, 0x649c3db5403c11a3
jmp 0x14016f55b
movabs rax, 0x3a2892fd8d945805
imul r11, rax
mov r14d, dword [rsp + 0x230]
and r14d, 0x8000003f
jge 0x14016f3f4
sub r14d, r12d
or r14d, 0xffffffc0
add r14d, r12d
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x9b63c24abfc3ee5c
shl rdx, cl
mov rax, rsi
mov rsi, rdx
xor rsi, rax
mov cl, r14b
rol rsi, cl
movabs rcx, 0x8d194ceea2a19fab
add rcx, r11
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff3115d5e6055
mov rax, qword [rdi + rcx*8]
imul rax, rdx
xor rsi, rax
movabs rax, 0xffffc7a7f1ab65ae
or rsi, rax
mov r14, qword [0x140301070]
imul r14, r8
sub r14, r9
mov rax, qword [rsp + 0x20]
sub rax, rsi
xor r14, rax
movabs rax, 0xc7a7c6a6a0a365a3
xor r14, rax
mov al, r10b
add al, al
lea ecx, [rax + r10]
add cl, cl
and cl, 0x3f
mov rax, r11
imul rax, r9
imul rax, r14
mov r15, r10
sub r15, rax
movabs rax, 0x78958946ff129b9
add r15, rax
xor r15, qword [rsp + 0x20]
rol r15, cl
not r15
jmp 0x14016f55b
mov rcx, qword [0x140301080]
imul rcx, r11
and rcx, qword [0x140301080]
mov rax, rsi
mov rsi, rcx
xor rsi, rax
ror rsi, 2
imul rsi, r9
mov r15, qword [rsp + 0x20]
not r15
imul r15, r10
movabs rax, 0x7cd8a7de7d523442
imul r15, rax
mov al, r15b
not al
movzx ecx, al
mov rdx, qword [0x140301068]
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016f533
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul rax, qword [0x140301060], 0xfffffffffb3e79c8
sub rax, rdx
ror rax, cl
movabs rcx, 0x8d194ceea2a19fab
add rax, rcx
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
movabs rax, 0xff055d7b8d193e8f
xor r8, rax
mov rax, rbx
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
xor rsi, r15
imul rsi, qword [rdi + r8*8]
not r9
imul r9, r11
imul r9, qword [rsp + 0x20]
imul r9, r14
movabs rcx, 0xf5ed7e878aaa7453
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, rsi
call fcn.140154d54
mov qword [0x14030af88], rax
mov r14d, r13d
mov r15d, 0x90e918aa
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 r14d, r14d
je 0x14016f62c
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xc739be62
jmp 0x14016f61e
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 0x14016f5fe
cmp r9d, r14d
jne 0x14016f77f
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov esi, ecx
add rsi, r11
shr rcx, 0x20
cmp rsi, r11
je 0x14016f77f
mov r8d, dword [rsi + 0x18]
test r8d, r8d
je 0x14016f77f
mov r9d, dword [rsi + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x28], rdx
lea rdx, [r9 + r8*4]
mov r9d, dword [rdx + r11]
add r9, r11
mov edx, 0xc739be62
mov r10b, byte [r9]
mov byte [rsp + 0x230], r10b
add r9, r12
test r10b, r10b
mov r10d, 0x4764996c
je 0x14016f6d9
mov r11d, edx
mov dl, byte [rsp + 0x230]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r11d
mov r11d, edx
imul r11d, r8d
mov dl, byte [r9]
add r9, r12
test dl, dl
jne 0x14016f6a2
mov dword [rsp + 0x30], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x30]
cmp edx, r15d
je 0x14016f6f0
test r8d, r8d
mov r9d, dword [rsi + 0x20]
jne 0x14016f65f
jmp 0x14016f77f
mov edx, dword [rsi + 0x24]
add rdx, r11
mov rax, qword [rsp + 0x28]
movzx r8d, word [rdx + rax*2]
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov r9d, dword [rdx + r8*4]
add r9, r11
cmp r9, rsi
jbe 0x14016f787
lea rax, [rcx + rsi]
cmp r9, rax
jae 0x14016f787
mov r14d, 0xc739be62
mov r15d, r14d
jmp 0x14016f741
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r14d
mov r14d, eax
imul r14d, ecx
add r9, r12
mov al, byte [r9]
cmp al, 0x2e
jne 0x14016f726
jmp 0x14016f764
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r15d
xor eax, ecx
mov r15d, edx
imul r15d, eax
add r9, r12
mov al, byte [r9]
test al, al
jne 0x14016f74a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14016f5d1
mov rcx, qword [rsp + 0x50]
call r9
movabs rax, 0xe6cb8e45e0000000
movabs r14, 0xa6821797e095b796
movabs r8, 0x54a4e1c12fc87ead
mov r15, qword [0x140301080]
imul r15, rax
movabs rax, 0xcdbf9a15f0000000
xor r15, rax
mov rcx, r15
imul rcx, r8
mov qword [rsp + 0x28], rcx
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r15
and r10, r8
imul r10, qword [rdi + rcx*8]
movabs rax, 0xa83296b16acea8e8
imul r10, rax
shr r10, 3
movabs rax, 0xeede6e1053c20a39
xor r10, rax
movabs rax, 0xffffff57cf95d073
mov r13, r15
imul r13, rax
sub r13, 0x552e924
xor r13, r10
xor r13, qword [0x140301060]
mov rax, r10
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bc6266f52
imul rax, rcx
not rax
and r13, rax
ror r13, 0xe
shr r13, 8
movabs r9, 0xab5b1e3ed0378153
lea rcx, [r15 + r9]
xor rcx, 0xfffffffff8a8645f
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xd6a5ff018b5cca28
mov rsi, qword [rdi + rcx*8]
imul rsi, rax
add rsi, r8
movabs rcx, 0x66ef87b9b2e39178
mov rax, r10
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
lea rcx, [rsi + r9]
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 [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
and ecx, 0x8000003f
jge 0x14016f8eb
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, rsi
xor rax, r15
ror rax, cl
not rax
imul rax, r10
imul rdx, rax, 0xfffffffffaad16dc
mov qword [rsp + 0x230], rdx
add r9, rdx
mov cl, r9b
xor cl, 0xfc
and cl, 0xf
mov r11, rsi
imul r11, r13
sub r11, r9
xor r11, r14
rol r11, cl
movabs rcx, 0xf18733a5d818baac
imul rax, rcx
movabs rcx, 0x598e5663b2fec0e9
sub rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x140301078]
xor r11, rax
xor r11, r10
xor r11, r15
mov rax, r11
and rax, r12
je 0x14016fc97
sub rax, 1
je 0x14016fb52
sub rax, 1
je 0x14016fa62
cmp rax, 1
jne 0x14016fd48
mov r14, r9
imul r14, rsi
movabs rax, 0x8856aa919d2ae249
add rax, r11
xor r14, rax
ror r14, 0x34
shr r14, 0xc
xor r14, r15
not r14
movzx eax, r14b
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x835724d76158
add rdx, qword [0x140301088]
movabs rax, 0xabd99b46bffbc081
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97c378dab
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, r8
mov eax, 0xadec5f41
add rcx, rax
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rdi + rcx*8]
and cl, 0xf
movabs r8, 0x5cb76d4ea01629d2
sub r8, r14
shr r8, cl
movabs rcx, 0xab6342c72f9fb0e1
add rcx, qword [rsp + 0x230]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rdi + rcx*8]
imul rax, r11
sub rax, r13
xor r8, rax
jmp 0x14016fd48
movabs rax, 0xaaaaaa1aadf5a27f
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed6ff87e33
imul rcx, rax
movabs r8, 0xfff17ca87a979403
mov rax, r10
xor rax, r8
sub rcx, rax
movabs rax, 0xffff7e8a8be590a3
imul rdx, rax
movabs rsi, 0x93850b45183a987c
add rsi, rcx
add rsi, rdx
lea ecx, [r11 - 3]
and cl, 0x3f
movabs rax, 0x277cd7be7f25751f
mov r8, rsi
xor r8, rax
mov rax, rbx
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, rsi
not r9
imul r9, qword [rdi + r8*8]
xor r9, 0xfffffffff8a074af
rol r9, cl
movabs rcx, 0x68490400000000
mov rax, qword [rsp + 0x28]
xor rax, rcx
movabs rcx, 0x7c7a7dc691a77e1e
and rax, rcx
imul r9, rax
mov cl, r13b
and cl, 0x3f
mov rdx, r9
ror rdx, 0x34
not rdx
movabs rax, 0x9b2de6b2c327dce0
imul rdx, rax
mov rax, rsi
sub rax, r9
lea r8, [rdx + rax*4]
ror r8, cl
movabs r12, 0x54a4e1c12fc87ead
imul r8, r12
jmp 0x14016fd48
movabs rax, 0xafeec48a26a0de21
imul r11, rax
mov r8b, r9b
and r8b, 0x3f
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0xab5b1e3ed0378152
mov rax, r15
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r10, rax
mov cl, r8b
rol r10, cl
movabs rcx, 0xab5b1e3ed0378153
add rcx, r11
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe1c12fc87ead
mov rax, qword [rdi + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f131d452
or r10, rax
mov rcx, qword [0x140301070]
imul rcx, r14
sub rcx, r9
mov rax, r13
sub rax, r10
xor rcx, rax
movabs rax, 0xc7a7c6a6a039d45f
xor rcx, rax
mov qword [rsp + 0x230], rcx
movzx eax, sil
imul r8d, eax, 0xfa
and r8b, 0x3f
movabs rax, 0xcccccccccccccccd
mul r15
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r15
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x230]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r9
imul rdx, qword [rsp + 0x230]
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, r15
movabs r15, 0x78958946f6b9845
add r15, rax
xor r15, r13
mov cl, r8b
rol r15, cl
not r15
mov r8, qword [rsp + 0x230]
jmp 0x14016fd48
mov cl, r10b
and cl, 0x3f
mov rax, rbx
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, r11
imul rax, qword [0x140301080]
mov r8, qword [rdi + rdx*8]
and r8, rax
xor r10, r8
ror r10, cl
imul r10, r9
not r13
imul r13, rsi
movabs rax, 0x7cd8a7de7dc885be
imul r13, rax
mov rax, r10
imul rax, r15
mov r15, r13
xor r15, rax
mov al, r15b
not al
movzx ecx, al
mov r8, qword [0x140301068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016fd18
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul r13, qword [0x140301060], 0xfffffffffaad16dc
sub r13, r8
ror r13, cl
movabs rax, 0xab5b1e3ed0378153
add r13, rax
add r13, qword [rsp + 0x230]
movabs r8, 0x54a4e1c12fc87ead
movabs rax, 0xff055d7b8d838f73
xor r14, rax
mov rax, rbx
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r10, r15
imul r10, qword [rdi + r14*8]
not r9
imul r9, r11
imul r9, r13
imul r9, r8
movabs rcx, 0xf5ed7e878a30c5af
xor rcx, rsi
not rcx
xor rcx, r9
sub rcx, r10
call fcn.140154844
mov qword [0x14030af58], rax
mov rax, qword [rsp + 0x88]
jmp 0x14016d5cf