Function at 0x140037ef0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov dword [rsp + 0x8c], ecx
call fcn.140038ad0
mov ecx, dword [rsp + 0x8c]
mov qword [rsp + 0x90], rax
lea rdx, [0x14025b5b0]
mov r8d, 0x87
mov r9d, 0x2d
mov qword [rsp + 0x20], 3
call fcn.1400379b0
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rax
xor eax, eax
cmp byte [rcx], 0
mov dword [rsp + 0xa4], eax
jne 0x140038a89
mov rax, qword [rsp + 0x98]
movabs rcx, 0x66c90c58da477a2b
movabs rdx, 0x9936f3a725b885d4
xor rcx, rdx
cmp rax, rcx
jle 0x1400384b8
mov eax, dword [0x14024c920]
imul eax, dword [0x14024c924]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd728d7f3
mov r8d, 0xffffffff
xor r8d, 0xd728d7f3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd728d7f3
or eax, 0xd728d7f3
imul eax, edx
add eax, ecx
sub eax, 0x1d7e9954
mov ecx, 0x59f811ad
xor edx, edx
div ecx
cmp eax, 0x449d29f7
ja 0x140038a9a
mov rcx, qword [rsp + 0x98]
mov esi, dword [0x14024c928]
xor esi, 0xb4af4159
mov r11d, dword [0x14024c92c]
mov eax, 0x1cf575c7
xor eax, 0xe30a8a38
mov edx, esi
xor edx, eax
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0x66377a33
xor r8d, 0x8a22fa94
mov eax, 0x2acc80f8
xor eax, 0xd5337f07
xor r8d, eax
mov eax, edx
and eax, 0xec1580a7
and esi, r8d
mov edi, 0xd0213639
xor edi, 0x3c34b69e
mov r10d, r9d
and r10d, edi
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xec1580a7
and edx, r8d
or eax, edx
mov r8d, 0xa1dd08bb
xor edx, edx
div r8d
and eax, 0xfdc657ff
or eax, eax
mov edx, 0x816f447
xor edx, 0xf7e90bb8
xor eax, edx
mov edx, 0x46beff55
or edx, 0x46beff55
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
cmp rcx, 0x86
seta cl
mov byte [rsp + 0x8b], cl
cmp eax, 0x905a52a4
ja 0x140037fd7
mov al, byte [rsp + 0x8b]
test al, 1
jne 0x1400380be
jmp 0x1400380de
mov rcx, qword [rsp + 0x98]
mov edx, 0x86
call fcn.14001284c
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rcx, qword [rsp + 0x98]
mov edx, dword [rsp + 0x8c]
lea rax, [0x14025b5b0]
cmp dword [rax + rcx*4], edx
jg 0x1400384b8
mov rax, qword [rsp + 0x98]
movabs rdx, 0x837d4319197d996f
movabs rcx, 0x837d4319197d996e
xor rdx, rcx
movabs rcx, 0xc59c889261815805
movabs r8, 0x3a63776d9e7ea7fa
xor rcx, r8
xor rdx, rcx
xor ecx, ecx
sub rcx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x80], rcx
cmp rax, 0x85
jbe 0x140038232
mov eax, dword [0x14024c930]
xor eax, 0x8e60563c
mov ecx, dword [0x14024c934]
mov edx, 0x79fb3277
xor edx, 0x97813124
xor ecx, edx
or eax, ecx
mov ecx, 0x6c30ff77
xor ecx, 0x6c30ff77
mov edx, 0xcc29f56f
xor edx, 0x7cdd6ce6
sub ecx, edx
add eax, ecx
mov ecx, 0x6ee0799e
xor ecx, 0xbdb69387
and eax, ecx
and eax, 0xbb5d8591
cmp eax, 0xb42d1647
je 0x140038aa3
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x14024c938]
or eax, dword [0x14024c93c]
mov edx, eax
add edx, 1
mov r8d, 0xad68672d
xor r8d, 0x529798d2
xor eax, r8d
or eax, 0x81d9147a
add eax, edx
mov r8d, 0xdd838157
xor edx, edx
div r8d
xor edx, edx
sub edx, 0x455d7046
sub eax, edx
mov dword [rsp + 0x7c], eax
movabs rdx, 0xe675ab565bef7b36
movabs rax, 0xe675ab565bef7bb0
xor rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0x7c]
cmp eax, 0xd4787f80
jae 0x1400381b0
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov eax, dword [0x14024c940]
add eax, dword [0x14024c944]
mov ecx, 0xad8eb11d
xor ecx, 0x325a3802
sub eax, ecx
mov ecx, 0x9f3c5ce
xor ecx, 0x9ad34b29
xor eax, ecx
mov ecx, 0x956bd1d
xor ecx, 0x6d0ec17f
mov edx, 0x24042d2b
xor edx, 0xdbfbd2d4
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xd7841b0a
jae 0x140038aac
mov rdx, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x8c]
mov eax, dword [0x14024c948]
and eax, dword [0x14024c94c]
sub eax, 0x24b353a6
or eax, 0x55303000
imul eax, eax, 0x7071ecd6
lea rcx, [0x14025b5b0]
cmp dword [rcx + rdx*4], r8d
setl cl
mov byte [rsp + 0x7b], cl
cmp eax, 0x1bc9be25
je 0x140038284
mov al, byte [rsp + 0x7b]
test al, 1
jne 0x1400384b8
jmp 0x1400382de
mov rax, qword [rsp + 0x98]
xor ecx, ecx
mov edx, ecx
sub rdx, 2
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x70], rcx
movabs rcx, 0xdc66910e12ebbab7
movabs rdx, 0xdc66910e12ebba33
xor rcx, rdx
cmp rax, rcx
jbe 0x140038348
mov rcx, qword [rsp + 0x70]
movabs rdx, 0x30b4d1244f6b3dc
movabs rax, 0x30b4d1244f6b35a
xor rdx, rax
call fcn.14001284c
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x8c]
movsxd rdx, eax
lea rax, [0x14025b5b0]
movsxd r8, dword [rax + rcx*4]
mov rcx, r8
add rcx, rdx
mov qword [rsp + 0x68], rcx
mov rax, rcx
xor rax, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r8
and r9, rdx
movabs rdx, 0x163c015e596d080b
movabs r10, 0x163c015e596d0809
xor rdx, r10
imul rdx, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400383c4
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rcx, qword [rsp + 0x68]
mov rax, rcx
and rax, 0xffffffff80000000
movabs rdx, 0xa4e422644e59ccb4
movabs r8, 0x5b1bdd9bce59ccb4
xor rdx, r8
or rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140038415
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 0xfffffffffffffe0c
mov qword [rsp + 0x60], rcx
xor rcx, rax
cmp rcx, 0
setl dl
cmp rax, 0x1f3
setg al
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x14003845c
jmp 0x14003846f
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x68]
movabs rcx, 0xffffffff7ffffe0c
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1400384a7
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov ecx, dword [rsp + 0x8c]
lea rdx, [0x14025b7d0]
mov r8d, 0x4c4
mov r9d, 0x262
mov qword [rsp + 0x20], 2
call fcn.1400379b0
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x58], rax
xor eax, eax
cmp byte [rcx], 0
mov dword [rsp + 0xa4], eax
jne 0x140038a89
mov eax, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x4b5c17fb50bff60d
movabs r8, 0xb4a3e804af4009f2
xor rdx, r8
cmp rcx, rdx
mov dword [rsp + 0xa4], eax
jle 0x140038a89
mov rax, qword [rsp + 0x58]
cmp rax, 0x4c3
jbe 0x140038572
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x9a14e901764ce135
movabs rax, 0x9a14e901764ce5f6
xor rdx, rax
call fcn.14001284c
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov eax, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x58]
lea rcx, [0x14025b7d0]
cmp dword [rcx + rdx*4], eax
mov dword [rsp + 0xa4], eax
jne 0x140038a89
mov rax, qword [rsp + 0x58]
mov rdx, rax
and rdx, 1
shl rdx, 1
mov rcx, rax
xor rcx, 1
add rcx, rdx
mov qword [rsp + 0x50], rcx
cmp rax, 0x4c2
jbe 0x1400386a9
mov ecx, dword [0x14024c950]
mov edx, dword [0x14024c954]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
mov edx, 0xba068193
xor edx, 0x45f97e6c
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0x1c493c25
add eax, 0xde734832
add eax, 0x4e510d56
sub eax, 0xde734832
mov r8d, 0xffffffff
xor r8d, 0xed198290
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xed198290
mov r8d, 0x303926ef
xor r8d, 0xdd20a47f
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xc780bac1
jae 0x140038ab5
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x14024c958]
sub eax, dword [0x14024c95c]
imul eax, eax, 0xd584188d
or eax, 0x93ded011
add eax, 0x72cc7391
mov dword [rsp + 0x4c], eax
movabs rdx, 0xa37c4681486a14fc
movabs rax, 0xa37c4681486a103f
xor rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0x4c]
cmp eax, 0x3f009762
jb 0x14003864b
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x8c]
movsxd r9, eax
lea rax, [0x14025b7d0]
movsxd r8, dword [rax + rcx*4]
movabs rax, 0x9e25691a56a24301
mov rcx, r8
sub rcx, rax
add rcx, r9
movabs rax, 0x9e25691a56a24301
add rcx, rax
mov qword [rsp + 0x40], rcx
movabs rax, 0x1a8f349adde4bc3b
movabs rdx, 0xe570cb65221b43c4
xor rax, rdx
mov rdx, rcx
xor rdx, rax
mov rax, r9
and rax, rdx
movabs rdx, 0x3a7b0972617693bc
movabs r10, 0xc584f68d9e896c43
xor rdx, r10
xor r9, rdx
mov rdx, rcx
and rdx, r9
or rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0x9cc8f068f943d956
movabs rdx, 0x9cc8f068f943d956
xor rcx, rdx
cmp rax, rcx
jge 0x140038774
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x40]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140038886
mov eax, dword [0x14024c960]
mov ecx, dword [0x14024c964]
add eax, 0x2f5621a6
sub eax, ecx
sub eax, 0x2f5621a6
xor ecx, ecx
sub ecx, 0xf2425d1c
sub eax, ecx
add eax, 0x39ff5d9f
mov ecx, 0x1b87d6f9
xor ecx, 0x4cdaee85
imul eax, ecx
cmp eax, 0xd26d675
jbe 0x140038abe
mov ecx, dword [0x14024c968]
mov eax, dword [0x14024c96c]
mov edx, 0x3bc2ff51
xor edx, 0xa934c6a
xor eax, edx
and ecx, eax
mov eax, 0xbdddd8e5
xor eax, 0xbdddd8e5
mov edx, 0xcbe06df
xor edx, 0xe611bdf1
sub eax, edx
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x9d1e347f
or edx, 0x9d1e347f
mov r8d, 0x3814f543
xor r8d, 0xc7eb0abc
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x9d1e347f
mov edx, 0x6419b841
xor edx, 0x9be647be
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x1a49dc42
xor edx, edx
div ecx
mov dword [rsp + 0x3c], eax
mov eax, 0x6c19797
xor eax, 0xccfe86a2
mov dword [rsp + 0x38], eax
call fcn.140008c92
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
ja 0x1400387d2
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x40]
mov rdx, 0xffffffffffffffff
xor rdx, 0xfffffffffffffe0c
movabs rcx, 0xbb82008dbd442b5d
movabs r8, 0xbb82008dbd442b5d
xor rcx, r8
movabs r8, 0x87ff470be8c9abc7
movabs r9, 0x87ff470be8c9abc6
xor r8, r9
sub rcx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x30], rcx
xor rcx, rax
cmp rcx, 0
setl cl
cmp rax, 0x1f3
setg al
and al, cl
test al, 1
jne 0x1400388fa
jmp 0x14003890d
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov rax, qword [rsp + 0x40]
movabs rcx, 0xffffffff7ffffe0c
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140038945
call fcn.140008c92
xor eax, eax
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov eax, dword [0x14024c970]
xor edx, edx
div dword [0x14024c974]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x77378ade
xor edx, 0x21dd145a
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x56ea9e84
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x56ea9e84
or eax, 0x56ea9e84
imul eax, edx
add eax, ecx
mov ecx, 0x5e0ecfe9
xor ecx, 0xc65c557
imul eax, ecx
mov ecx, 0xeff9a3c5
xor ecx, 0x4289044a
and eax, ecx
mov ecx, 0xfc0de448
xor ecx, 0x2fb880d6
cmp eax, ecx
ja 0x140038ac7
mov rcx, qword [rsp + 0x30]
mov edx, dword [0x14024c978]
mov r8d, dword [0x14024c97c]
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov edx, 0x748bd93f
xor edx, 0x8b7426c0
xor eax, edx
mov edx, 0x3ab4ba6d
xor edx, 0xa0a4d940
xor eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x48cdbbf2
xor r8d, 0x2519cc18
and r8d, edx
mov r9d, 0xe924aeff
xor r9d, 0x84f0d915
mov edx, 0x89abe91d
xor edx, 0x765416e2
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xc624b136
xor r9d, 0xabf0c6dc
mov r8d, eax
and r8d, r9d
mov r9d, 0x23b62e79
xor r9d, 0x4e625993
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0xeaa4e559
xor edx, 0xccfc6435
imul eax, edx
mov dword [rsp + 0x2c], ecx
cmp eax, 0x99a74b5f
je 0x140038ac7
scasd eax, dword [rdi]
rol byte [rcx - 0x47], 1
mov cl, 0x24
mov byte [rcx - 0x7f], 0xf1
fadd st(6), st(0)
invalid
add byte [rbx - 0x76d3dbbc], cl
test byte [rsp + riz*4], ah
add byte [rax], al
add cl, ch
add byte [rax], al
add byte [rax], al
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0xa4], eax
jmp 0x140038a89
mov eax, dword [rsp + 0xa4]
add rsp, 0xa8
pop rdi
pop rsi
ret
jne 0x140038a78
xchg ebx, eax
sbb al, 0xe9
xor al, 0xf5
invalid
jo 0x140038a31
div dword [rdi - 0x17]
add al, 0xf7
invalid
invalid
jg 0x140038b20
lahf
invalid
invalid
imul eax, dword [rax - 0x151627a5], 0xfffffffe
invalid
mov eax, dword [rsp + 0x350]
mov qword [rsp + 0x358], rax
cmp r8, 0
jge 0x140038b59
mov rcx, qword [rsp + 0x350]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x14003c20c
mov rdx, qword [rsp + 0x350]
lea rcx, [rsp + 0x360]
call fcn.140018a7a
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x360]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x368]
mov qword [rax + 8], rdx
mov rdx, rcx
add rdx, 0xfffffffffffffffa
mov qword [rsp + 0x2d0], rdx
xor rdx, rcx
cmp rdx, 0
setl r9b
movabs rdx, 0x61cc89f89a663d01
movabs r8, 0x61cc89f89a663d04
xor rdx, r8
cmp rcx, rdx
setg r8b
xor r9b, 0xff
mov dl, r8b
xor dl, r9b
and dl, r8b
mov byte [rsp + 0x2df], dl
xor edx, edx
mov r8d, edx
sub r8, rcx
movabs rdx, 0xd64325772cc76018
movabs r9, 0xd64325772cc76018
xor rdx, r9
movabs r9, 0x5ac3ce418031c418
movabs r10, 0xa53c31be7fce3be3
xor r9, r10
sub rdx, r9
add r8, rdx
xor edx, edx
sub rdx, r8
mov qword [rsp + 0x2e0], rdx
xor rdx, rcx
cmp rdx, 0
setl r8b
cmp rcx, 4
setg dl
and dl, r8b
mov byte [rsp + 0x2ef], dl
movabs r8, 0x7e2c712d51e5533e
movabs rdx, 0x7e2c712d51e5533e
xor r8, rdx
sub r8, rcx
xor edx, edx
sub rdx, 0xfffffffffffffffc
add r8, rdx
xor edx, edx
sub rdx, r8
mov qword [rsp + 0x2f0], rdx
xor rdx, rcx
cmp rdx, 0
setl r8b
cmp rcx, 3
setg dl
and dl, r8b
mov byte [rsp + 0x2ff], dl
mov rdx, rcx
and rdx, 0xfffffffffffffffd
movabs r9, 0x2e240c910e18373d
movabs r8, 0xd1dbf36ef1e7c8c0
xor r9, r8
mov r8, rcx
or r8, r9
add rdx, r8
mov qword [rsp + 0x300], rdx
xor rdx, rcx
movabs r8, 0x77940157b4674d56
movabs r9, 0x77940157b4674d56
xor r8, r9
cmp rdx, r8
setl r9b
movabs rdx, 0x65f927ab6e80fe61
movabs r8, 0x65f927ab6e80fe63
xor rdx, r8
cmp rcx, rdx
setg r8b
mov dl, r8b
xor dl, 0xff
xor r10d, r10d
mov r11b, r10b
xor r11b, 1
mov r10b, r9b
xor r10b, r11b
or dl, r10b
xor r8b, 0xff
xor r9b, 0xff
or r8b, r9b
and dl, r8b
xor dl, 0xff
mov byte [rsp + 0x30f], dl
movabs r8, 0xeda916a61f08618e
movabs rdx, 0x1256e959e0f79e70
xor r8, rdx
mov rdx, rcx
add rdx, r8
mov qword [rsp + 0x310], rdx
xor rdx, rcx
cmp rdx, 0
setl dl
cmp rcx, 1
setg cl
and cl, dl
mov byte [rsp + 0x31f], cl
add rax, 8
mov qword [rsp + 0x320], rax
xor eax, eax
mov rcx, rax
mov qword [rsp + 0x328], rcx
mov qword [rsp + 0x330], rax
mov rcx, qword [rsp + 0x328]
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x2c0], rcx
mov qword [rsp + 0x2c8], rax
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x2b8], rax
cmp rax, rcx
jge 0x14003c20c
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x2b8]
mov al, byte [rax + rcx]
mov byte [rsp + 0x2b7], al
cmp al, 0xff
jle 0x140038e1e
mov rax, qword [rsp + 0x2b8]
mov cl, byte [rsp + 0x2b7]
movzx ecx, cl
add rax, 1
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov al, byte [rsp + 0x2b7]
movzx eax, al
mov qword [rsp + 0x298], rax
movabs rcx, 0xc90b88a577cebb70
movabs rdx, 0xc90b88a577cebb90
xor rcx, rdx
and rax, rcx
cmp rax, 0xc0
jne 0x1400391ba
mov al, byte [rsp + 0x31f]
test al, 1
jne 0x140038e6a
jmp 0x140038f4f
mov eax, dword [0x14024c980]
mov r8d, dword [0x14024c984]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x5ebc67fa
xor ecx, 0xa1439805
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xe50c6b04
mov edx, 0xf03067c6
xor edx, 0xfcf9839
xor ecx, edx
and ecx, 0xe50c6b04
shl ecx, 1
sub ecx, 0xe50c6b04
sub eax, ecx
and eax, 0xb98efc57
sub eax, 0x2f43ab81
cmp eax, 0xc6b4c3fd
je 0x14003c21f
mov eax, dword [0x14024c988]
sub eax, dword [0x14024c98c]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x1316b0d6
or ecx, 0x1316b0d6
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc14facff
xor edx, edx
div ecx
and eax, 0xfc94f752
mov dword [rsp + 0x294], eax
mov eax, 0xb8611570
xor eax, 0x8c41d314
mov dword [rsp + 0x290], eax
call fcn.140008c92
mov ecx, dword [rsp + 0x290]
mov eax, dword [rsp + 0x294]
cmp eax, ecx
ja 0x140038ee2
jmp 0x14003c20c
mov ecx, dword [0x14024c990]
mov eax, dword [0x14024c994]
xor eax, 0xc8174ab0
sub ecx, eax
xor eax, eax
sub eax, 0x15af1f12
add ecx, eax
mov eax, 0x8ba2f30a
xor eax, 0x35859ce
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x260dda08
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xfc872639
jae 0x14003c228
mov rcx, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x310]
mov r8d, dword [0x14024c998]
mov r9d, dword [0x14024c99c]
xor eax, eax
sub eax, r9d
add r8d, eax
mov eax, r8d
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x25714e5d
or eax, r9d
mov r9d, 0x25714e5d
and r9d, 0x25714e5d
xor r9d, 0xffffffff
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and eax, r8d
mov r8d, 0xb33fe2cf
xor r8d, 0x4cc01d30
xor eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, eax
xor r9d, 0xffffffff
or r8d, r9d
mov r9d, 0x86632a3b
xor r9d, 0x799cd5c4
xor r8d, r9d
mov r9d, 0x606d66d4
xor r9d, 0x2cdc10fb
mov r10d, 0x42340c96
xor r10d, 0xbdcbf369
xor r9d, r10d
or r8d, r9d
mov r9d, 0x2df3b3aa
xor r9d, 0x6142c585
mov r10d, 0xa5c2160e
xor r10d, 0xe9736021
and r9d, r10d
xor r9d, 0xffffffff
xor eax, 0xffffffff
xor r9d, 0xffffffff
or eax, r9d
and r8d, eax
mov eax, 0x91673c51
xor eax, 0x6e98c3ae
xor r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xffec0b72
mov r9d, 0xffffffff
xor r9d, 0xffec0b72
and r8d, r9d
or eax, r8d
cmp rcx, rdx
setg dl
mov byte [rsp + 0x287], dl
add rcx, 1
mov qword [rsp + 0x288], rcx
cmp eax, 0xc7285fff
jae 0x14003c228
mov rax, qword [rsp + 0x288]
mov dl, byte [rsp + 0x287]
mov ecx, 0xfffd
test dl, 1
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jne 0x14003a1fc
jmp 0x1400390f2
mov rax, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x350]
cmp rax, rcx
jl 0x14003914d
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x350]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0xf80f3f953b1dac8e
movabs r8, 0xf80f3f953b1dac8e
xor rdx, r8
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rax, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x288]
mov cl, byte [rsp + 0x2b7]
mov r9b, 0x22
xor r9b, 0x3d
and cl, r9b
movzx ecx, cl
shl ecx, 6
mov dl, byte [rdx + r8]
and dl, 0x3f
movzx edx, dl
or ecx, edx
movabs rdx, 0x5587410426949ee3
sub rax, rdx
add rax, 2
movabs rdx, 0x5587410426949ee3
add rax, rdx
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov rcx, qword [rsp + 0x298]
mov rdx, 0xffffffffffffffff
xor rdx, 0xf0
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0xe0
jne 0x1400393d0
mov al, byte [rsp + 0x30f]
test al, 1
jne 0x1400391f9
jmp 0x140039203
call fcn.140008c92
jmp 0x14003c20c
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x300]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x278], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jg 0x14003a1fc
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x350]
cmp rax, rcx
jl 0x14003928c
mov rcx, qword [rsp + 0x278]
mov rdx, qword [rsp + 0x350]
movabs rax, 0xaa01491a71965039
movabs r8, 0x55feb6e58e69afc6
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
movabs rdx, 0xfbbce4e03507877c
movabs r8, 0xfbbce4e03507877e
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x270], rax
cmp rax, rcx
jl 0x1400392fb
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x350]
movabs rax, 0x277047de71970ad6
movabs r8, 0xd88fb8218e68f529
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rax, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x278]
mov r10b, byte [rsp + 0x2b7]
mov r9b, r10b
and r9b, 0xf
xor r9b, 0xff
mov r11b, 0x72
xor r11b, 0x8d
xor r10b, r11b
mov r11b, 0x9c
xor r11b, 0x93
mov bl, 0xab
xor bl, 0x54
xor r11b, bl
or r10b, r11b
and r9b, r10b
xor r9b, 0xff
movzx r9d, r9b
shl r9d, 0xc
mov cl, byte [rdx + rcx]
mov r10b, 0x65
xor r10b, 0x9a
xor cl, r10b
mov r10b, 0xff
xor r10b, 0x3f
mov r11b, 0x51
xor r11b, 0xae
mov bl, 0x5d
xor bl, 0xa2
xor r11b, bl
or cl, r10b
mov r10b, 6
xor r10b, 0xf9
or r10b, r11b
xor cl, 0xff
and cl, r10b
movzx ecx, cl
shl ecx, 6
or ecx, r9d
mov dl, byte [rdx + r8]
and dl, 0x3f
movzx edx, dl
or ecx, edx
mov rdx, 0xffffffffffffffff
xor rdx, 3
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov rax, qword [rsp + 0x298]
movabs rdx, 0xe9ed8b86f2da26b9
movabs rcx, 0xe9ed8b86f2da2641
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x15fbff5953d98463
movabs r8, 0x15fbff5953d9849b
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0xf0
jne 0x1400396b8
mov al, byte [rsp + 0x2ff]
test al, 1
jne 0x140039436
jmp 0x140039440
call fcn.140008c92
jmp 0x14003c20c
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2f0]
movabs rcx, 0x6b3ddaf760bf7e73
mov rax, rdx
add rax, rcx
add rax, 1
movabs rcx, 0x6b3ddaf760bf7e73
sub rax, rcx
mov qword [rsp + 0x268], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jg 0x14003a1fc
mov rax, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x350]
cmp rax, rcx
jl 0x1400394ed
mov rcx, qword [rsp + 0x268]
mov rax, qword [rsp + 0x350]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0xa97f4b04b8197ec4
movabs r9, 0x5680b4fb47e6813b
xor r8, r9
or rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
add rax, 2
mov qword [rsp + 0x260], rax
cmp rax, rcx
jl 0x140039530
mov rcx, qword [rsp + 0x260]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
add rax, 3
mov qword [rsp + 0x258], rax
cmp rax, rcx
jl 0x14003959a
mov rcx, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x350]
movabs rax, 0xc55f477db365d456
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xfc12352aaad4f8b4
movabs r8, 0x394d725719b12ce2
xor rax, r8
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rax, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x258]
mov r9, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x268]
mov r10b, byte [rsp + 0x2b7]
or r10b, r10b
xor r10b, 0xff
mov r11b, 7
or r11b, 7
xor r11b, 0xff
or r10b, r11b
mov r11b, 0x7e
xor r11b, 0x81
xor r10b, r11b
movzx r11d, r10b
shl r11d, 0x12
mov cl, byte [rdx + rcx]
mov bl, 6
xor bl, 7
mov r10b, cl
add r10b, bl
xor cl, 0xff
or cl, 0x3f
add cl, r10b
movzx r10d, cl
shl r10d, 0xc
mov ecx, r10d
or ecx, r11d
mov esi, 0x540cf77a
xor esi, 0xabf30885
xor ecx, esi
xor r10d, 0xffffffff
mov esi, 0xeafcce2b
xor esi, 0x150331d4
xor r11d, esi
and r10d, r11d
xor ecx, 0xffffffff
xor r10d, 0xffffffff
and ecx, r10d
mov r9b, byte [rdx + r9]
mov r11b, 0x12
xor r11b, 0x13
mov r10b, r9b
add r10b, r11b
xor r9b, 0xff
or r9b, 0x3f
add r9b, r10b
movzx r9d, r9b
shl r9d, 6
or ecx, r9d
mov r8b, byte [rdx + r8]
mov dl, r8b
xor dl, 0xff
mov r9b, 0xff
xor r9b, 0x3f
or dl, r9b
mov r9b, 0x63
xor r9b, 0x9c
xor r8b, r9b
mov r9b, 0xff
xor r9b, 0x3f
or r8b, r9b
xor dl, 0xff
xor r8b, 0xff
or dl, r8b
movzx edx, dl
or ecx, edx
add rax, 4
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov rax, qword [rsp + 0x298]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xfc
mov rcx, 0xffffffffffffffff
movabs r8, 0x71f9feb7d243ec2f
xor rcx, r8
or rax, rdx
movabs rdx, 0x71f9feb7d243ec2f
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0xf8
jne 0x140039de3
mov eax, dword [0x14024c9a0]
mov ecx, 0x8c6b2891
xor ecx, 0x404fdbb7
xor eax, ecx
mov r8d, dword [0x14024c9a4]
mov ecx, 0xf8cd6cd0
xor ecx, 0xedf3974b
xor r8d, ecx
mov ecx, 0x574535f
xor ecx, 0xfa8baca0
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov r8d, 0xc1331c47
xor r8d, 0x9807d153
mov ecx, 0x89c42df5
xor ecx, 0x763bd20a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x8b104f81
xor r8d, 0x74efb07e
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5934cd14
or eax, 0x5934cd14
imul eax, edx
add eax, ecx
mov ecx, 0xf97b1499
xor edx, edx
div ecx
mov ecx, 0xc1642a16
xor edx, edx
div ecx
cmp eax, 0xea9a192a
je 0x14003c231
mov ecx, dword [0x14024c9a8]
mov eax, 0xc4eb1e5
xor eax, 0xb5f5d0f8
xor ecx, eax
mov edx, dword [0x14024c9ac]
xor edx, 0xc25ca268
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x1f36a731
xor edx, 0xe0c958ce
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd7e594a8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd7e594a8
mov r8d, 0x624f8f80
xor r8d, 0xb5aa1b28
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xf313142c
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xb630ea89
mov edx, 0xffffffff
xor edx, 0xb630ea89
and eax, edx
sub eax, ecx
cmp eax, 0xe18491e0
je 0x14003c231
mov al, byte [rsp + 0x2ef]
test al, 1
jne 0x14003986c
jmp 0x140039876
call fcn.140008c92
jmp 0x14003c20c
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2e0]
xor eax, eax
mov ecx, eax
sub rcx, rdx
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x250], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jg 0x14003a1fc
mov rax, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x350]
cmp rax, rcx
jl 0x1400398f7
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov eax, dword [0x14024c9b0]
mov ecx, 0xeb40a9a5
xor ecx, 0x79beca46
xor eax, ecx
mov ecx, dword [0x14024c9b4]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0xe1998b2b
xor ecx, 0x70b204ba
imul eax, ecx
mov ecx, 0x225ee2e2
xor edx, edx
div ecx
mov ecx, 0x53e2e25
xor ecx, 0x4097a7c
xor edx, edx
div ecx
mov ecx, 0xa6f7c929
xor ecx, 0xd25b79bc
cmp eax, ecx
ja 0x14003c23a
mov rcx, qword [rsp + 0x2b8]
mov edx, dword [0x14024c9b8]
imul edx, dword [0x14024c9bc]
mov eax, edx
and eax, eax
xor eax, 0xffffffff
and eax, 0x89656f1
xor eax, 0xffffffff
mov r8d, 0x89656f1
and r8d, 0x89656f1
xor r8d, 0xffffffff
and edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor edx, edx
sub edx, 0xfcd7a086
sub eax, edx
mov r8d, 0x2c1487f7
xor r8d, 0x4608fa45
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x350]
movabs r8, 0x52fc31857e91ac2a
movabs r9, 0x52fc31857e91ac28
xor r8, r9
movabs r9, 0x96af425cc3a96ce2
movabs r10, 0x6950bda33c56931d
xor r9, r10
xor r8, r9
movabs r9, 0x86885942bfa41c9e
movabs r10, 0x86885942bfa41c9e
xor r9, r10
movabs r10, 0x502b63ec7c51dcab
movabs r11, 0x502b63ec7c51dcaa
xor r10, r11
sub r9, r10
sub r8, r9
sub rcx, r8
mov qword [rsp + 0x240], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x24f], cl
cmp eax, 0x1747a679
je 0x14003c23a
mov al, byte [rsp + 0x24f]
test al, 1
jne 0x140039a99
jmp 0x140039a54
mov rcx, qword [rsp + 0x240]
mov rdx, qword [rsp + 0x350]
movabs rax, 0x1fc095884bf291d6
movabs r8, 0x12e263474c957c11
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xd22f6cf0767edc7
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
movabs rdx, 0x7b018f20667ddf20
add rax, rdx
add rax, 3
movabs rdx, 0x7b018f20667ddf20
sub rax, rdx
mov qword [rsp + 0x238], rax
cmp rax, rcx
jl 0x140039af6
mov rcx, qword [rsp + 0x238]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x2b8]
mov rax, rdx
and rax, 4
movabs r8, 0x63d6dddcfef6761d
movabs r9, 0x63d6dddcfef67619
xor r8, r9
or rdx, r8
add rax, rdx
mov qword [rsp + 0x230], rax
cmp rax, rcx
jl 0x140039b59
mov rcx, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov eax, dword [0x14024c9c0]
mov ecx, dword [0x14024c9c4]
mov edx, 0x79c9855d
xor edx, 0x86367aa2
xor ecx, edx
mov edx, 0x92a888fd
xor edx, 0x92a888fd
mov r8d, 0xf9747458
xor r8d, 0xf9747459
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x87a39bd
xor ecx, 0x3116d80
or eax, ecx
sub eax, 0x3eb787a6
mov ecx, eax
and ecx, 0x467acc4d
xor ecx, 0xffffffff
add eax, 0x467acc4d
mov edx, 0xe8a646e5
xor edx, 0xe8a646e4
add eax, edx
add eax, ecx
cmp eax, 0xa499e33c
jb 0x14003c243
mov rcx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x338]
mov r9, qword [rsp + 0x230]
mov r10, qword [rsp + 0x238]
mov r11, qword [rsp + 0x240]
mov rdx, qword [rsp + 0x250]
mov bl, byte [rsp + 0x2b7]
mov esi, dword [0x14024c9c8]
mov eax, dword [0x14024c9cc]
mov edi, 0xb4173caf
xor edi, 0x678e7b30
xor eax, edi
and esi, eax
mov eax, esi
xor eax, 0x41406fd1
xor eax, 0xffffffff
and eax, 0x41406fd1
shl eax, 1
sub eax, 0x41406fd1
sub esi, eax
mov eax, esi
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
mov esi, 0x3844b4a4
or esi, 0x3844b4a4
xor esi, 0xffffffff
or eax, esi
xor eax, 0xffffffff
or eax, 0xe27f8a0c
and bl, 3
movzx esi, bl
shl esi, 0x18
mov dl, byte [r8 + rdx]
or dl, dl
mov bl, 0xdf
xor bl, 0x20
xor dl, bl
mov bl, 0xff
xor bl, 0x3f
mov dil, 0xff
xor dil, 0x3f
and bl, dil
mov dil, 0x22
xor dil, 0xdd
xor dl, dil
xor bl, 0xff
and dl, bl
movzx edx, dl
shl edx, 0x12
or edx, esi
mov r11b, byte [r8 + r11]
xor r11b, 0xff
mov sil, 0xca
xor sil, 0xf5
mov bl, 0xe
xor bl, 0xf1
xor sil, bl
mov bl, 0x4f
xor bl, 0xed
mov dil, 0x65
xor dil, 0x9a
xor bl, dil
or r11b, sil
or bl, 0xa2
xor r11b, 0xff
and r11b, bl
movzx r11d, r11b
shl r11d, 0xc
or edx, r11d
mov r10b, byte [r8 + r10]
and r10b, 0x3f
movzx esi, r10b
shl esi, 6
mov r10d, 0x4b0a593a
xor r10d, 0xb4f5a6c5
mov r11d, esi
xor r11d, r10d
mov r10d, edx
and r10d, r11d
mov r11d, edx
xor r11d, esi
add edx, r11d
sub edx, r10d
mov r9b, byte [r8 + r9]
mov r8b, r9b
xor r8b, 0xff
mov r10b, 0x51
xor r10b, 0xae
xor r9b, r10b
and r8b, r9b
mov r9b, 0x3a
xor r9b, 5
mov r10b, 0xe0
xor r10b, 0x1f
xor r9b, r10b
mov r10b, 0xff
xor r10b, 0x3f
and r9b, r10b
or r8b, r9b
mov r9b, 0xa5
xor r9b, 0x5a
xor r8b, r9b
movzx r10d, r8b
mov r9d, r10d
xor r9d, 0xffffffff
mov r8d, edx
and r8d, r9d
mov r9d, edx
xor r9d, r10d
add edx, r9d
sub edx, r8d
mov dword [rsp + 0x224], edx
movabs rdx, 0x7a820752d5d3026f
movabs r8, 0xb5f07147624da220
xor rdx, r8
sub rcx, rdx
movabs rdx, 0x776ba5c9efb64fe8
movabs r8, 0x776ba5c9efb64fed
xor rdx, r8
add rcx, rdx
movabs rdx, 0xcf727615b79ea04f
add rcx, rdx
mov qword [rsp + 0x228], rcx
cmp eax, 0xf4afbde8
jae 0x14003c243
mov rax, qword [rsp + 0x228]
mov ecx, dword [rsp + 0x224]
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov rax, qword [rsp + 0x298]
and rax, 0xfe
cmp rax, 0xfc
jne 0x14003a10a
mov al, byte [rsp + 0x2df]
test al, 1
jne 0x140039e11
jmp 0x140039e1b
call fcn.140008c92
jmp 0x14003c20c
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2d0]
movabs rcx, 0x7135ab904d607999
mov rax, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0xae042f1cbc60b4e2
movabs r9, 0xdf31848cf100cd7b
xor rcx, r9
add rax, rcx
mov qword [rsp + 0x218], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jg 0x14003a1fc
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x350]
cmp rax, rcx
jl 0x140039eb5
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
movabs rdx, 0x583fd1e00a7164d2
movabs r8, 0x583fd1e00a7164d0
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x210], rax
cmp rax, rcx
jl 0x140039f1d
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x350]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
movabs rdx, 0x55cf2984bc234a52
add rax, rdx
add rax, 3
movabs rdx, 0x55cf2984bc234a52
sub rax, rdx
mov qword [rsp + 0x208], rax
cmp rax, rcx
jl 0x140039f90
mov rcx, qword [rsp + 0x208]
mov rdx, qword [rsp + 0x350]
movabs rax, 0xf0e7adde6be2a288
movabs r8, 0xf185221941d5d77
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
add rax, 4
mov qword [rsp + 0x200], rax
cmp rax, rcx
jl 0x140039fd3
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x350]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x2b8]
movabs rdx, 0x50a23ab612ac22d0
movabs r8, 0x50a23ab612ac22d5
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x1f8], rax
cmp rax, rcx
jl 0x14003a042
mov rcx, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x350]
movabs rax, 0x56fbf2fa9f20d027
movabs r8, 0xa9040d0560df2fd8
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rax, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x1f8]
mov r9, qword [rsp + 0x218]
mov r8b, byte [rsp + 0x2b7]
and r8b, 1
movzx r8d, r8b
shl r8d, 0x1e
movd xmm1, dword [rcx + r9]
movaps xmm2, xmmword [0x14025b570]
movaps xmm3, xmmword [0x14025b580]
movaps xmm0, xmm1
pxor xmm0, xmm3
por xmm1, xmm2
pand xmm1, xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
movaps xmm2, xmmword [0x14025b590]
movaps xmm0, xmm1
pmuludq xmm0, xmm2
pshufd xmm0, xmm0, 0xe8
pshufd xmm1, xmm1, 0xf5
movaps xmm2, xmmword [0x14025b5a0]
pmuludq xmm1, xmm2
pshufd xmm1, xmm1, 0xe8
punpckldq xmm0, xmm1
movzx edx, byte [rcx + rdx]
and edx, 0x3f
pshufd xmm1, xmm0, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm0, xmm1
movd ecx, xmm0
or ecx, r8d
or ecx, edx
add rax, 6
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov eax, dword [0x14024c9d0]
and eax, dword [0x14024c9d4]
mov ecx, 0x822a37da
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x2e43a761
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x852d6f55
xor r8d, 0xab6ec834
mov edx, eax
and edx, r8d
mov r8d, 0xd13120e2
xor r8d, 0xff728783
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x718d9170
xor edx, edx
div ecx
cmp eax, 0x514f19c1
ja 0x14003c24c
mov cl, byte [rsp + 0x2b7]
mov eax, dword [0x14024c9d8]
xor edx, edx
div dword [0x14024c9dc]
mov rdx, qword [rsp + 0x2b8]
xor eax, 0xe5e13df3
xor eax, 0xafe39bff
mov r8d, 0x9fca97d4
xor r8d, 0x60d4f058
xor eax, r8d
movzx ecx, cl
mov dword [rsp + 0x1ec], ecx
mov rcx, rdx
and rcx, 1
or rdx, 1
add rcx, rdx
mov qword [rsp + 0x1f0], rcx
cmp eax, 0xcd036432
ja 0x14003a177
mov rax, qword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x1ec]
mov dword [rsp + 0x2a4], ecx
mov qword [rsp + 0x2a8], rax
jmp 0x14003a1fc
mov eax, dword [rsp + 0x2a4]
mov rcx, qword [rsp + 0x2a8]
mov qword [rsp + 0x1e0], rcx
mov dword [rsp + 0x1e8], eax
mov eax, dword [0x14024c9e0]
xor eax, 0x2a061649
xor edx, edx
div dword [0x14024c9e4]
mov ecx, eax
mov edx, 0x697d7f93
xor edx, 0x3b22d34b
mov eax, 0x2781d4ea
xor eax, 0xd87e2b15
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0x1cfcbf2b
xor eax, 0x9634a0a6
cmp eax, 0xd8f817ad
jae 0x14003c255
mov ecx, dword [rsp + 0x1e8]
mov eax, dword [0x14024c9e8]
mov r8d, dword [0x14024c9ec]
mov edx, 0x35ac0d19
xor edx, 0x35ac0d19
sub edx, eax
xor eax, eax
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
add eax, 0x781bc281
mov edx, 0x3296fd98
xor edx, 0x89ad13b9
add eax, edx
add eax, 0x1340e60b
sub eax, 0xbb3bee21
mov r9d, 0x525abcd4
xor r9d, 0xbfe189b1
mov edx, 0x4bed9fe
xor edx, 0xfb412601
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xedbb3565
or eax, 0xedbb3565
imul eax, r8d
add eax, edx
mov dword [rsp + 0x1d4], eax
call fcn.140037ef0
mov rcx, qword [rsp + 0x358]
mov edx, eax
mov eax, dword [rsp + 0x1d4]
mov dword [rsp + 0x1d8], edx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x1df], cl
cmp eax, 0xa593b7ea
jbe 0x14003a261
mov al, byte [rsp + 0x1df]
test al, 1
jne 0x14003a33b
jmp 0x14003c20c
mov eax, dword [rsp + 0x1d8]
cmp eax, 0x80
jae 0x14003a4a1
mov rcx, qword [rsp + 0x2c0]
movabs rdx, 0x83b450e8ebe9a6d3
movabs rax, 0x83b450e8ebe9a6d2
xor rdx, rax
mov rax, rcx
and rax, rdx
mov rdx, rcx
or rdx, 1
add rax, rdx
mov qword [rsp + 0x1c8], rax
movabs rdx, 0x1dcbede55f476af0
movabs r8, 0xe234121aa0b8950f
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003a3b5
call fcn.140008c92
jmp 0x14003c20c
mov rax, qword [rsp + 0x1c8]
movabs rcx, 0x5fc3f4f6267b15ff
movabs rdx, 0x5fc3f4f6267b15ff
xor rcx, rdx
cmp rax, rcx
jge 0x14003a3fd
mov rcx, qword [rsp + 0x1c8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x1c8]
call fcn.1400141a0
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x1c0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003a461
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x1c0]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x2c0]
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
jmp 0x14003c1c7
mov eax, dword [rsp + 0x1d8]
cmp eax, 0x800
jae 0x14003a759
mov rcx, qword [rsp + 0x2c0]
movabs rax, 0x9685c16bd00b328e
movabs rdx, 0x9685c16bd00b328c
xor rax, rdx
mov rdx, rcx
and rdx, rax
movabs rax, 0x925bf7d432f3ab4b
movabs r8, 0x925bf7d432f3ab49
xor rax, r8
imul rdx, rax
mov rax, rcx
xor rax, 2
add rax, rdx
mov qword [rsp + 0x1a0], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x7273c4f7c8fbd362
movabs r9, 0x8d8c3b0837042c9d
xor rdx, r9
and rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0x992790e81a3d8062
movabs r9, 0x66d86f17e5c27f9d
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0xb146411fe64375e4
movabs rdx, 0xb146411fe64375e4
xor rcx, rdx
cmp rax, rcx
jge 0x14003a587
call fcn.140008c92
jmp 0x14003c20c
mov rax, qword [rsp + 0x1a0]
movabs rcx, 0x243600eaa613a91e
movabs rdx, 0x243600eaa613a91e
xor rcx, rdx
cmp rax, rcx
jge 0x14003a5cf
mov rcx, qword [rsp + 0x1a0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x1a0]
call fcn.1400141a0
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x198], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003a647
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x198]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r8d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r8d, 6
or r8b, 0xc0
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0xc0ebe307fd2702eb
movabs r8, 0xc0ebe307fd2702ea
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x188], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x190], rcx
cmp rax, rcx
jl 0x14003a6d8
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x1a0]
mov r8b, cl
mov cl, r8b
xor cl, 0xff
mov r9b, 0xff
xor r9b, 0x3f
or cl, r9b
mov r9b, 0x3f
xor r9b, 0xc0
xor r8b, r9b
mov r9b, 0xa2
xor r9b, 0x9d
mov r10b, 0x4d
xor r10b, 0xb2
xor r9b, r10b
or r8b, r9b
and cl, r8b
mov r8b, 0x28
xor r8b, 0xd7
xor cl, r8b
or cl, 0x80
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
jmp 0x14003c1c7
mov eax, dword [rsp + 0x1d8]
cmp eax, 0x10000
jae 0x14003ae89
mov eax, dword [0x14024c9f0]
mov edx, dword [0x14024c9f4]
mov ecx, 0xe1a251b4
xor ecx, 0x7346c1dd
xor edx, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
sub eax, 0x234d4601
mov r8d, 0xffffffff
xor r8d, 0x3eda1c2b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xac91a561
xor r8d, 0x924bb94a
mov edx, eax
and edx, r8d
or eax, 0x3eda1c2b
imul eax, edx
add eax, ecx
or eax, 0xcb922232
mov ecx, 0x745fe5ed
xor ecx, 0x5430c9f4
cmp eax, ecx
jb 0x14003c25e
mov rdx, qword [rsp + 0x2c0]
mov ecx, dword [0x14024c9f8]
xor ecx, 0x692f3915
mov eax, dword [0x14024c9fc]
xor eax, 0xe854308f
or ecx, eax
or ecx, 0xc56adfbd
mov eax, 0x14ea2117
xor eax, 0x3f44c8ba
and ecx, eax
mov r8d, 0x724ccc53
xor r8d, 0x8db333ac
mov eax, ecx
xor eax, r8d
and eax, 0x159605bb
mov r8d, 0xffffffff
xor r8d, 0x159605bb
and ecx, r8d
or eax, ecx
movabs r8, 0xd56e4ee3fb7f705e
mov rcx, rdx
add rcx, r8
add rcx, 3
movabs r8, 0xd56e4ee3fb7f705e
sub rcx, r8
mov qword [rsp + 0x178], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x9abb4cb745827e36
movabs r8, 0x9abb4cb745827e36
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x187], cl
cmp eax, 0x87b3e094
ja 0x14003a7e6
mov al, byte [rsp + 0x187]
test al, 1
jne 0x14003a8b5
jmp 0x14003a8bf
call fcn.140008c92
jmp 0x14003c20c
mov rax, qword [rsp + 0x178]
cmp rax, 0
jge 0x14003a8f1
mov rcx, qword [rsp + 0x178]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x14003c20c
mov eax, dword [0x14024ca00]
mov edx, dword [0x14024ca04]
xor edx, 0x8dd733f1
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x581485eb
xor eax, 0x16b5d0ee
sub ecx, eax
add ecx, 0x42c2e8c3
mov eax, 0xd3a5091e
xor eax, 0x9d045c1b
add ecx, eax
mov eax, ecx
and eax, 0xfea3c7c8
xor ecx, 0xfea3c7c8
or eax, ecx
xor eax, 0x657cbb60
cmp eax, 0xa871c332
ja 0x14003c267
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x178]
mov eax, dword [0x14024ca08]
mov r8d, dword [0x14024ca0c]
xor r8d, 0xfa299a94
imul eax, r8d
mov r9d, eax
not r9d
and r9d, 0x79e7e1b7
mov r8d, eax
and r8d, 0x86181e48
imul r8d, r9d
mov r9d, eax
and r9d, 0x79e7e1b7
or eax, 0x79e7e1b7
imul eax, r9d
add eax, r8d
imul rax, rax, 0x23c8c06f
shr rax, 0x3a
xor eax, 0x5cf9c6a3
mov dword [rsp + 0x164], eax
call fcn.1400141a0
mov r8, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x2c0]
mov eax, dword [rsp + 0x164]
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x168], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x177], cl
cmp eax, 0x2bc6fc2c
jb 0x14003a95c
mov al, byte [rsp + 0x177]
test al, 1
jne 0x14003ab97
jmp 0x14003aa27
mov edx, dword [0x14024ca10]
xor edx, 0xfb6bee20
add edx, dword [0x14024ca14]
add edx, 0x348ecd03
add edx, 0x3a9eaf0d
mov eax, 0x62504214
xor eax, 0x56de8f17
sub edx, eax
mov ecx, edx
xor ecx, 0x57bdc288
mov eax, 0xffffffff
xor eax, 0x57bdc288
and edx, eax
mov eax, 0x5c21aa43
xor eax, 0x5c21aa41
imul eax, edx
sub eax, ecx
and eax, 0xdfa4804e
mov ecx, 0x73c79862
xor ecx, 0x243b73b0
cmp eax, ecx
je 0x14003c270
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x168]
mov r9d, dword [0x14024ca18]
imul r9d, dword [0x14024ca1c]
mov r10d, 0xcefe2ca5
xor r10d, 0xd16aa9e2
mov eax, 0x50f38372
xor eax, 0xaf0c7c8d
xor r10d, eax
mov r8d, r9d
and r8d, r10d
mov eax, r9d
or eax, r10d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, r9d
and r8d, 0x1f948547
or r9d, 0x1f948547
imul r9d, r8d
add r9d, eax
mov r8d, r9d
xor r8d, 0xe4109bc9
mov eax, 0xffffffff
xor eax, 0xe4109bc9
and r9d, eax
mov eax, 0x1a2030b9
xor eax, 0x1a2030bb
imul eax, r9d
sub eax, r8d
mov r9d, 0xe6ca46c5
xor r9d, 0x9fc78396
mov r8d, eax
and r8d, r9d
shl r8d, 1
add eax, 0x790dc553
sub eax, r8d
mov dword [rsp + 0x160], eax
mov eax, 0x9498f164
xor eax, 0xfd581223
mov dword [rsp + 0x15c], eax
movabs rax, 0xd5509e1bf7e5cc59
movabs r8, 0xd5509e1bf7e5cc59
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.14001284c
mov ecx, dword [rsp + 0x15c]
mov eax, dword [rsp + 0x160]
cmp eax, ecx
je 0x14003c270
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r8d, dword [rsp + 0x1d8]
mov rax, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r8d, 0xc
or r8b, 0xe0
mov rax, qword [rax]
mov byte [rax + rdx + 8], r8b
mov rax, rdx
and rax, 1
movabs r8, 0xd019a107b1a50d76
movabs r9, 0xd019a107b1a50d77
xor r8, r9
or rdx, r8
add rax, rdx
mov qword [rsp + 0x148], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x150], rcx
cmp rax, rcx
jl 0x14003ad45
mov ecx, dword [0x14024ca20]
mov edx, dword [0x14024ca24]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0x3d79378e
xor r8d, 0xc286c871
xor edx, r8d
and ecx, edx
or eax, ecx
and eax, 0x3aa04ad2
mov ecx, eax
xor ecx, 0xf88be3cf
mov edx, 0xffffffff
xor edx, 0xf88be3cf
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x1ef8010e
xor ecx, 0xade131b6
add eax, ecx
cmp eax, 0xf30a658b
jae 0x14003c279
mov rcx, qword [rsp + 0x148]
mov eax, dword [0x14024ca28]
xor edx, edx
div dword [0x14024ca2c]
mov edx, eax
mov r8d, 0x4d34797
xor r8d, 0xfb2cb868
mov eax, edx
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x1127b23d
or eax, r8d
mov r8d, 0x9f424ab
xor r8d, 0x18d39696
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0x87577680
xor r8d, 0x78a8897f
xor eax, r8d
mov r8d, 0x897416c4
xor r8d, 0x768be93b
xor edx, r8d
or eax, edx
mov r8d, 0x9dd87d39
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x150]
mov r8d, 0x2a50211c
xor r8d, 0xa8e78470
xor eax, r8d
mov dword [rsp + 0x144], eax
mov eax, 0xfa1eddcf
xor eax, 0xf77e1356
mov dword [rsp + 0x140], eax
add rdx, 0xffffffffffffffff
call fcn.14001284c
mov ecx, dword [rsp + 0x140]
mov eax, dword [rsp + 0x144]
cmp eax, ecx
je 0x14003ac77
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x148]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 6
mov r10b, 0x7d
xor r10b, 0x42
and r9b, r10b
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x5e29d0aea69362c
movabs r8, 0x5e29d0aea69362e
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x130], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x138], rcx
cmp rax, rcx
jl 0x14003ae1c
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
movabs rax, 0x9d5f2479b3c0be6e
movabs r8, 0x4298cac5a17ee4a6
xor rax, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x1262a734f38c7c75
movabs r8, 0xcda54988e13226bd
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x178]
mov r8b, cl
mov cl, r8b
and cl, 0x3f
xor cl, 0xff
mov r9b, 0xdc
xor r9b, 0xe3
and r8b, r9b
xor r8b, 0xff
xor cl, 0xff
mov r9b, 0xff
xor r9b, 0
xor r8b, r9b
or cl, r8b
or cl, 0x80
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
jmp 0x14003c1c7
mov eax, dword [rsp + 0x1d8]
cmp eax, 0x200000
jae 0x14003b6a8
mov rcx, qword [rsp + 0x2c0]
movabs rdx, 0xa4081077efda36d8
mov rax, rcx
add rax, rdx
add rax, 4
movabs rdx, 0xa4081077efda36d8
sub rax, rdx
mov qword [rsp + 0x128], rax
movabs rdx, 0x5277bd18530d9342
movabs r8, 0xad8842e7acf26cbd
xor rdx, r8
mov r8, rcx
and r8, rdx
movabs rdx, 0xe98f0aa81260ca9a
movabs r9, 0xe98f0aa81260ca98
xor rdx, r9
imul rdx, r8
add rcx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
movabs rcx, 0xea4ff74ecef03d79
movabs rdx, 0xea4ff74ecef03d79
xor rcx, rdx
cmp rax, rcx
jge 0x14003af38
call fcn.140008c92
jmp 0x14003c20c
mov eax, dword [0x14024ca30]
mov ecx, dword [0x14024ca34]
add eax, 0x8266ea83
sub eax, ecx
sub eax, 0x8266ea83
sub eax, 0x6dfe19fb
sub eax, 0x849e418e
add eax, 0x6dfe19fb
add eax, 0x4cbc694a
and eax, 0x906e2fcd
cmp eax, 0x11b7da86
jb 0x14003c282
mov rcx, qword [rsp + 0x128]
mov eax, dword [0x14024ca38]
mov r8d, dword [0x14024ca3c]
xor r8d, 0xad5a03cc
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov edx, 0x761cb295
xor edx, 0x2337ea8a
mov r9d, 0xd7bbf588
xor r9d, 0x28440a77
xor edx, r9d
or eax, r8d
or edx, 0x552b581f
xor eax, 0xffffffff
and eax, edx
mov edx, eax
and edx, 0x9f79177c
mov r8d, 0x11fb7785
xor r8d, 0xee04887a
xor edx, r8d
add eax, 0x9f79177c
add eax, 1
add eax, edx
mov r8d, 0xffffffff
xor r8d, 0x4bc77a24
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x4bc77a24
add eax, r8d
sub eax, edx
add eax, 0xbcde6107
cmp rcx, 0
setl cl
mov byte [rsp + 0x127], cl
cmp eax, 0x93c4312e
je 0x14003c282
mov al, byte [rsp + 0x127]
test al, 1
jne 0x14003b035
jmp 0x14003b075
mov rcx, qword [rsp + 0x128]
movabs rdx, 0xf28f0f8b3672f0bf
movabs rax, 0xf28f0f8b3672f0bf
xor rdx, rax
movabs r8, 0x205bc05c7323d95
movabs rax, 0x7dfa43fa38cdc26a
xor r8, rax
call fcn.14000d792
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x128]
call fcn.1400141a0
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x118], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003b256
mov eax, dword [0x14024ca40]
xor eax, 0x3d3faa5e
mov edx, dword [0x14024ca44]
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0xc773d8a5
xor r8d, 0x388c275a
xor ecx, r8d
and edx, edx
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x8d41503d
xor r8d, 0x72beafc2
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x531966ab
xor edx, 0xace69954
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2569c04d
mov edx, 0xa28999cf
xor edx, 0x87e05982
mov r8d, 0x62976c43
xor r8d, 0x9d6893bc
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x2a0ca5d6
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6074af10
mov edx, 0xffffffff
xor edx, 0x6074af10
and eax, edx
sub eax, ecx
mov ecx, 0xc9f2f437
xor ecx, 0x56ba47d1
cmp eax, ecx
jbe 0x14003c28b
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x118]
mov r8d, dword [0x14024ca48]
mov r9d, dword [0x14024ca4c]
xor r9d, 0x903bdc49
mov eax, r8d
and eax, r9d
xor r8d, r9d
or eax, r8d
imul eax, eax, 0xb8dc87f
sub eax, 0xc35bc8a
mov r8d, 0xeb3a0cd3
xor r8d, 0x14c5f32c
xor eax, r8d
mov r9d, 0x9e122917
xor r9d, 0xa8aa5dd7
mov r8d, 0xf385c1d3
xor r8d, 0xc7a3e2c
xor r9d, r8d
mov r8d, 0x3f02d1d7
xor r8d, 0x61ec280b
mov r10d, 0xf6ff9b78
xor r10d, 0x9006487
xor r8d, r10d
or eax, r9d
or r8d, 0x5eeef9dc
xor eax, 0xffffffff
and eax, r8d
mov dword [rsp + 0x114], eax
mov eax, 0x31a6abbc
xor eax, 0xb109e6ae
mov dword [rsp + 0x110], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.14001284c
mov ecx, dword [rsp + 0x110]
mov eax, dword [rsp + 0x114]
cmp eax, ecx
jae 0x14003c28b
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r8d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r8d, 0x12
mov r9b, r8b
mov r8b, r9b
and r8b, 0xf0
xor r9b, 0xf0
or r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0x100], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x108], rcx
cmp rax, rcx
jl 0x14003b4ba
mov eax, dword [0x14024ca50]
add eax, dword [0x14024ca54]
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0x586040fe
and eax, 0x586040fe
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xab5ac50b
xor edx, 0x54a53af4
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe6486ee6
mov edx, 0xffffffff
xor edx, 0xe6486ee6
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x8631a3a4
xor edx, 0x79ce5c5b
xor ecx, edx
or eax, ecx
mov ecx, 0xd7bcf94e
xor ecx, 0x6391d363
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
mov ecx, 0x2597a46e
xor ecx, 0x91ba8e43
and ecx, edx
shl ecx, 1
mov edx, 0xf3839d92
xor edx, 0x47aeb7bf
sub ecx, edx
sub eax, ecx
cmp eax, 0xd84c5082
ja 0x14003c294
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov eax, dword [0x14024ca58]
mov r9d, dword [0x14024ca5c]
mov r8d, eax
and r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0xe0c6d858
xor r10d, 0x1f3927a7
xor eax, r10d
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0x9c2c6684
xor r9d, 0x63d3997b
xor r8d, r9d
mov r9d, 0x8cf19c4a
xor r9d, 0x730e63b5
xor eax, r9d
or r8d, eax
xor r8d, 0x2d96b863
mov eax, r8d
or eax, 0x273852e3
mov r9d, 0xe142b030
xor r9d, 0x1ebd4fcf
xor eax, r9d
xor r8d, 0xffffffff
mov r9d, 0x849ade91
xor r9d, 0xa3a28c72
mov r10d, 0x8a45e5a5
xor r10d, 0x75ba1a5a
xor r9d, r10d
and r8d, r9d
mov r9d, 0x3fb203a
xor r9d, 0xfc04dfc5
xor eax, r9d
mov r9d, 0x97d567a5
xor r9d, 0x682a985a
xor r8d, r9d
and eax, r8d
mov r8d, eax
and r8d, 0x6ebfd8f9
shl r8d, 1
mov r9d, 0xd3ac1b53
xor r9d, 0xbd13c3aa
add eax, r9d
sub eax, r8d
mov dword [rsp + 0xfc], eax
movabs rax, 0xa4c594f6666b15f6
movabs r8, 0x5b3a6b099994ea09
xor rax, r8
movabs r8, 0xf863f8517499edab
movabs r9, 0x79c07ae8b661254
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0xfc]
cmp eax, 0x7eb7990a
jae 0x14003b371
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x100]
mov rax, qword [rsp + 0x2c0]
mov ecx, 0xb1c5da5a
xor ecx, 0xb1c5da56
shr r9d, cl
mov rcx, qword [rsp + 0x340]
and r9b, 0x3f
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x3526b97a4dda95ee
add rax, rdx
add rax, 2
movabs rdx, 0x3526b97a4dda95ee
sub rax, rdx
mov qword [rsp + 0xe8], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xf0], rcx
cmp rax, rcx
jl 0x14003b565
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x2c0]
mov ecx, 0xbfcf5d8a
xor ecx, 0xbfcf5d8c
shr r9d, cl
mov rcx, qword [rsp + 0x340]
mov r10b, r9b
mov r11b, 0xff
xor r11b, 0x3f
mov r9b, r10b
xor r9b, r11b
and r9b, r10b
and r9b, r9b
xor r9b, 0xff
mov r10b, pe_nt_image_headers64
and r10b, 0x80
xor r10b, 0xff
mov r11b, 0x24
xor r11b, 0xdb
xor r9b, r11b
mov r11b, 0xad
xor r11b, 0x52
xor r10b, r11b
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
mov rdx, rax
and rdx, 3
shl rdx, 1
xor rax, 3
add rax, rdx
mov qword [rsp + 0xd8], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xe0], rcx
cmp rax, rcx
jl 0x14003b64e
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xa094fa85de067f6
movabs r8, 0xf5f6b057a21f9809
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x128]
mov r8b, cl
add r8b, 1
xor cl, 0xff
or cl, 0x3f
add cl, r8b
mov r8b, 0xa1
xor r8b, 0x21
or cl, r8b
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
jmp 0x14003c1c7
mov eax, dword [rsp + 0x1d8]
mov ecx, 0x2a0e9780
xor ecx, 0x2e0e9780
cmp eax, ecx
jae 0x14003bc6f
mov rcx, qword [rsp + 0x2c0]
movabs rdx, 0x6949d78cdb78a6fe
movabs rax, 0x6949d78cdb78a6fe
xor rdx, rax
sub rdx, rcx
xor eax, eax
sub rax, 5
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0xd0], rax
movabs rdx, 0x3b882666aa6436f4
movabs r8, 0xc477d999559bc90b
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003b72b
call fcn.140008c92
jmp 0x14003c20c
mov rax, qword [rsp + 0xd0]
cmp rax, 0
jge 0x14003b77d
mov rcx, qword [rsp + 0xd0]
movabs rdx, 0x27c96262977d80f5
movabs rax, 0x27c96262977d80f5
xor rdx, rax
movabs r8, 0xf44ffaf391c212b5
movabs rax, 0x8bb0050c6e3ded4a
xor r8, rax
call fcn.14000d792
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xd0]
call fcn.1400141a0
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0xc8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003b8a6
mov eax, dword [0x14024ca60]
xor edx, edx
div dword [0x14024ca64]
sub eax, 0x73afd40f
mov ecx, 0xde7d6232
xor edx, edx
div ecx
mov edx, 0xeb39e348
xor edx, 0xeb39e349
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x216ed506
add eax, ecx
cmp eax, 0x67f000b2
je 0x14003c29d
mov rcx, qword [rsp + 0x2c0]
mov eax, dword [0x14024ca68]
mov edx, dword [0x14024ca6c]
xor edx, 0xbfc9c850
xor eax, edx
and eax, 0x1edd698c
mov r8d, 0xf991ca9f
xor r8d, 0x32df838d
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xc8]
mov r9d, 0xc47059da
xor r9d, 0xb5364fc7
mov r8d, eax
and r8d, r9d
mov r9d, 0x681afeed
xor r9d, 0x681afeef
imul r8d, r9d
xor eax, 0x7146161d
add eax, r8d
mov dword [rsp + 0xc4], eax
mov eax, 0x8be44f82
xor eax, 0x9dab10c2
mov dword [rsp + 0xc0], eax
add rdx, 0xffffffffffffffff
call fcn.14001284c
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xc4]
cmp eax, ecx
jbe 0x14003c29d
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r8d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x2c0]
mov ecx, 0x4b1a45d6
xor ecx, 0x4b1a45ce
shr r8d, cl
mov rcx, qword [rsp + 0x340]
or r8b, 0xf8
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0x6f5700b0c09bf238
movabs r8, 0x6f5700b0c09bf239
xor rdx, r8
add rax, rdx
mov qword [rsp + 0xb0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rcx
cmp rax, rcx
jl 0x14003b95b
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
movabs rax, 0xcd298934660b63f8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xcd298934660b63f8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rax, qword [rsp + 0x320]
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 0x12
mov r10b, r9b
or r10b, r10b
mov r9b, 0xa5
xor r9b, 0x5a
xor r10b, r9b
mov r9b, 0xff
xor r9b, 0x3f
mov r11b, 0xff
xor r11b, 0x3f
and r9b, r11b
xor r10b, 0xff
xor r9b, 0xff
and r10b, r9b
mov r9b, r10b
xor r9b, 0xff
mov r11b, 0xff
xor r11b, 0x80
and r9b, r11b
mov r11b, 0xdd
xor r11b, 0x5d
or r10b, r11b
xor r10b, 0xff
xor r9b, 0xff
xor r10b, 0xff
and r9b, r10b
mov rax, qword [rax]
mov byte [rax + r8 + 8], r9b
movabs r8, 0x1ab0630fcbc01f87
movabs rax, 0x1ab0630fcbc01f85
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0xe68dc80d17f8c354
movabs r9, 0xe68dc80d17f8c356
xor r8, r9
or rdx, r8
add rax, rdx
mov qword [rsp + 0xa0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xa8], rcx
cmp rax, rcx
jl 0x14003ba66
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 0xc
mov r10b, r9b
or r10b, r10b
xor r10b, 0xff
mov r9b, 0xff
xor r9b, 0x3f
mov r11b, 0x58
xor r11b, 0x67
mov bl, 0x81
xor bl, 0x7e
xor r11b, bl
and r9b, r11b
or r10b, r9b
mov r9b, 0x7a
xor r9b, 0x85
xor r10b, r9b
mov r9b, r10b
xor r9b, 0xff
xor r10b, 0xff
or r9b, r10b
mov r10b, 0xff
xor r10b, 0x80
mov r11b, 0xc
xor r11b, 0x8c
mov bl, 0xd4
xor bl, 0x2b
xor r11b, bl
or r10b, r11b
xor r9b, 0xff
xor r10b, 0xff
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add rax, 3
mov qword [rsp + 0x90], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x98], rcx
cmp rax, rcx
jl 0x14003bb56
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 6
mov r10b, r9b
xor r10b, 0xff
mov r11b, 0xff
xor r11b, 0x3f
mov r9b, 0xaf
xor r9b, 0xd0
mov bl, 0x4e
xor bl, 0xb1
xor r9b, bl
or r10b, r11b
or r9b, 0x7f
xor r10b, 0xff
and r10b, r9b
mov r9b, r10b
and r9b, 0x80
xor r10b, 0x80
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
mov rdx, 0xffffffffffffffff
xor rdx, 4
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x80], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x88], rcx
cmp rax, rcx
jl 0x14003bc22
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xd0]
and cl, 0x3f
mov r8b, 0x2e
xor r8b, 0xae
or cl, r8b
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
jmp 0x14003c1c7
mov rax, qword [rsp + 0x1e0]
mov ecx, dword [rsp + 0x1d8]
cmp ecx, 0xffffffff
mov qword [rsp + 0x2c8], rax
jle 0x140038db1
mov rcx, qword [rsp + 0x2c0]
mov rdx, rcx
and rdx, 6
movabs rax, 0xdcd3cd823f9e657a
movabs r8, 0xdcd3cd823f9e6578
xor rax, r8
imul rdx, rax
movabs r8, 0x8bcdfaafa6088f80
movabs rax, 0x8bcdfaafa6088f86
xor r8, rax
mov rax, rcx
xor rax, r8
add rax, rdx
mov qword [rsp + 0x78], rax
movabs rdx, 0xecfaa667bb7be3d2
movabs r8, 0x1305599844841c2d
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003bd0f
call fcn.140008c92
jmp 0x14003c20c
mov rax, qword [rsp + 0x78]
cmp rax, 0
jge 0x14003bd3b
mov rcx, qword [rsp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x78]
call fcn.1400141a0
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x70], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003bdac
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x70]
movabs rax, 0xd221bd7f1cc6d19f
movabs r8, 0x2dde4280e3392e60
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r8d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r8d, 0x1e
mov r9b, r8b
mov r8b, r9b
and r8b, 0xfc
xor r9b, 0xfc
or r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0x15da45938bb8248f
movabs r8, 0x15da45938bb8248e
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jl 0x14003be65
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
movabs rax, 0xf76d0753241d49ba
movabs r8, 0xa17800d2f4a030cc
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x56150781d0bd7976
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0x2c0]
mov ecx, 0xcfc8e1e7
xor ecx, 0xcfc8e1ff
shr r9d, cl
mov rcx, qword [rsp + 0x340]
mov r10b, r9b
mov r9b, r10b
xor r9b, 0x3f
xor r9b, 0xff
mov r11b, 0x76
xor r11b, 0x49
or r10b, r11b
and r10b, r9b
mov r9b, r10b
and r9b, 0x80
xor r10b, 0x80
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add rax, 2
mov qword [rsp + 0x50], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
cmp rax, rcx
jl 0x14003bf38
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xd4334437ba100660
movabs r8, 0xd4334437ba100660
xor rax, r8
movabs r8, 0x127c6d3e52c2f181
movabs r9, 0xed8392c1ad3d0e7e
xor r8, r9
sub rax, r8
sub rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x50]
mov rax, qword [rsp + 0x2c0]
mov ecx, 0xf7e1b766
xor ecx, 0xf7e1b774
shr r9d, cl
mov rcx, qword [rsp + 0x340]
or r9b, r9b
xor r9b, 0xff
mov r10b, 0xb8
xor r10b, 0x87
mov r11b, 0xc5
xor r11b, 0xfa
or r10b, r11b
xor r10b, 0xff
or r9b, r10b
xor r9b, 0xff
mov r10b, 0xa3
xor r10b, 0x23
and r10b, r9b
xor r10b, 0xff
add r9b, 0x80
mov r11b, 9
xor r11b, 8
add r9b, r11b
add r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x262008bc0c7c7941
movabs r8, 0x262008bc0c7c7942
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x40], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp rax, rcx
jl 0x14003c00a
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x40]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 0xc
and r9b, 0x3f
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x904654c60071be84
movabs r8, 0x904654c60071be80
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jl 0x14003c0ae
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
movabs rax, 0x2e030df7ba5cf5b9
movabs r8, 0xd1fcf20845a30a46
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov r9d, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x340]
shr r9d, 6
mov r10b, r9b
and r10b, 0x3f
mov r11b, 0x93
xor r11b, 0x6c
mov r9b, r10b
xor r9b, r11b
mov r11b, 0xff
xor r11b, 0x80
and r9b, r11b
mov r11b, 0xf8
xor r11b, 0x78
or r10b, r11b
mov r11b, 0xfe
xor r11b, 1
xor r10b, r11b
mov r11b, 0xa5
xor r11b, 0x5a
xor r9b, r11b
xor r10b, 0xff
and r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0xb1ac1033734cb546
movabs r8, 0xb1ac1033734cb543
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rax, rcx
jl 0x14003c177
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14003c20c
mov rcx, qword [rsp + 0x340]
call fcn.14003c2a6
mov ecx, dword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x78]
mov r8b, cl
xor r8b, 0x3f
xor r8b, 0xff
mov r9b, 0xee
xor r9b, 0xd1
or cl, r9b
and cl, r8b
or cl, 0x80
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b7], cl
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x1a8]
mov r9b, byte [rsp + 0x1b7]
mov rcx, qword [rsp + 0x1b8]
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
mov qword [rsp + 0x328], rcx
mov qword [rsp + 0x330], rax
jmp 0x140038d91
mov rax, qword [rsp + 0x348]
add rsp, 0x370
pop rbx
pop rdi
pop rsi
ret
test byte [rax + rcx*2], ah
add eax, dword [rax]
add byte [rax - 0x7f], cl
invalid
and rax, 0xffffffffbae9c91e
int3
cmp bl, byte [rdx + 0x62e95b5e]
int 0xff
call qword [rbx]
movabs al, byte [0x73ffffd57be976ef]
adc al, byte [rdi + 0x7a]
jmp 0x140039951
adc esp, dword [rax + 0x7be976ef]
invalid
jae 0x14003c24e
jp 0x14003c228
invalid
retf 0xd3d6
cmp esp, ecx
or al, 0x5d
jmp 0x14003a177
movsd dword [rdi], dword [rsi]
jp 0x14003c20e
jle 0x14003c243
add esp, eax
invalid
cmc
jmp 0x1bfed569a
xchg ecx, eax
invalid
mov dl, 0xe8
push rax
jmp 0x14003aa8c
adc eax, 0xe9d81bea
cmc
jmp 0x1ad69c283
insd dword [rdi], dx
invalid
add byte [r9], r11b
push rcx
jmp 0x14003b170
add eax, 0xe92b0c7f
invalid
pop rdx
cwde
cmp al, 0x43
jmp 0x14003b803