Function at 0x1401649a0
Capabilities:
Encode data using add xor sub operations

Disassembly:
push rbp
push rsi
sub rsp, 0x198
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x100], xmm8
movaps xmmword [rbp + 0xf0], xmm7
movaps xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0xd0], rdx
mov qword [rbp + 0xd8], rcx
mov eax, dword [0x1402b10e8]
xor edx, edx
div dword [0x1402b10ec]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd7c078aa
xor edx, 0x28f418e9
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xff346043
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x965ed6a8
xor r8d, 0x696ab6eb
mov edx, eax
and edx, r8d
or eax, 0xff346043
imul eax, edx
add eax, ecx
imul eax, eax, 0xc3ea91ef
and eax, 0x47c522b2
cmp eax, 0x77520795
ja 0x1401633d9
mov eax, dword [0x1402b10f0]
mov ecx, dword [0x1402b10f4]
or eax, ecx
add eax, 0x61eada23
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa1ed7e33
and ecx, 0x5e1281cc
imul ecx, edx
mov edx, eax
and edx, 0x5e1281cc
or eax, 0x5e1281cc
imul eax, edx
add eax, ecx
mov dword [rbp + 0xc8], eax
mov eax, 0x30
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0xc0], rax
add rax, 0x60
mov qword [rbp + 0xb8], rax
mov ecx, 0x5763
mov edx, 0xbfc8
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp + 0xc8]
mov word [rbp + 0xcc], dx
mov cl, byte [rcx + 0x60]
mov dl, 0x5d
xor dl, 0x5d
cmp cl, dl
sete cl
mov byte [rbp + 0xcf], cl
cmp eax, 0x5da2e601
jbe 0x1401623bc
mov al, byte [rbp + 0xcf]
test al, 1
jne 0x14016249a
jmp 0x1401633b9
mov rcx, qword [rbp + 0xd0]
mov ax, word [rbp + 0xcc]
mov byte [rbp + 0x9f], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov r8b, byte [rbp + 0x9f]
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp + 0xa0], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
mov qword [rbp + 0xa8], rcx
movabs r8, 0xe47c91f0517cb38c
movabs rdx, 0x1b836e0fae834c73
xor r8, rdx
mov rdx, rax
xor rdx, r8
and rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
or rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14016267d
mov eax, dword [0x1402b10f8]
mov ecx, dword [0x1402b10fc]
mov edx, 0x7ade14c4
xor edx, 0x3e78c2ec
xor ecx, edx
or eax, ecx
mov ecx, 0xb24afea3
xor ecx, 0x59d5b019
xor eax, ecx
or eax, 0xff98dda8
mov ecx, eax
and ecx, 0x81b395c6
xor ecx, 0xffffffff
mov edx, 0x33639e85
xor edx, 0xb2d00b43
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x1e01ba83
xor ecx, 0xf1de524b
cmp eax, ecx
jbe 0x1401633e2
mov r11d, dword [str.lH.e_v]
mov ecx, dword [0x1402b1104]
mov eax, r11d
and eax, ecx
mov edx, 0xfc21ca80
xor edx, 0xfc21ca82
imul eax, edx
xor r11d, ecx
add r11d, eax
mov ecx, 0xef8d150b
xor ecx, 0xc4455ae0
mov eax, r11d
and eax, ecx
shl eax, 1
xor r11d, 0x2bc84feb
add r11d, eax
mov eax, 0x635ffb58
xor eax, 0x9ca004a7
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x5aa5a237
mov edx, 0xffffffff
xor edx, 0x1e61a43d
mov eax, ecx
and eax, 0x1e61a43d
and r11d, edx
mov r10d, 0x3bf19780
xor r10d, 0x259033bd
mov r9d, r8d
and r9d, r10d
mov r10d, 0x8d506431
xor r10d, 0xd7f5c606
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x1e61a43d
and ecx, edx
or eax, ecx
xor eax, 0x2439dfc8
mov dword [rbp + 0x98], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp + 0x98]
add rsp, 0x20
cmp eax, 0xfc0e726c
jae 0x14016259f
jmp 0x1401626a1
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xd0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0xbf
xor dl, 0xbf
mov byte [rax + rcx + 8], dl
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
movaps xmm0, xmmword [0x1402c3710]
movaps xmm1, xmmword [0x1402c3720]
movaps xmm2, xmmword [0x1402c3730]
movaps xmm3, xmmword [0x1402c3740]
xor eax, eax
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
jmp 0x1401626f1
mov rax, qword [rbp + 0x48]
movaps xmm2, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x70]
movaps xmm5, xmmword [rbp + 0x80]
movaps xmmword [rbp - 0x20], xmm5
movaps xmmword [rbp - 0x10], xmm8
movaps xmmword [rbp], xmm7
movaps xmmword [rbp + 0x10], xmm2
mov qword [rbp + 0x28], rax
movaps xmm6, xmmword [0x1402c3750]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402c3750]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402c3760]
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp + 0x30], xmm1
movd eax, xmm0
test al, 1
jne 0x1401627fa
jmp 0x140162908
mov eax, dword [0x1402b1108]
mov r8d, dword [0x1402b110c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x6ef646cd
xor r9d, 0x9109b932
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x913626b1
add eax, 0x62a1a945
add eax, 0x913626b1
mov ecx, eax
and ecx, 0xdaa18cb0
xor ecx, 0xffffffff
add eax, 0xdaa18cb0
add eax, 1
add eax, ecx
mov ecx, 0xcba56f08
xor ecx, 0xc762e33d
imul eax, ecx
cmp eax, 0xbf83aaec
ja 0x1401633eb
mov rcx, qword [rbp + 0xb0]
mov eax, dword [0x1402b1110]
mov r8d, dword [0x1402b1114]
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
mov r8d, 0x8a911e0a
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x28]
imul r8d, eax, 0x3dc6d933
mov eax, r8d
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0xffffffff
xor r9d, 0x30d06e11
mov r10d, 0xffffffff
xor r10d, 0x30d06e11
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
or r8d, 0x30d06e11
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov byte [rcx + rdx], 0
cmp eax, 0xf130185b
ja 0x140162875
jmp 0x140162908
movaps xmm0, xmmword [rbp + 0x30]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140162920
jmp 0x1401629bb
mov rax, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x28]
mov rcx, rdx
or rcx, 1
movabs r8, 0x842dea747109297b
movabs r9, 0x7bd2158b8ef6d684
xor r8, r9
xor rcx, r8
movabs r8, 0x941751bef1155ea2
movabs r9, 0x6be8ae410eeaa15d
xor r8, r9
xor rdx, r8
movabs r8, 0x44fdf6d3da730ab9
movabs r9, 0x44fdf6d3da730ab8
xor r8, r9
movabs r9, 0xc53e4a624045a5f7
movabs r10, 0x3ac1b59dbfba5a08
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0xa38f66b9f8b61684
movabs r8, 0x5c7099460749e97b
xor rdx, r8
xor rcx, rdx
mov byte [rax + rcx], 0
mov eax, dword [0x1402b1118]
mov ecx, dword [0x1402b111c]
xor ecx, 0x4fca7a91
xor edx, edx
div ecx
imul eax, eax, 0xfd158f3b
sub eax, 0xf24accb9
xor eax, 0xbc27c156
cmp eax, 0x3088cd31
jb 0x1401633f4
movaps xmm0, xmmword [rbp + 0x30]
mov eax, dword [0x1402b1120]
mov ecx, dword [0x1402b1124]
xor eax, ecx
or eax, 0x656da65a
mov ecx, 0xc0d97595
imul rax, rcx
shr rax, 0x3f
add eax, 0x83017153
mov ecx, 0x92be34dd
pextrw edx, xmm0, 2
mov byte [rbp - 0x21], dl
cmp eax, ecx
ja 0x1401633f4
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140162a3a
jmp 0x140162b6b
mov eax, dword [0x1402b1128]
mov ecx, dword [0x1402b112c]
xor ecx, 0x789a1e34
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xb7237db5
xor ecx, 0xffffffff
or eax, 0xb7237db5
and eax, ecx
mov ecx, 0x1d4e20cb
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xb18d8028
mov edx, 0xb392f333
xor edx, 0xb392f331
imul ecx, edx
mov edx, 0x88814e62
xor edx, 0x390cce4a
xor eax, edx
add eax, ecx
cmp eax, 0x33128bad
je 0x1401633fd
mov rcx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0x28]
mov eax, dword [0x1402b1130]
or eax, dword [0x1402b1134]
mov r9d, 0x2e860b16
xor edx, edx
div r9d
mov edx, eax
and edx, 0x2d3133
xor edx, 0xffffffff
add eax, 0x2d3133
add eax, 1
add eax, edx
or eax, 0xebccd0b1
movabs r9, 0x64b20ace7c9deaba
movabs rdx, 0x9b4df53183621545
xor r9, rdx
mov rdx, r8
xor rdx, r9
mov r9, 0xffffffffffffffff
xor r9, 2
and rdx, r9
movabs r9, 0x906e70af0191152e
movabs r10, 0x906e70af0191152c
xor r9, r10
or r8, r9
movabs r9, 0x8eea4320419130dc
movabs r10, 0x7115bcdfbe6ecf23
xor r9, r10
xor r8, r9
movabs r9, 0x5f79febda6c604e8
movabs r10, 0xa08601425939fb17
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
mov byte [rcx + rdx], 0
cmp eax, 0x38bb59fa
jbe 0x1401633fd
jmp 0x140162b6b
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 3
test al, 1
jne 0x140162b81
jmp 0x140162b94
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x28]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 4
test al, 1
jne 0x140162baa
jmp 0x140162ca1
mov eax, dword [0x1402b1138]
and eax, dword [0x1402b113c]
mov ecx, 0xffffffff
xor ecx, 0xe10535d0
add eax, ecx
add eax, 1
add eax, 0xfacf67a9
mov r8d, 0xffffffff
xor r8d, 0x5ad4cc04
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5ad4cc04
or eax, 0x5ad4cc04
imul eax, edx
add eax, ecx
cmp eax, 0x51d5ed71
jbe 0x140163406
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x28]
mov eax, dword [0x1402b1140]
imul eax, dword [0x1402b1144]
mov r8d, 0xdf3f8870
xor r8d, 0xe6c4d504
add eax, r8d
sub eax, 0x5ef87976
mov r8d, 0xcc91e4fa
xor r8d, 0xf56ab98e
sub eax, r8d
mov r8d, eax
and r8d, 0x87678f7
mov r9d, 0x2c85cff
xor r9d, 0xfd37a300
xor r8d, r9d
mov r9d, 0xe79a954
xor r9d, 0x60fd1a3
add eax, r9d
add eax, 1
add eax, r8d
mov r8d, 0x29d72e19
xor r8d, 0x4e249590
sub eax, r8d
or rdx, 4
mov r8b, 0x26
xor r8b, 0x26
mov byte [rcx + rdx], r8b
cmp eax, 0xc3e5fc72
je 0x140163406
jmp 0x140162ca1
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 5
test al, 1
jne 0x140162cb7
jmp 0x140162cca
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x28]
or rcx, 5
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 6
test al, 1
jne 0x140162ce0
jmp 0x140162d2e
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x28]
movabs rdx, 0x6447f0c1792ad68b
movabs r8, 0x6447f0c1792ad68d
xor rdx, r8
and rdx, rcx
movabs r8, 0x12d79c5a95d72052
movabs r9, 0xed2863a56a28dfad
xor r8, r9
xor rdx, r8
add rcx, 6
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 7
test al, 1
jne 0x140162d44
jmp 0x140162d7b
mov rax, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x28]
mov rcx, rdx
and rcx, 7
movabs r8, 0x36b56622eaf07a2
movabs r9, 0x36b56622eaf07a5
xor r8, r9
xor rdx, r8
or rcx, rdx
mov dl, 0x6e
xor dl, 0x6e
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movaps xmm3, xmmword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
add rax, 8
movaps xmm4, xmmword [0x1402c3770]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
jne 0x1401626f1
jmp 0x140162dd3
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, 0
jle 0x140162f51
mov ecx, dword [0x1402b1148]
mov edx, dword [0x1402b114c]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x2fc63b1
xor edx, edx
div ecx
mov r11d, eax
and r11d, 0xc47616ed
mov eax, 0xb1d8ea7
xor eax, 0xf4e27158
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xad117f7
mov r8d, 0xffffffff
xor r8d, 0xc80d4784
mov r9d, 0x7507ecbc
xor r9d, 0xbd0aab38
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0xc80d4784
mov r10d, r8d
and r10d, 0xad117f7
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0xc2201ecd
xor edx, 0x3ddfe132
xor ecx, edx
mov edx, 0x8e618676
xor edx, 0x466cc1f2
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0x1d9d1634
ja 0x14016340f
mov rcx, qword [rbp + 0xd8]
mov eax, dword [0x1402b1150]
and eax, dword [0x1402b1154]
mov r9d, 0xffffffff
xor r9d, 0xbb141680
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xa065f75e
xor r9d, 0x5f9a08a1
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xbb141680
or eax, 0xbb141680
imul eax, r8d
add eax, edx
mov edx, 0x6bdedae8
xor edx, 0x67ad550
or eax, edx
mov r8d, 0x39b9d864
xor edx, edx
div r8d
add rcx, 8
mov qword [rbp - 0x38], rcx
cmp eax, 0xc0707a25
je 0x140162e98
xor eax, eax
mov qword [rbp - 0x40], rax
jmp 0x1401630a0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
movabs rdx, 0xe0af2d42fa160d1c
movabs r8, 0xe0af2d42fa160d1d
xor rdx, r8
add rax, rdx
cmp rax, rcx
mov qword [rbp - 0x40], rax
jne 0x1401630a0
mov r11d, dword [0x1402b1158]
mov r10d, dword [0x1402b115c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xb92af648
xor edx, 0xee2038f
mov eax, 0xb88a53d3
rcl dword [rbx - 0x76], cl
mov eax, 0x75ac2c35
xor r10d, r8d
mov eax, ecx
and eax, 0xb7c8f5c7
and r11d, edx
mov esi, 0x6464ece6
xor esi, 0xd3ac1921
mov r9d, r8d
and r9d, esi
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x2140199
xor r8d, 0xfdebfe66
xor ecx, r8d
or edx, 0xb7c8f5c7
and ecx, edx
or eax, ecx
add eax, 0x56b9255b
imul ecx, eax, 0x53e8d22d
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x30a16429
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x30a16429
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x6aa3869
xor ecx, 0x6d106793
cmp eax, ecx
je 0x140163418
mov ecx, dword [0x1402b1160]
xor ecx, dword [0x1402b1164]
mov eax, ecx
and eax, 0xd465fb29
shl eax, 1
mov edx, 0x3a19a693
xor edx, 0xee7c5dba
add ecx, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x687c5f89
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x867a76c5
xor ecx, 0x19fefae
xor edx, edx
div ecx
mov dword [rbp - 0x50], eax
mov ecx, 0xae87
mov edx, 0x462a
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x50]
mov word [rbp - 0x4c], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x274b81e8
jae 0x14016300c
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1401632da
jmp 0x1401633b9
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
mov rdx, qword [rdx]
add rdx, 8
imul rax, rax, 0x28
add rdx, rax
mov r8d, 0x28
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
mov ecx, 0x2a5
sub rsp, 0x20
call fcn.14008bb10
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x140163204
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
cmp rax, rcx
jge 0x1401631d9
mov ecx, 0xb642
mov edx, 0x5e9e
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0xb8]
mov word [rbp - 0x5a], cx
cmp byte [rax], 0
jne 0x140163209
mov rcx, qword [rbp + 0xd0]
mov ax, word [rbp - 0x5a]
mov byte [rbp - 0x69], al
movabs rdx, 0x398c7f6deda79a54
movabs rax, 0x398c7f6deda79a55
xor rdx, rax
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0xa0]
mov r8b, byte [rbp - 0x69]
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x68], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1401631bc
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401631d9
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xd0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.140160670
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
cmp byte [rax], 0
je 0x140162f22
jmp 0x1401633b9
mov ecx, dword [0x1402b1168]
xor ecx, 0x3f9a531d
mov edx, dword [0x1402b116c]
xor edx, 0xd3bbd795
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x52135879
add eax, ecx
add eax, 1
or eax, 0xc423588a
or eax, 0x1d44e01a
mov ecx, 0x96145e52
xor ecx, 0xf7c99917
cmp eax, ecx
jb 0x140163421
mov eax, dword [0x1402b1170]
mov ecx, 0x2c91a415
xor ecx, 0x881eb94a
xor eax, ecx
mov edx, dword [0x1402b1174]
xor edx, 0x4c236981
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0xbe7045e
xor edx, edx
div ecx
xor eax, 0xf59c6c8e
mov edx, 0x98c6886b
xor edx, 0x12ce6d39
mov ecx, 0x1d0f37a3
xor ecx, 0xe2f0c85c
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x8a08e552
add eax, edx
sub eax, ecx
cmp eax, 0xc1aa184b
jbe 0x14016326a
jmp 0x1401633b9
mov rcx, qword [rbp + 0xd0]
mov ax, word [rbp - 0x4c]
mov byte [rbp - 0x79], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0xa0]
mov r8b, byte [rbp - 0x79]
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rdx, 0x3d0f87d3f77ee5ac
movabs rax, 0x3d0f87d3f77ee5ac
xor rdx, rax
movabs rax, 0x6a38e4ea65ca2be9
movabs r8, 0x6a38e4ea65ca2be8
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp - 0x78], rax
movabs r8, 0xf02eb50729381a23
movabs rdx, 0xfd14af8d6c7e5dc
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016339c
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401633b9
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xd0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
movaps xmm6, xmmword [rbp + 0xe0]
movaps xmm7, xmmword [rbp + 0xf0]
movaps xmm8, xmmword [rbp + 0x100]
lea rsp, [rbp + 0x118]
pop rsi
pop rbp
ret
sar dword [rax], 0x31
mov ch, cl
invalid
retf 0xfeb1
pop rdi
invalid
invalid
movabs al, byte [0x87fffff695e9592d]
adc al, bl
xlatb
xchg dword [rax], edx
fcom st(7)
jmp 0x140162c05
outsd dx, dword [rsi]
adc eax, 0x80e9da4e
cli
invalid
jle 0x140163433
sbb ah, byte [rax]
jmp 0x14016300c
jmp 0x129ede815
in al, dx
xor byte [rcx], al
add byte [rax], al
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rcx
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x80], rax
add rax, 0x60
mov qword [rbp + 0x78], rax
mov ecx, 0xf894
mov edx, 0x101f
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x80]
mov word [rbp + 0x8e], cx
mov al, byte [rax + 0x60]
mov cl, 0xd3
xor cl, 0xd3
cmp al, cl
jne 0x14016427c
mov rcx, qword [rbp + 0x60]
mov ax, word [rbp + 0x8e]
mov byte [rbp + 0x4f], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov r8b, byte [rbp + 0x4f]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x50], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x58], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140163530
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140163547
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x4e], al
or al, cl
test al, 1
jne 0x1401640d8
mov ecx, 0xed60
mov edx, 0x5aa
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 0x4c], dl
cmp cl, 0
mov byte [rbp + 0x4d], al
je 0x14016359e
mov al, byte [rbp + 0x4c]
mov cl, byte [rbp + 0x4d]
mov byte [rbp + 0x4b], cl
test al, 1
jne 0x1401635b4
jmp 0x140163f67
mov rcx, qword [rbp + 0x70]
mov ax, 0x6340
xor ax, 0x6394
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x40], rcx
cmp byte [rax], 0
jne 0x140163f67
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
movabs rcx, 0x40292b2d3d0f12e2
movabs rax, 0x40292b2d3d0f12e3
xor rcx, rax
mov rax, rdx
and rax, rcx
shl rax, 1
xor rdx, 1
add rdx, rax
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.140031800
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp + 0xa8]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rdx]
mov qword [rbp + 0x28], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x30], rdx
cmp rcx, 0
mov qword [rbp + 0x38], rax
jle 0x140163922
mov eax, dword [0x1402b1178]
xor edx, edx
div dword [0x1402b117c]
mov ecx, 0xbc89a7f0
xor edx, edx
div ecx
mov ecx, 0xa7c6a193
xor ecx, 0x82157936
and eax, ecx
mov ecx, eax
xor ecx, 0x5bc84225
xor ecx, 0xffffffff
or eax, 0x5bc84225
and eax, ecx
cmp eax, 0xf2595c9f
ja 0x140164285
mov r8, qword [rbp + 0x28]
mov eax, dword [0x1402b1180]
xor eax, 0x96dc9eeb
mov edx, dword [0x1402b1184]
mov ecx, eax
xor ecx, 0xffffffff
mov r10d, 0x63d5b4f1
xor r10d, 0x9c2a4b0e
mov r9d, edx
xor r9d, r10d
and ecx, r9d
xor eax, 0xffffffff
mov r9d, 0x75770ccc
xor r9d, 0x8a88f333
xor edx, r9d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
or ecx, 0x3d56722f
xor ecx, 0x9425bf33
mov edx, 0xffffffff
xor edx, 0xf6989efa
mov eax, ecx
xor eax, edx
and eax, ecx
mov rcx, r8
add rcx, 1
mov qword [rbp + 8], rcx
movabs r9, 0xe2cacff8839172d0
movabs rdx, 0x1d3530077c6e8d2f
xor r9, rdx
mov rdx, r8
xor rdx, r9
movabs r10, 0x9808e4a1e74918b0
movabs r9, 0x67f71b5e18b6e74f
xor r10, r9
mov r9, r8
xor r9, r10
and rdx, r9
movabs r9, 0x4e7f4914b9787f79
movabs r10, 0xb180b6eb46878086
xor r9, r10
movabs r10, 0x5b36bc4ae5eb0f57
movabs r11, 0xa4c943b51a14f0a8
xor r10, r11
or r9, r10
xor r9, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
movabs r9, 0xcb491d1f1894f471
movabs r10, 0x34b6e2e0e76b0b8e
xor r9, r10
or r8, r9
movabs r9, 0x13367a3683972472
movabs r10, 0xecc985c97c68db8d
xor r9, r10
xor r8, r9
or rdx, r8
movabs r8, 0xd259b7b01de7c268
movabs r9, 0x2da6484fe2183d97
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xdbb4acd4b47fe35c
movabs r8, 0xdbb4acd4b47fe35c
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x17], cl
cmp eax, 0xce778e67
jb 0x14016369f
mov al, byte [rbp + 0x17]
test al, 1
jne 0x14016381d
jmp 0x140163837
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x38], rax
jmp 0x140163922
mov rax, qword [rbp + 8]
cmp rax, 0
jge 0x140163891
mov rcx, qword [rbp + 8]
movabs rdx, 0x3184009e915c9fb
movabs rax, 0x3184009e915c9fb
xor rdx, rax
movabs r8, 0x9c4c41101d90f543
movabs rax, 0xe3b3beefe26f0abc
xor r8, rax
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x38], rax
jmp 0x140163922
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x10], rcx
add rax, 8
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp], rax
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp], rax
jne 0x1401638b6
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x18]
mov rax, r8
add rax, rdx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x38], rax
jge 0x140163922
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x20]
mov cl, byte [rbp + 0x4b]
mov r9, qword [rbp + 0x38]
mov qword [rbp - 0x20], r9
mov byte [rax + r9 + 8], cl
mov rdx, r9
and rdx, 1
movabs rcx, 0x96c76bae86f2a4e0
movabs rax, 0x96c76bae86f2a4e1
xor rcx, rax
mov rax, r9
or rax, rcx
add rdx, rax
mov qword [rbp - 0x18], rdx
mov rax, r9
xor rax, 0xffffffffffffffff
movabs rcx, 0xb5c955c1f9417b4f
movabs r8, 0x41915a09d3a261d8
xor rcx, r8
and rcx, rax
movabs r8, 0x35dad8a5f0dd9131
movabs rax, 0xc182d76dda3e8ba6
xor r8, rax
movabs rax, 0xbcda6ecfb7b5b79f
movabs r10, 0x43259130484a4860
xor rax, r10
xor r8, rax
and r9, r8
movabs rax, 0x2cf4578a25930ba5
movabs r10, 0xd30ba875da6cf45a
xor rax, r10
movabs r10, 0xb41ef78e62f94615
movabs r11, 0x4be108719d06b9ea
xor r10, r11
xor rax, r10
movabs r10, 0xf4580fc82ae31a97
and rax, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rax, r8
xor rcx, rax
movabs r8, 0xe922a5add6b11b3b
movabs rax, 0x16dd5a52294ee4c4
xor r8, rax
mov rax, rdx
xor rax, r8
movabs r8, 0xab9015ee6f925087
movabs r9, 0x546fea11906daf78
xor r8, r9
xor rdx, r8
and rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x7878efcf8ff5e318
movabs r8, 0x87871030700a1ce7
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xcfe1476adea778bf
movabs rdx, 0xcfe1476adea778bf
xor rcx, rdx
cmp rax, rcx
jge 0x140163a9d
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x28], rax
jmp 0x140163aae
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x20]
mov byte [rcx + rax + 8], 0
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x30], rdx
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp - 0x30]
add rsp, 0x20
movabs rcx, 0x2403ed67f550d55c
movabs rdx, 0x2403ed67f550d55c
xor rcx, rdx
cmp rax, rcx
jle 0x140163df2
mov rcx, qword [rbp - 0x30]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x88d4742aff54ec13
movabs rdx, 0x88d4742aff54ec13
xor rcx, rdx
cmp rax, rcx
jge 0x140163b33
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140163df2
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x140163b65
mov rcx, qword [rbp - 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x140163df2
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp - 0x50], rcx
add rax, 8
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x74c7a7584f1f0242
movabs rax, 0xfdf3de81577ce4c
xor r8, rax
mov rax, rcx
sub rax, r8
add rax, 1
movabs r8, 0x7b84fbbdc4189684
movabs r9, 0x9c610d9e705a8a
xor r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rbp - 0x40], rax
jne 0x140163b8d
mov ecx, dword [0x1402b1188]
mov edx, dword [0x1402b118c]
xor edx, 0x8767d9aa
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x85acda39
mov ecx, 0xfaf55f78
xor ecx, 0xe605f478
add eax, ecx
mov ecx, eax
and ecx, 0xf271902e
shl ecx, 1
add eax, 0xf271902e
sub eax, ecx
cmp eax, 0x98591d8b
ja 0x14016428e
mov r9, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x60]
mov edx, dword [0x1402b1190]
mov r8d, dword [0x1402b1194]
xor r8d, 0xa5d1291e
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
imul edx, eax, 0x8e8b2dd6
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, 0x27f44006
add eax, edx
xor edx, edx
sub edx, eax
mov r8d, 0xffffffff
xor r8d, 0x55b54b1a
mov eax, edx
xor eax, r8d
and eax, edx
mov r8, qword [rcx]
xor ecx, ecx
sub rcx, r8
xor edx, edx
sub rdx, r9
add rcx, rdx
movabs rdx, 0x37594e26afaa9b21
movabs r10, 0x37594e26afaa9b21
xor rdx, r10
sub rdx, rcx
mov qword [rbp - 0x60], rdx
mov rcx, rdx
xor rcx, r8
mov r10, rdx
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x51], cl
cmp eax, 0xce086908
jae 0x140163c47
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140163d1a
jmp 0x140163de7
mov ecx, dword [0x1402b1198]
imul ecx, dword [0x1402b119c]
mov eax, 0x6edaa58d
xor eax, 0x91255a72
mov edx, ecx
xor edx, eax
mov eax, 0xdc97a40f
xor eax, 0xa2aed631
and eax, edx
mov edx, 0xffffffff
xor edx, 0x7e39723e
and ecx, edx
or eax, ecx
mov ecx, 0x6e7cb6e9
xor edx, edx
div ecx
xor eax, 0x36aa2511
cmp eax, 0xfcaad1df
je 0x140164297
mov eax, dword [0x1402b11a0]
xor eax, 0x23fb044c
mov ecx, dword [0x1402b11a4]
xor ecx, 0x633dde4c
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xd6da998a
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x8a724334
mov edx, 0x1c4e6220
xor edx, 0x963c2114
mov r8d, 0x980243dc
xor r8d, 0x67fdbc23
xor edx, r8d
and ecx, edx
or eax, ecx
sub eax, 0xdb1a264c
add eax, 0x332a47c7
add eax, 0xdb1a264c
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x8bfc959e
je 0x140163d69
jmp 0x140163df2
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140162320
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rax]
movabs rdx, 0x970f649e5924528f
movabs rax, 0x68f09b61a6dbad70
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xbd4c1ed0c79897e3
movabs r8, 0x42b3e12f3867681c
xor rdx, r8
xor rax, rdx
movabs rdx, 0x13a273b252576f59
movabs r8, 0xec5d8c4dada890a6
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401640c5
mov eax, dword [0x1402b11a8]
mov ecx, dword [0x1402b11ac]
xor ecx, 0x94ef7643
xor edx, edx
div ecx
imul eax, eax, 0x1dea6477
add eax, 0x27a3cc12
mov ecx, 0x67e253c7
xor ecx, 0x73a7d124
add eax, ecx
sub eax, 0x27a3cc12
mov edx, eax
and edx, 0x20d54cf8
mov ecx, 0xe48c640c
xor ecx, 0xe48c640e
imul ecx, edx
add eax, 0x20d54cf8
sub eax, ecx
cmp eax, 0xe9839502
jae 0x1401642a0
mov rcx, qword [rbp + 0x20]
mov edx, dword [0x1402b11b0]
xor edx, dword [0x1402b11b4]
mov eax, 0xf1291c67
xor eax, 0x72cbe2e4
or edx, eax
mov r8d, 0xffffffff
xor r8d, 0x1aa5d38b
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x376e447f
add eax, edx
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.14001a7c0
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp eax, 0x25e99bce
je 0x1401642a0
jmp 0x1401640c5
mov eax, dword [0x1402b11b8]
xor eax, 0x3463841c
xor edx, edx
div dword [0x1402b11bc]
mov r11d, eax
and r11d, 0x78dff11c
mov ecx, 0x3f24dfff
xor ecx, 0xc0db2000
mov eax, r11d
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xb6de8d0e
mov edx, 0xffffffff
xor edx, 0x1a5defbe
mov ecx, eax
and ecx, 0x1a5defbe
and r11d, edx
mov r9d, r8d
and r9d, 0x1a5defbe
mov r10d, 0xe7a17596
xor r10d, 0x517ff898
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x1a5defbe
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xda704429
xor edx, 0x6fda300d
mov r8d, 0x70cc3b87
xor r8d, 0x8f33c478
xor edx, r8d
or eax, edx
mov edx, 0xb5aa7424
and edx, 0xb5aa7424
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x4d353439
xor ecx, 0xb2cacbc6
xor eax, ecx
cmp eax, 0x40bf2bd1
ja 0x1401642a9
mov ecx, dword [0x1402b11c0]
or ecx, dword [0x1402b11c4]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xdb356030
mov edx, 0x7a5f7c8
xor edx, 0xdc9097f8
mov r8d, 0xf61b691c
xor r8d, 0x9e496e3
xor edx, r8d
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc5a9ba6b
add ecx, eax
mov eax, 0x48754674
xor eax, 0x48754674
sub eax, ecx
mov ecx, eax
xor ecx, 0x10efd901
mov edx, 0x6c33034
xor edx, 0xf93ccfcb
xor ecx, edx
mov edx, 0x931feb98
xor edx, 0x83f03299
or eax, edx
and eax, ecx
cmp eax, 0xd3283641
ja 0x140164043
jmp 0x14016427c
mov rax, qword [rbp + 0x78]
mov al, byte [rax]
cmp al, 0
je 0x140164197
jmp 0x14016427c
mov eax, dword [0x1402b11c8]
mov edx, dword [0x1402b11cc]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x7502e16c
xor ecx, 0x71178599
sub eax, ecx
mov ecx, 0x60fb9814
xor edx, edx
div ecx
mov ecx, 0x7457f0ee
xor edx, edx
div ecx
mov ecx, 0xd96bdc04
xor ecx, 0xcb711c00
cmp eax, ecx
jae 0x1401642b2
mov eax, dword [0x1402b11d0]
mov ecx, dword [0x1402b11d4]
xor ecx, 0xe2bc744f
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x1d6e69ad
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xb5647145
add eax, ecx
mov ecx, eax
xor ecx, 0xab3fcba0
mov edx, 0x6d7d2331
xor edx, 0xc642e891
mov r8d, 0x42067234
xor r8d, 0xbdf98dcb
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xd396794d
je 0x1401642b2
mov al, byte [rbp + 0x4e]
test al, 1
jne 0x14016427c
jmp 0x140164197
mov ecx, 0x625b
mov edx, 0x8ad6
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x78]
mov word [rbp - 0x6a], cx
cmp byte [rax], 0
jne 0x14016427c
mov rcx, qword [rbp + 0x60]
mov ax, word [rbp - 0x6a]
mov byte [rbp - 0x79], al
movabs rdx, 0xe29daf8ba1595796
movabs rax, 0xe29daf8ba1595797
xor rdx, rax
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x50]
mov r8b, byte [rbp - 0x79]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x78], rax
movabs rdx, 0x9fc70fd2d45363ea
movabs r8, 0x6038f02d2bac9c15
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x6c9f7c0d0def0d2b
movabs rdx, 0x6c9f7c0d0def0d2b
xor rcx, rdx
cmp rax, rcx
jge 0x140164265
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14016427c
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
lea rsp, [rbp + 0xb0]
pop rbp
ret
push 0xffffffffe95ca410
adc esp, esi
invalid
push 0x26
mov esp, ebp
jmp 0x140163c47
movabs al, byte [0xfffffac9e92deab3]
loopne 0x1401642d2
pop rax
adc eax, 0xfffc5ce9
invalid
stc
and al, 0xb2
invalid
mov cl, 0x52
mov ch, 0xa4
jmp 0x140164121
push rbp
xor byte [rax - 0x77], cl
cmp byte [r11 + 0x14cefa05], r9b
add byte [rbx], al
add eax, 0x14cef8
imul eax, eax, 0xbf24b87f
mov ecx, 0x1095b391
xor ecx, 0x2d68428
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb2abf0f7
xor edx, 0x60b281a
and edx, ecx
mov r8d, 0xfee53cd2
xor r8d, 0x4a45e43f
mov ecx, 0x891a9249
xor ecx, 0x76e56db6
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb4a0d8ed
or eax, 0xb4a0d8ed
imul eax, edx
add eax, ecx
cmp eax, 0x166a1027
je 0x140164985
mov ecx, dword [0x1402b11e0]
xor ecx, 0xc0299c02
mov eax, dword [0x1402b11e4]
and ecx, eax
or ecx, 0x32d223cd
mov edx, ecx
and edx, 0x67cb5bde
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx - 0x1834a422]
xor eax, 0xd44ac07e
mov dword [rbp + 0x28], eax
mov eax, 0x51e5c009
mov dword [rbp + 0x24], eax
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x18], rax
add rax, 0x60
mov qword [rbp + 0x10], rax
mov ecx, 0x5763
mov edx, 0xbfc8
sub rsp, 0x20
call fcn.14009026b
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rbp + 0x24]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x28]
mov word [rbp + 0x2c], r8w
cmp byte [rdx + 0x60], 0
sete dl
mov byte [rbp + 0x2f], dl
cmp eax, ecx
je 0x140164349
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x14016440c
jmp 0x14016497f
mov rcx, qword [rbp + 0x30]
mov ax, word [rbp + 0x2c]
mov byte [rbp - 9], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov r8b, byte [rbp - 9]
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp - 8], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
movabs rcx, 0xd4d4db8dcb7d9585
movabs rax, 0xd4d4db8dcb7d9584
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp], rax
mov rcx, rdx
and rcx, 0xffffffffffffffff
shl rcx, 1
add rdx, 0xffffffffffffffff
sub rdx, rcx
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs r8, 0xb6478e67fa9db5ea
xor rcx, r8
or rax, rdx
movabs rdx, 0xb6478e67fa9db5ea
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xa5d174ff79fa4
movabs rdx, 0xa5d174ff79fa4
xor rcx, rdx
cmp rax, rcx
jge 0x1401644e3
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401644fe
mov rcx, qword [rbp]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x30]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0xc5
xor dl, 0xc5
mov byte [rax + rcx + 8], dl
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
cmp rax, 0
jle 0x140164559
mov rax, qword [rbp + 0x38]
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rbp - 0x20], rax
jmp 0x140164589
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
add rax, 1
cmp rax, rcx
mov qword [rbp - 0x20], rax
jne 0x140164589
mov ecx, 0xae87
mov edx, 0x462a
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x32], cx
cmp byte [rax], 0
je 0x140164891
jmp 0x14016497f
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov rax, qword [rax]
add rax, 8
shl rcx, 4
add rax, rcx
movdqu xmm0, xmmword [rax]
movaps xmmword [rbp - 0x50], xmm0
mov ecx, 0x52
sub rsp, 0x20
call fcn.14008bb10
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x14016497f
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
cmp rax, rcx
jge 0x140164862
mov cx, 0x29b4
xor cx, 0x9ff6
mov dx, 0x1686
xor dx, 0x4818
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x52], cx
cmp byte [rax], 0
jne 0x14016497f
mov rcx, qword [rbp + 0x30]
mov ax, word [rbp - 0x52]
mov byte [rbp - 0x61], al
movabs rdx, 0x938cca2bac2f31c5
movabs rax, 0x938cca2bac2f31c4
xor rdx, rax
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp - 8]
mov r8b, byte [rbp - 0x61]
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rdx, 0xd4cc0736d2f09ef1
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0xd4cc0736d2f09ef1
sub rax, rdx
mov qword [rbp - 0x60], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0xafbef499b3cf7707
movabs r10, 0x50410b664c3088f8
xor r9, r10
movabs r10, 0x45b4aa5388a45f14
movabs r11, 0xba4b55ac775ba0eb
xor r10, r11
xor r9, r10
or r8, r9
and rcx, r8
movabs r8, 0xe1b33977e2d2a0f1
movabs r9, 0x1e4cc6881d2d5f0e
xor r8, r9
xor rcx, r8
and rdx, rcx
movabs rcx, 0x89f76716775fd5dd
movabs r8, 0x760898e988a02a22
xor rcx, r8
xor rdx, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x622bd5ca59b3f15e
movabs r8, 0x9dd42a35a64c0ea1
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xa62b33eca876fb69
xor rcx, r8
or rax, rdx
movabs rdx, 0xa62b33eca876fb69
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xcd7c406b24572b4d
movabs rdx, 0xcd7c406b24572b4d
xor rcx, rdx
cmp rax, rcx
jge 0x140164847
mov eax, dword [0x1402b11e8]
mov ecx, 0x39e31f78
xor ecx, 0xdaf6d778
xor eax, ecx
sub eax, dword [0x1402b11ec]
imul eax, eax, 0x3c1240f7
and eax, 0xcb23c7ad
xor eax, 0xd8e53f7f
cmp eax, 0x1b4f92e3
jb 0x14016498e
mov eax, dword [0x1402b11f0]
xor eax, 0x7c152052
xor edx, edx
div dword [0x1402b11f4]
mov ecx, 0x2593da53
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x95bb6164
xor eax, 0x6a449e9b
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xbe63c221
mov eax, 0xffffffff
xor eax, 0x607aaba1
or ecx, edx
or eax, 0x607aaba1
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0x351a733e
xor edx, 0xdd14a413
mov eax, 0xeb970766
xor eax, 0x1468f899
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp eax, 0xec7febb8
jae 0x1401647bc
jmp 0x140164862
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x30]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0x7d
xor dl, 0x7d
mov byte [rax + rcx + 8], dl
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 8]
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rcx], xmm0
sub rsp, 0x20
call fcn.140163430
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
je 0x140164540
jmp 0x14016497f
mov rcx, qword [rbp + 0x30]
mov ax, word [rbp - 0x32]
mov byte [rbp - 0x71], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp - 8]
mov r8b, byte [rbp - 0x71]
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov r9, qword [rax]
mov rax, r9
add rax, 1
mov qword [rbp - 0x70], rax
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0xe237aa1eaaa2ebb1
and rcx, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0xe237aa1eaaa2ebb1
xor r8, rdx
and r9, r8
movabs rdx, 0xafd243e7f64ae806
movabs r10, 0x502dbc1809b517f9
xor rdx, r10
movabs r10, 0xe60fa774801d28a4
movabs r11, 0x19f0588b7fe2d75b
xor r10, r11
xor rdx, r10
movabs r10, 0xe237aa1eaaa2ebb1
and rdx, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140164968
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14016497f
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x30]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
lea rsp, [rbp + 0x40]
pop rbp
ret
invalid
adc dword [rsi], eax
mov ecx, dword [rcx - 0x17]
and eax, 0x66fffffe
nop dword [rax + rax]
sub rsp, 0x10
mov qword [rsp + 8], rcx
mov eax, dword [0x1402b11f8]
mov ecx, 0xa22ea141
xor ecx, 0xc803e208
xor eax, ecx
mov edx, dword [0x1402b11fc]
xor ecx, ecx
sub ecx, eax
mov eax, 0x62beda24
xor eax, 0x62beda24
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0x1ce19ea6
or eax, 0xca3510f3
mov ecx, 0x88e20e7e
xor ecx, 0xeb054547
mov edx, 0x655d83b7
xor edx, 0x9aa27c48
xor ecx, edx
add eax, ecx
add eax, 1
cmp eax, 0xdd9edd84
ja 0x140164ace
mov rcx, qword [rsp + 8]
mov eax, dword [0x1402b1200]
sub eax, dword [0x1402b1204]
mov r8d, 0x75e9855b
xor r8d, 0x5c50839f
xor edx, edx
div r8d
mov edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x80cd4f67
mov r9d, 0xffffffff
xor r9d, 0x80cd4f67
mov eax, edx
and eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0x80cd4f67
or edx, 0x80cd4f67
imul edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x48ebd6c0
or r8d, 0x48ebd6c0
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x48ebd6c0
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
cmp qword [rcx], 0
sete cl
mov byte [rsp + 7], cl
cmp eax, 0x1c86d6b0
jbe 0x140164a0a
mov al, byte [rsp + 7]
and al, 1
movzx eax, al
add rsp, 0x10
ret
in eax, 0xfe
push 0x5e
jmp 0x140164a0a