Function at 0x14016c5e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x3c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x288], rdx
mov qword [rbp + 0x290], rcx
mov eax, 0x10
mov qword [rbp + 0x2a8], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x2a8]
mov rcx, rsp
mov qword [rbp + 0x298], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x2a8]
mov rcx, rsp
mov qword [rbp + 0x2a0], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x2a8]
mov rcx, rsp
mov qword [rbp + 0x2b0], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2b8], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp + 0x2c8], rax
add rax, 0x60
mov qword [rbp + 0x2c0], rax
mov ecx, 0xfa4c
mov edx, 0x9205
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c8]
mov word [rbp + 0x2d6], cx
cmp byte [rax + 0x60], 0
jne 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov ax, word [rbp + 0x2d6]
mov byte [rbp + 0x277], al
movabs rdx, 0x7f70e5b03047903d
movabs rax, 0x7f70e5b03047903c
xor rdx, rax
sub rsp, 0x20
call fcn.140037690
mov r8b, byte [rbp + 0x277]
mov rax, qword [rbp + 0x288]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x278], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
mov rax, rdx
add rax, 1
mov qword [rbp + 0x280], rax
mov r8, rdx
and r8, 0xffffffffffffffff
movabs rcx, 0xb30e533cf61131df
movabs r9, 0xb30e533cf61131dd
xor rcx, r9
imul rcx, r8
add rdx, 0xffffffffffffffff
sub rdx, rcx
movabs rcx, 0x3f96b79bf640c10b
movabs r8, 0xc069486409bf3ef4
xor rcx, r8
xor rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs r8, 0xf9b88a23d24f955
xor rcx, r8
or rax, rdx
movabs rdx, 0xf9b88a23d24f955
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14016c7c2
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016c7e2
mov rcx, qword [rbp + 0x280]
mov rax, qword [rbp + 0x278]
mov rdx, qword [rbp + 0x288]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov ecx, dword [0x14027bf18]
mov edx, dword [0x14027bf1c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc0e1a143
xor ecx, 0x3f1e5ebc
xor eax, ecx
mov ecx, eax
and ecx, 0x12a67e1
shl ecx, 1
mov edx, 0xb5d024e6
xor edx, 0xb4fa4307
add eax, edx
sub eax, ecx
sub eax, 0xd52710ce
mov ecx, 0x63cccbd2
xor ecx, 0xc258899f
xor edx, edx
div ecx
cmp eax, 0xa4b528f5
ja 0x14016fd64
mov ecx, dword [0x14027bf20]
xor ecx, 0x34c7faf0
mov r8d, dword [0x14027bf24]
mov eax, 0x17a99581
xor eax, 0x4f73ac2f
xor r8d, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x6d690752
xor eax, 0xffffffff
add ecx, 0x6d690752
add ecx, 1
add ecx, eax
add ecx, 0x7d273db4
mov eax, 0x2f075951
xor eax, 0x918f81b
sub ecx, eax
mov eax, 0x9f550678
xor eax, 0xe2723bcc
sub ecx, eax
mov edx, 0x3c017992
xor edx, 0xc3fe866d
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xe942535f
and eax, edx
mov edx, 0x6ec9cf66
xor edx, 0x878b9c39
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov dword [rbp + 0x270], eax
mov eax, 0x6b0c64de
xor eax, 0xc4ae3469
mov dword [rbp + 0x26c], eax
mov ecx, 0x3cb
sub rsp, 0x20
call fcn.140094e8b
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 0x26c]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x270]
mov byte [rbp + 0x275], r8b
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x276], dl
cmp eax, ecx
je 0x14016fd64
mov al, byte [rbp + 0x276]
test al, 1
jne 0x14016c96d
jmp 0x14016fd59
mov cx, 0x2fc1
xor cx, 0x2f8d
sub rsp, 0x20
call fcn.140094e8b
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2c0]
mov byte [rbp + 0x26b], cl
cmp byte [rax], 0
jne 0x14016fd59
mov eax, dword [0x14027bf28]
mov edx, dword [0x14027bf2c]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov edx, eax
and edx, 0x6ced99cd
mov ecx, 0xa6308678
xor ecx, 0xa630867a
imul ecx, edx
mov edx, 0x6044aefd
xor edx, 0xca93730
add eax, edx
sub eax, ecx
or eax, 0xa0574563
mov edx, 0xcc51aa39
xor edx, 0xf7a91562
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x3bf8bf5b
shl ecx, 1
sub ecx, 0x3bf8bf5b
sub eax, ecx
cmp eax, 0x4ef5caa9
jbe 0x14016fd6d
mov rcx, qword [rbp + 0x290]
mov edx, dword [0x14027bf30]
mov r8d, dword [0x14027bf34]
mov eax, 0x9ad8e2
xor eax, 0xdc9cc618
xor r8d, eax
mov eax, edx
or eax, r8d
mov r9d, 0x49d1c47a
xor r9d, 0xb62e3b85
xor eax, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov edx, 0xf3193e01
xor edx, 0xce6c1fe
xor eax, edx
mov r8d, 0x91daa26a
xor r8d, 0x46b49b51
xor edx, edx
div r8d
or eax, 0xc484a341
imul eax, eax, 0xaa5892be
mov rcx, qword [rcx]
mov qword [rbp + 0x260], rcx
cmp rcx, 0
setg cl
mov byte [rbp + 0x26a], cl
cmp eax, 0xfb604579
jae 0x14016ca15
mov cl, byte [rbp + 0x26a]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x250], rcx
mov qword [rbp + 0x258], rax
jne 0x14016caca
jmp 0x14016fa70
mov rcx, qword [rbp + 0x260]
mov rax, qword [rbp + 0x290]
add rax, 8
mov qword [rbp + 0x230], rax
xor eax, eax
mov qword [rbp + 0x238], rcx
mov rcx, rax
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x248], rax
mov al, byte [rbp + 0x275]
mov rcx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x238]
mov rdx, qword [rbp + 0x240]
mov r9, qword [rbp + 0x248]
mov qword [rbp + 0x208], r9
mov qword [rbp + 0x210], rdx
mov qword [rbp + 0x218], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x220], rcx
mov cl, byte [rcx + rdx + 8]
mov byte [rbp + 0x22b], cl
movzx edx, cl
mov dword [rbp + 0x22c], edx
cmp al, cl
ja 0x14016cef6
mov r8, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x220]
add rcx, 8
sub rsp, 0x20
call fcn.14016b880
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x1f8], rcx
mov dword [rbp + 0x204], ecx
cmp byte [rax], 0
jne 0x14016fd59
mov rax, qword [rbp + 0x1f8]
xor rax, 0xffffffffffffffff
movabs rdx, 0x858bda604722e6df
movabs rcx, 0x858bda614722e6df
xor rdx, rcx
movabs rcx, 0x2b6d501438071b4f
movabs r8, 0xd492afebc7f8e4b0
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x24e1f5cffc536a4a
xor rcx, r8
or rax, rdx
movabs rdx, 0x24e1f5cffc536a4a
or rcx, rdx
movabs rdx, 0xae7d214aaeffc341
movabs r8, 0x5182deb551003cbe
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
je 0x14016cd84
mov ecx, dword [rbp + 0x204]
mov eax, 1
cmp ecx, 0x80
mov qword [rbp + 0x1f0], rax
jb 0x14016cd32
mov ecx, dword [rbp + 0x204]
mov eax, 2
cmp ecx, 0x800
mov qword [rbp + 0x1f0], rax
jb 0x14016cd32
mov eax, dword [0x14027bf38]
and eax, dword [0x14027bf3c]
sub eax, 0x986c996a
mov ecx, 0x12ea7293
xor edx, edx
div ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7e0c3810
mov edx, 0xffffffff
xor edx, 0x7e0c3810
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3400a75c
xor ecx, 0x8fa82cef
cmp eax, ecx
je 0x14016fd76
mov r9d, dword [rbp + 0x204]
mov eax, dword [0x14027bf40]
mov ecx, dword [0x14027bf44]
sub eax, 0xcd509fd1
sub eax, ecx
add eax, 0xcd509fd1
xor eax, 0x22f11fb1
mov ecx, 0xe1c946a7
xor ecx, 0x7cc08ef1
add eax, ecx
xor ecx, ecx
sub ecx, 0xd8b482a1
sub eax, ecx
mov ecx, 0xc883cc7f
xor ecx, 0x75e8dd75
mov edx, 4
mov r8d, 3
cmp r9d, 0x10000
cmovb rdx, r8
mov qword [rbp + 0x1e8], rdx
cmp eax, ecx
je 0x14016ccb4
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x1f0], rax
jmp 0x14016cd32
mov rax, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x1f0]
movabs r8, 0xf146f9aa12d6d64c
sub rcx, r8
add rcx, rdx
movabs rdx, 0x88811a2490ea3d7a
movabs r8, 0x79c7e38e823ceb36
xor rdx, r8
add rcx, rdx
mov qword [rbp + 0x1d8], rcx
mov qword [rbp + 0x1e0], rax
jmp 0x14016fa26
mov eax, dword [0x14027bf48]
mov r8d, dword [0x14027bf4c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xb44cc752
xor r9d, 0x4bb338ad
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4b1c9d77
xor edx, edx
div ecx
mov ecx, 0x4651335d
xor ecx, 0xfb6da7e7
xor edx, edx
div ecx
or eax, 0xffd27e64
cmp eax, 0xc54a07f1
jbe 0x14016fd7f
mov ecx, dword [0x14027bf50]
mov edx, dword [0x14027bf54]
mov eax, 0x836b5e05
xor eax, 0x7c94a1fa
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0xea1c7212
xor edx, 0xcf12dbff
mov ecx, eax
xor ecx, edx
mov edx, 0x26fba664
xor edx, 0xd904599b
xor ecx, edx
and ecx, 0x250ea9ed
shl ecx, 1
sub ecx, 0x250ea9ed
sub eax, ecx
mov ecx, 0xeadb1f36
xor ecx, 0xa60bcb81
xor eax, ecx
mov ecx, 0xc6388e36
xor ecx, 0x41f2e831
and eax, ecx
mov dword [rbp + 0x1d4], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cfb0]
mov qword [rcx], rax
lea rax, [0x14028a9c0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a9d0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a9d8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x54f5d0e15b1490cb
movabs rdx, 0x54f5d0e16d8ee519
xor rax, rdx
lea rdx, [0x14028a9c0]
lea r8, [0x14028a9e0]
lea r9, [0x14028a9e7]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140028fa8
mov eax, dword [rbp + 0x1d4]
add rsp, 0x30
cmp eax, 0x26e144c9
jb 0x14016cdea
jmp 0x14016fd59
mov rax, qword [rbp + 0x210]
mov cl, byte [rbp + 0x26b]
mov dl, byte [rbp + 0x22b]
cmp cl, dl
mov qword [rbp + 0x1c8], rax
ja 0x14016d084
mov ecx, 0x23ed
mov edx, 0x4ba4
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x1c6], cx
cmp byte [rax], 0
jne 0x14016fd59
mov rax, qword [rbp + 0x210]
mov cl, byte [rbp + 0x22b]
mov dx, word [rbp + 0x1c6]
cmp cl, dl
mov qword [rbp + 0x1c8], rax
je 0x14016d084
mov ecx, 0xd0bd
mov edx, 0xb88a
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x1c4], cx
mov al, byte [rax]
mov cl, 0xc5
xor cl, 0xc5
cmp al, cl
jne 0x14016fd59
mov rax, qword [rbp + 0x210]
mov cl, byte [rbp + 0x22b]
mov dx, word [rbp + 0x1c4]
cmp cl, dl
mov qword [rbp + 0x1c8], rax
je 0x14016d084
mov ecx, 0x8627
mov edx, 0xee33
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x1c2], cx
cmp byte [rax], 0
jne 0x14016fd59
mov rax, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x210]
mov dl, byte [rbp + 0x22b]
mov r8w, word [rbp + 0x1c2]
sub dl, r8b
setne dl
mov r8b, dl
and r8b, 1
movzx r8d, r8b
mov r9d, r8d
movabs r8, 0x92b8172a5906c665
movabs r10, 0x92b8172a5906c665
xor r8, r10
sub r8, rcx
xor ecx, ecx
sub rcx, r9
add r8, rcx
movabs rcx, 0x21d08357c05ce090
movabs r9, 0x21d08357c05ce090
xor rcx, r9
sub rcx, r8
test dl, 1
mov rdx, rcx
mov qword [rbp + 0x1c8], rdx
mov qword [rbp + 0x1d8], rcx
mov qword [rbp + 0x1e0], rax
jne 0x14016fa26
mov rdx, qword [rbp + 0x208]
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x1b0], rax
xor ecx, ecx
sub rcx, rdx
add rax, rcx
mov qword [rbp + 0x1b8], rax
cmp rax, 0
jle 0x14016d167
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x230]
mov rdx, qword [rdx]
mov qword [rbp + 0x190], rdx
mov rdx, qword [rcx]
mov qword [rbp + 0x188], rdx
add rdx, rax
sub rsp, 0x20
call fcn.14002bfc0
mov rdx, qword [rbp + 0x278]
mov r8, qword [rbp + 0x188]
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x208]
add rsp, 0x20
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov qword [rbp + 0x198], rdx
add rax, 8
add rax, rcx
mov qword [rbp + 0x1a0], rax
xor eax, eax
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x198]
mov r8, qword [rbp + 0x1a0]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
add rax, 1
cmp rax, rcx
mov qword [rbp + 0x1a8], rax
jne 0x14016d12f
mov rax, qword [rbp + 0x2c0]
cmp byte [rax], 0
jne 0x14016fd59
mov ecx, dword [0x14027bf58]
xor ecx, 0x422b443c
mov edx, dword [0x14027bf5c]
mov eax, 0x305c5b1c
xor eax, 0xcfa3a4e3
xor ecx, eax
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0x72c6a6e
or ecx, edx
or eax, 0x72c6a6e
xor ecx, 0xffffffff
and ecx, eax
mov eax, 0xffffffff
xor eax, 0x6eeeb28d
add ecx, eax
mov eax, 0xc57536ef
xor eax, 0xc57536ee
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x30ef8191
xor edx, 0xb7abec6d
mov r8d, 0x7b13cd2
xor r8d, 0xf84ec32d
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x87446dfc
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, 0x22b54ad4
xor edx, 0x22b54ad5
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x721ffa4
add eax, ecx
cmp eax, 0xeac551ab
jae 0x14016fd88
mov eax, dword [0x14027bf60]
and eax, dword [0x14027bf64]
mov ecx, 0xe0e486d7
xor ecx, 0x89d6546e
xor edx, edx
div ecx
xor eax, 0xc6b74778
add eax, 0xcba74d90
mov dword [rbp + 0x180], eax
mov eax, 0xd7f27566
xor eax, 0x8b954a1
mov dword [rbp + 0x17c], eax
mov ecx, 0x2972
mov edx, 0x413b
sub rsp, 0x20
call fcn.1400993fb
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 0x17c]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x180]
mov word [rbp + 0x184], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x187], dl
cmp eax, ecx
ja 0x14016fd88
mov al, byte [rbp + 0x187]
test al, 1
jne 0x14016d2b9
jmp 0x14016dceb
mov eax, dword [0x14027bf68]
mov ecx, dword [0x14027bf6c]
mov r11d, eax
or r11d, ecx
xor r11d, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
xor r11d, 0xffffffff
xor eax, 0xffffffff
and r11d, eax
mov eax, 0x6e4777cb
xor eax, 0x76aaf250
add r11d, eax
mov eax, 0x54ed66d3
xor eax, 0xab12992c
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xf2706275
mov edx, 0xffffffff
xor edx, 0x57e63092
mov eax, ecx
and eax, 0x57e63092
and r11d, edx
mov r10d, 0x2692207a
xor r10d, 0x717410e8
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0xf2706275
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x57e63092
and ecx, edx
or eax, ecx
mov ecx, 0x4cc58e24
xor edx, edx
div ecx
mov ecx, 0xf43e048b
xor ecx, 0x48fb7210
cmp eax, ecx
jae 0x14016fd91
mov cl, byte [rbp + 0x22b]
mov dx, word [rbp + 0x184]
mov r10d, dword [0x14027bf70]
mov r8d, dword [0x14027bf74]
mov eax, r10d
xor eax, r8d
xor eax, 0xffffffff
or r10d, r8d
and r10d, eax
sub r10d, 0x819a2718
mov r8d, 0x39ffdc0e
xor r8d, 0xc60023f1
mov eax, r10d
xor eax, r8d
and eax, 0x5ae41832
mov r9d, 0xffffffff
xor r9d, 0x5ae41832
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x4c238594
and r8d, 0x5ae41832
and r9d, 0x4c238594
or eax, r10d
or r8d, r9d
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x93dd1651
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
cmp cl, dl
sete cl
mov byte [rbp + 0x17b], cl
cmp eax, 0x18e3091b
jb 0x14016fd91
mov al, byte [rbp + 0x17b]
test al, 1
jne 0x14016d582
jmp 0x14016d42e
mov eax, dword [0x14027bf78]
mov ecx, 0x9df27ce4
xor ecx, 0x72e14c1d
xor eax, ecx
xor eax, dword [0x14027bf7c]
mov ecx, 0xffffffff
xor ecx, 0x3901ae30
add eax, ecx
mov ecx, 0xa51179ca
xor ecx, 0xa51179cb
add eax, ecx
mov edx, 0x3ff81cf9
xor edx, 0xb12bcc30
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x8ed3d0c9
shl ecx, 1
sub ecx, 0x8ed3d0c9
sub eax, ecx
mov ecx, 0x2d05493f
xor edx, edx
div ecx
cmp eax, 0x1e0434a8
ja 0x14016fd9a
mov eax, dword [0x14027bf80]
mov r8d, dword [0x14027bf84]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x3dce4c8b
xor ecx, 0x5535749a
imul eax, ecx
and eax, 0x3eb31bd7
mov ecx, 0xffffffff
xor ecx, 0x8ff6058
mov edx, 0x362bbeeb
xor edx, 0x362bbeeb
mov r8d, 0x6488f815
xor r8d, 0x6488f814
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov dword [rbp + 0x174], eax
mov eax, 0x5e266ab9
xor eax, 0xab2f6291
mov dword [rbp + 0x170], eax
mov ecx, 0x1d60
mov edx, 0x7557
sub rsp, 0x20
call fcn.1400993fb
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 0x170]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x174]
mov word [rbp + 0x178], r8w
mov dl, byte [rdx]
mov r8b, 0x68
xor r8b, 0x68
cmp dl, r8b
sete dl
mov byte [rbp + 0x17a], dl
cmp eax, ecx
je 0x14016d498
mov al, byte [rbp + 0x17a]
test al, 1
jne 0x14016ddef
jmp 0x14016e3d8
mov rcx, qword [rbp + 0x298]
mov word [rcx], 0x288
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x168], rcx
cmp byte [rax], 0
je 0x14016d5ba
jmp 0x14016fd59
mov ecx, dword [0x14027bf88]
mov edx, dword [0x14027bf8c]
mov eax, 0x4659c375
xor eax, 0xb9a63c8a
xor ecx, eax
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0x161edb02
or ecx, edx
or eax, 0x161edb02
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x5dcea099
and ecx, 0x5dcea099
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
and ecx, 0x9ffcebe9
xor ecx, 0xffffffff
mov edx, 0x85cbb2cb
xor edx, 0x1a375922
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x15081e24
cmp eax, 0x23f6f019
je 0x14016fda3
mov rcx, qword [rbp + 0x288]
mov eax, dword [0x14027bf90]
mov edx, 0x9b8e5d43
xor edx, 0xf6290916
xor eax, edx
xor edx, edx
div dword [0x14027bf94]
mov r8d, eax
mov rax, qword [rbp + 0x168]
mov r9d, 0xcbfdcb4e
xor r9d, 0x340234b1
mov edx, r8d
xor edx, r9d
and edx, 0x475e73e0
mov r9d, 0xffffffff
xor r9d, 0x475e73e0
and r8d, r9d
or edx, r8d
mov r8d, 0xa23d8e7
xor r8d, 0x24210a62
imul edx, r8d
mov r9d, 0xffffffff
xor r9d, 0xa60efefb
mov r8d, edx
and r8d, r9d
mov r9d, edx
xor r9d, 0xa60efefb
add edx, r9d
sub edx, r8d
mov dword [rbp + 0x14c], edx
mov edx, 0x1676f380
xor edx, 0x7837cf
mov dword [rbp + 0x148], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov r8, qword [rbp + 0x168]
mov ecx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp + 0x150], rdx
mov r8, qword [r8 + 8]
mov qword [rbp + 0x158], r8
movabs r8, 0xdb911de97357e004
movabs r9, 0xdb911de97357e004
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rbp + 0x167], dl
cmp eax, ecx
jb 0x14016fda3
mov al, byte [rbp + 0x167]
test al, 1
jne 0x14016d751
jmp 0x14016dce6
mov eax, dword [0x14027bf98]
xor edx, edx
div dword [0x14027bf9c]
mov ecx, 0x7549c385
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x7aefe20b
mov edx, 0x27bf2921
xor edx, 0x50bc8bbe
mov eax, ecx
and eax, edx
mov edx, 0x9ce09f60
xor edx, 0xebe33dff
or ecx, edx
add eax, ecx
cmp eax, 0xdc189507
jb 0x14016fdac
mov r9, qword [rbp + 0x150]
mov esi, dword [0x14027bfa0]
or esi, dword [0x14027bfa4]
or esi, 0x4176c6ae
mov ecx, esi
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x164efce4
mov edx, 0x94278be0
xor edx, 0xfc346fb4
mov eax, 0x78a0ab98
xor eax, 0x875f5467
xor edx, eax
mov eax, ecx
and eax, 0x6813e454
and esi, edx
mov r10d, r8d
and r10d, 0x6813e454
mov r11d, edx
and r11d, 0x164efce4
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x6813e454
and ecx, edx
or eax, ecx
mov ecx, 0xe79d57ab
xor edx, edx
div ecx
mov ecx, 0xa4986be1
xor ecx, 0x5dfc5c9f
movabs r8, 0xe52bd06956759f72
movabs rdx, 0xe52bd06956759f73
xor r8, rdx
mov rdx, r9
add rdx, r8
mov qword [rbp + 0x138], rdx
mov r8, r9
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs r10, 0x4635858f6c1baa92
movabs r11, 0xb9ca7a7093e4556d
xor r10, r11
movabs r11, 0x6865f9a8de192c06
movabs rsi, 0x979a065721e6d3f9
xor r11, rsi
xor r10, r11
and r9, r10
or r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp + 0x147], dl
cmp eax, ecx
je 0x14016fdac
mov al, byte [rbp + 0x147]
test al, 1
jne 0x14016d8b5
jmp 0x14016d8c7
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016dce6
mov ecx, dword [0x14027bfa8]
mov edx, dword [0x14027bfac]
mov r8d, 0xaadc78df
xor r8d, 0x55238720
mov eax, ecx
xor eax, r8d
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov edx, 0xbae82486
xor edx, 0x4517db79
mov eax, ecx
xor eax, edx
mov r8d, 0x209abf86
xor r8d, 0xdf654079
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc99f6b96
or eax, edx
mov edx, 0x91608e38
xor edx, 0x58ffe5ae
mov r8d, 0x14de8d32
xor r8d, 0xdd41e6a4
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0xffffffff
xor edx, 0x1af81fb7
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x1af81fb7
add eax, edx
sub eax, ecx
mov ecx, 0x9b7cc295
xor edx, edx
div ecx
mov ecx, 0x233b3351
xor ecx, 0x478ec57a
cmp eax, ecx
ja 0x14016fdb5
mov rcx, qword [rbp + 0x138]
mov edx, dword [0x14027bfb0]
mov r8d, dword [0x14027bfb4]
xor r8d, 0x8031cfe5
mov eax, edx
and eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor edx, edx
sub edx, 0xb010abde
add eax, edx
mov edx, 0x8eccb277
xor edx, 0x457c040f
imul eax, edx
imul eax, eax, 0xf33a0804
cmp rcx, 0
setl cl
mov byte [rbp + 0x137], cl
cmp eax, 0x69bfb60a
jae 0x14016d986
mov al, byte [rbp + 0x137]
test al, 1
jne 0x14016da04
jmp 0x14016da2b
mov rcx, qword [rbp + 0x138]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14001a720
add rsp, 0x20
jmp 0x14016dce6
mov rax, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x278]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x118], rcx
add rax, 8
mov qword [rbp + 0x120], rax
xor eax, eax
mov qword [rbp + 0x128], rax
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x118]
mov r8, qword [rbp + 0x120]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x493fc0bc2b0a6ff
movabs rax, 0xb1b136680645adf6
xor r8, rax
mov rax, rcx
sub rax, r8
add rax, 1
movabs r8, 0x71fc099d184ef58
movabs r9, 0xb23d0afa1571e451
xor r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x128], rax
jne 0x14016da65
mov r9, qword [rbp + 0x150]
mov rax, qword [rbp + 0x288]
mov r8, qword [rax]
mov rax, r8
add rax, r9
mov qword [rbp + 0x110], rax
movabs rcx, 0x7883ef2623bb684e
movabs rdx, 0x877c10d9dc4497b1
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
movabs rdx, 0x1e666beff1a8f85a
movabs r10, 0xe19994100e5707a5
xor rdx, r10
xor r8, rdx
mov rdx, rax
and rdx, r8
or rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r10, 0x9a4d37c71828a770
movabs r8, 0x65b2c838e7d7588f
xor r10, r8
mov r8, rax
xor r8, r10
or rdx, r8
movabs r8, 0x838dc82446661e81
movabs r10, 0x7c7237dbb999e17e
xor r8, r10
xor rdx, r8
mov r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r10, 0x9baa438a31385602
movabs r8, 0x6455bc75cec7a9fd
xor r10, r8
mov r8, r9
xor r8, r10
movabs r10, 0xeedfabb06d5858d2
movabs r11, 0x1120544f92a7a72d
xor r10, r11
xor r9, r10
or r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
and rdx, rax
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14016dbf8
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016dce6
mov eax, dword [0x14027bfb8]
mov r8d, dword [0x14027bfbc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0x581fd999
mov ecx, 0xe262379
xor ecx, 0xf1d9dc86
xor edx, ecx
and edx, 0x581fd999
mov ecx, 0x9ffe17fc
xor ecx, 0x9ffe17fe
imul ecx, edx
sub ecx, 0x581fd999
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xa388f4fd
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xda2df7f3
xor r8d, 0x79a5030e
mov edx, eax
and edx, r8d
or eax, 0xa388f4fd
imul eax, edx
add eax, ecx
mov ecx, 0x77a78b00
xor edx, edx
div ecx
cmp eax, 0x34de28ed
je 0x14016fdbe
mov rcx, qword [rbp + 0x288]
mov eax, dword [0x14027bfc0]
xor edx, edx
div dword [0x14027bfc4]
mov rdx, qword [rbp + 0x110]
and eax, 0x10a2aa2c
xor eax, 0x74081427
imul eax, eax, 0xfdd2dd0c
mov qword [rcx], rdx
cmp eax, 0xd1b17357
jae 0x14016dca7
jmp 0x14016dce6
jmp 0x14016f9e3
mov eax, dword [0x14027bfc8]
mov r8d, dword [0x14027bfcc]
mov ecx, 0x2b65bb73
xor ecx, 0xd49a448c
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xd65bd036
xor ecx, 0x91d9ff4e
xor eax, ecx
mov ecx, 0x3469e16b
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0xf031d6ab
mov edx, 0xcf2d38f9
xor edx, 0x30d2c706
xor eax, edx
mov edx, 0x816e1eaa
xor edx, 0x7e91e155
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xf031d6ab
and ecx, edx
or eax, ecx
mov ecx, 0xb98980e0
xor ecx, 0x46767f1f
xor eax, ecx
cmp eax, 0x45e373af
jbe 0x14016fdc7
mov eax, dword [0x14027bfd0]
xor eax, 0x8b9f4a0e
xor edx, edx
div dword [0x14027bfd4]
mov r8d, eax
add r8d, 0xdc7c6084
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa3e9f7a2
mov edx, 0xffffffff
xor edx, 0xa3e9f7a2
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xf6c1b73f
and ecx, 0xa3e9f7a2
and edx, 0xf6c1b73f
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0x56eed610
cmp eax, 0x83f2dfdf
je 0x14016fdc7
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0x178]
cmp al, cl
je 0x14016de3a
mov ecx, 0x6c83
mov edx, 0x4e0
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x10e], cx
cmp byte [rax], 0
je 0x14016e534
jmp 0x14016f08b
mov eax, dword [0x14027bfd8]
xor eax, dword [0x14027bfdc]
mov ecx, 0x604f75c4
xor edx, edx
div ecx
add eax, 0x37d21cd7
mov edx, eax
xor edx, 0xffffffff
and edx, 0x54c16545
mov r8d, 0x971b45f4
xor r8d, 0xc3da20b1
mov ecx, 0x21f42d79
xor ecx, 0xde0bd286
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x54c16545
mov r8d, 0xc465f5e3
xor r8d, 0x90a490a6
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x87c2002c
ja 0x14016fdd0
mov eax, dword [0x14027bfe0]
xor eax, 0xc6cc8b33
mov edx, dword [str.5z_v]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x9dfad845
xor ecx, 0xe8ccad9f
xor eax, ecx
mov ecx, 0x660d3771
xor ecx, 0xca4f4db3
add eax, ecx
mov ecx, 0x408e69fa
xor ecx, 0x53015a5e
xor edx, edx
div ecx
mov dword [rbp + 0xfc], eax
mov eax, 0xad3ead51
xor eax, 0x92c735e2
mov dword [rbp + 0xf8], eax
mov word [rbp + 0x33e], 0x138
lea rcx, [rbp + 0x33e]
sub rsp, 0x20
call fcn.140093f60
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 0xf8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xfc]
mov qword [rbp + 0x100], r8
mov dl, byte [rdx]
mov r8b, 0xff
xor r8b, 0xff
cmp dl, r8b
sete dl
mov byte [rbp + 0x10d], dl
cmp eax, ecx
je 0x14016fdd0
mov al, byte [rbp + 0x10d]
test al, 1
jne 0x14016df7f
jmp 0x14016df7a
jmp 0x14016fd59
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0xe8], rax
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xf0], rcx
cmp rax, 0
jle 0x14016e3d3
mov r9, qword [rbp + 0xe8]
movabs rcx, 0xe2434863c29819d7
movabs rax, 0xe2434863c29819d6
xor rcx, rax
mov rax, r9
add rax, rcx
mov qword [rbp + 0xe0], rax
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0xd7d2378038dbb4ea
and rdx, rcx
mov r10, 0xffffffffffffffff
movabs rcx, 0xd7d2378038dbb4ea
xor r10, rcx
and r9, r10
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xf5166dc78cd0b0c8
movabs r11, 0x22c45a47b40b0422
xor r8, r11
and rcx, r8
movabs r8, 0xeea231b63ac3362f
movabs r11, 0x115dce49c53cc9d0
xor r8, r11
and r8, r10
or rdx, r9
or rcx, r8
xor rdx, rcx
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14016e099
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016e3d3
mov eax, dword [0x14027bfe8]
xor eax, dword [0x14027bfec]
mov ecx, 0xdbcd1d71
xor ecx, 0xde6547cd
add eax, ecx
mov ecx, 0x5973f43
xor ecx, 0x2fcc6b13
or eax, ecx
and eax, 0x59bd9d7
cmp eax, 0xe64bf3cd
ja 0x14016fdd9
mov rcx, qword [rbp + 0xe0]
mov eax, dword [0x14027bff0]
xor eax, dword [0x14027bff4]
mov r8d, 0xcf6efe3e
xor edx, edx
div r8d
mov edx, 0x8af264d7
xor edx, 0x84e3d42d
add eax, edx
mov edx, 0xff46c618
xor edx, 0x2f3c5d34
or eax, edx
cmp rcx, 0
setl cl
mov byte [rbp + 0xdf], cl
cmp eax, 0x7d9dedbb
jb 0x14016fdd9
mov al, byte [rbp + 0xdf]
test al, 1
jne 0x14016e132
jmp 0x14016e2f1
mov eax, dword [0x14027bff8]
mov edx, dword [0x14027bffc]
xor edx, 0x4fe57a18
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xc0ef8e6f
shl ecx, 1
xor eax, 0xc0ef8e6f
add eax, ecx
imul eax, eax, 0xc5c479ac
and eax, 0xe73a3f6
cmp eax, 0x71497a7a
jae 0x14016fde2
mov rcx, qword [rbp + 0xe0]
mov esi, dword [0x14027c000]
mov eax, 0x5ddaea05
xor eax, 0xdb574e73
xor esi, eax
mov r11d, dword [0x14027c004]
mov eax, esi
xor eax, 0xffffffff
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xafe11772
mov r10d, 0xfa2a89a6
xor r10d, 0x55cb9ed4
mov edx, eax
and edx, r10d
and esi, r9d
mov edi, 0x690bb677
xor edi, 0xc6eaa105
mov r10d, r8d
and r10d, edi
and r11d, r9d
or edx, esi
or r10d, r11d
xor edx, r10d
or eax, r8d
mov r8d, 0xe7142474
xor r8d, 0x18ebdb8b
xor eax, r8d
mov r8d, 0x4a199c9b
xor r8d, 0xe5f88be9
or r8d, r9d
and eax, r8d
or edx, eax
and edx, edx
mov eax, 0xe3b7d5
xor eax, 0xff1c482a
xor edx, eax
mov eax, 0xffffffff
xor eax, 0xe19c5eae
mov r8d, 0xffffffff
xor r8d, 0xe19c5eae
or eax, r8d
mov r8d, 0x4420c9
xor r8d, 0xffbbdf36
xor edx, r8d
xor eax, 0xffffffff
or edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xeda0af22
mov r9d, 0xffffffff
xor r9d, 0xeda0af22
mov eax, edx
and eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0xeda0af22
or edx, 0xeda0af22
imul edx, r8d
add edx, eax
mov r8d, 0xb28a80b5
xor r8d, 0xef056d8e
mov eax, edx
and eax, r8d
xor edx, 0x5d8fed3b
or eax, edx
mov dword [rbp + 0xd8], eax
movabs rdx, 0xc5cc51ae77c5ec5f
movabs rax, 0xc5cc51ae77c5ec5f
xor rdx, rax
movabs r8, 0xb354e8bbee1d805a
movabs rax, 0xccab174411e27fa5
xor r8, rax
sub rsp, 0x20
call fcn.14001a720
mov eax, dword [rbp + 0xd8]
add rsp, 0x20
cmp eax, 0x105325e0
jb 0x14016fde2
jmp 0x14016e3d3
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x278]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0xc0], rcx
add rax, 8
mov qword [rbp + 0xc8], rax
xor eax, eax
mov qword [rbp + 0xd0], rax
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x52fedda1dc9d756e
movabs rax, 0x52fedda1dc9d756f
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0xd0], rax
jne 0x14016e32b
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x288]
mov r8, qword [rax]
mov rcx, r8
add rcx, rdx
mov qword [rbp + 0xb8], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016e3c2
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016e3d3
mov rax, qword [rbp + 0x288]
mov rcx, qword [rbp + 0xb8]
mov qword [rax], rcx
jmp 0x14016f9e3
mov ecx, dword [0x14027c008]
xor ecx, 0xc29cb14e
mov edx, dword [0x14027c00c]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov r11d, eax
and r11d, 0x10f233d5
mov ecx, 0x20239957
xor ecx, 0xdfdc66a8
xor r11d, ecx
and eax, 0x10f233d5
xor eax, 0xffffffff
xor r11d, 0xffffffff
xor eax, 0xffffffff
or r11d, eax
mov eax, 0x1988e887
xor eax, 0xda9ed5c6
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xad929f03
xor r8d, 0x2abc86b0
mov eax, 0x17e77543
xor eax, 0xe8188abc
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x23d680af
mov eax, ecx
and eax, 0x23d680af
and r11d, edx
mov r10d, 0xdf6c8278
xor r10d, 0xfcba02d7
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x872e19b3
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x73349469
xor r8d, 0x8ccb6b96
xor ecx, r8d
or edx, 0x23d680af
and ecx, edx
or eax, ecx
mov ecx, 0x317462c6
xor ecx, 0xa2d0b868
cmp eax, ecx
je 0x14016fdeb
mov ecx, dword [0x14027c010]
mov eax, 0xabba1236
xor eax, 0xe8eb77d4
xor ecx, eax
add ecx, dword [0x14027c014]
mov r8d, 0xffffffff
xor r8d, 0xdf025c13
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xdf025c13
mov r8d, 0x529e42c0
xor r8d, 0x8d9c1ed3
or ecx, r8d
imul ecx, edx
add ecx, eax
and ecx, 0x29fcfa15
mov edx, 0x7abf201b
xor edx, 0x67aabd01
mov eax, ecx
and eax, edx
xor ecx, 0x1d159d1a
or eax, ecx
cmp eax, 0x4d238846
ja 0x14016e4b5
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0x10e]
cmp al, cl
je 0x14016e57f
mov ecx, 0x428d
mov edx, 0x2aea
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0xb6], cx
cmp byte [rax], 0
je 0x14016f090
jmp 0x14016f2ef
mov ecx, dword [0x14027c018]
mov r8d, dword [0x14027c01c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, 0x41cac320
xor edx, 0x578fc0b0
mov eax, 0xd5240549
xor eax, 0x2adbfab6
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0xb9179188
mov ecx, 0x21864388
xor edx, edx
div ecx
cmp eax, 0x9927dbb5
jae 0x14016fdf4
mov eax, dword [0x14027c020]
xor eax, 0x4c46326f
mov ecx, dword [0x14027c024]
mov edx, 0x7ee66177
xor edx, 0xb18df32a
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x28bfc01e
xor ecx, 0x2ec06b99
or eax, ecx
mov ecx, 0xaba5ea2a
xor ecx, 0x8758890a
add eax, ecx
add eax, 0xdf7b0422
sub eax, 0x2cfd6320
mov ecx, 0x1a115e03
xor ecx, 0x7e46fdc1
xor eax, ecx
mov dword [rbp + 0xa4], eax
mov word [rbp + 0x33c], 0xd9
lea rcx, [rbp + 0x33c]
sub rsp, 0x20
call fcn.140093f60
mov rcx, qword [rbp + 0x2c0]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xa4]
mov qword [rbp + 0xa8], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xb5], cl
cmp eax, 0xf6951189
jae 0x14016e5e9
mov al, byte [rbp + 0xb5]
test al, 1
jne 0x14016e7d9
jmp 0x14016e6a0
mov eax, dword [0x14027c028]
mov r8d, dword [0x14027c02c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x9458a8cb
xor ecx, 0xf936e231
sub eax, ecx
mov ecx, 0x4d10848
xor ecx, 0xafe2fe03
add eax, ecx
mov ecx, 0x329e80db
xor ecx, 0x5ff0ca21
add eax, ecx
mov ecx, 0x49a1f0e6
xor ecx, 0x18cad59a
and eax, ecx
mov ecx, 0x7a7fe975
xor edx, edx
div ecx
cmp eax, 0x567ba413
je 0x14016fdfd
mov ecx, dword [0x14027c030]
mov r8d, dword [0x14027c034]
xor r8d, 0x3b2d3b93
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0x3f96931f
xor r9d, 0xc0696ce0
mov edx, r8d
xor edx, r9d
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x7c935e46
xor r8d, 0x836ca1b9
xor edx, r8d
or ecx, edx
mov edx, 0x24c2099a
xor edx, 0xdb3df665
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xd3e3a0d2
xor ecx, 0x7be60943
xor eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xd1a059b2
mov edx, 0xffffffff
xor edx, 0x808b06c0
or eax, ecx
mov ecx, 0x65028d3f
xor ecx, 0xe5898bff
or ecx, edx
mov edx, 0xc5c871a1
xor edx, 0x3a378e5e
xor eax, edx
and eax, ecx
add eax, 0xdb4b05c
cmp eax, 0x939bcb38
je 0x14016fdfd
jmp 0x14016fd59
mov eax, dword [0x14027c038]
xor eax, dword [0x14027c03c]
mov ecx, 0xb86cf167
xor ecx, 0x1eb8985
and eax, ecx
mov ecx, 0x7cfc9883
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xd9e36793
xor edx, 0x5efff3d1
mov r8d, 0x2ab9ff1c
xor r8d, 0xd54600e3
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x871c9442
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x871c9442
and ecx, edx
mov edx, 0x73be3fc5
xor edx, 0x8c41c03a
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xe40978c9
ja 0x14016fe06
mov rcx, qword [rbp + 0x288]
mov eax, dword [0x14027c040]
mov r8d, dword [0x14027c044]
xor r8d, 0xa09f45f8
xor edx, edx
div r8d
mov r8d, 0xc4fa2f51
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0xa8]
xor r8d, r8d
sub r8d, 0xfc70243f
sub edx, r8d
mov r8d, edx
and r8d, 0xdf0b3a45
shl r8d, 1
add edx, 0xdf0b3a45
sub edx, r8d
mov dword [rbp + 0x8c], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rdx, qword [rbp + 0xa8]
mov eax, dword [rbp + 0x8c]
add rsp, 0x20
mov rcx, qword [rdx]
mov qword [rbp + 0x90], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x98], rdx
movabs rdx, 0x17fdf52ef9fbe2ea
movabs r8, 0x17fdf52ef9fbe2ea
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rbp + 0xa3], cl
cmp eax, 0x12a1b780
je 0x14016e866
mov al, byte [rbp + 0xa3]
test al, 1
jne 0x14016e937
jmp 0x14016ef7b
mov eax, dword [0x14027c048]
add eax, dword [0x14027c04c]
mov ecx, 0xad30ff2c
xor ecx, 0xb746e56e
xor edx, edx
div ecx
mov ecx, 0x3de88f57
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x837d6c1
xor edx, 0xf7c8293e
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x4dfdc32e
mov r8d, 0xffffffff
xor r8d, 0x4dfdc32e
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x4dfdc32e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x7dd0361e
je 0x14016fe0f
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x14027c050]
xor eax, 0x1a1fdf0
add eax, dword [0x14027c054]
mov r8d, 0x14086495
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xc587a00b
mov r8d, 0x16479d2f
xor r8d, 0xe9b862d0
xor edx, r8d
and edx, 0xc587a00b
shl edx, 1
sub edx, 0xc587a00b
sub eax, edx
xor edx, edx
sub edx, 0x2cedf80
sub eax, edx
movabs r8, 0x72c005fb0159d83
movabs rdx, 0x4f54397240b97c99
xor r8, rdx
mov rdx, rcx
sub rdx, r8
movabs r8, 0xda1e2e85b5822b8c
movabs r9, 0xda1e2e85b5822b8d
xor r8, r9
add rdx, r8
movabs r8, 0x4878392df0ace11a
add rdx, r8
mov qword [rbp + 0x80], rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
or r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0x8b], cl
cmp eax, 0x918f416e
jbe 0x14016e9b2
mov al, byte [rbp + 0x8b]
test al, 1
jne 0x14016eaa7
jmp 0x14016eab9
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016ef7b
mov rax, qword [rbp + 0x80]
cmp rax, 0
jge 0x14016eba9
mov eax, dword [0x14027c058]
mov ecx, 0x8f7c3d21
xor ecx, 0xab52ce9e
xor eax, ecx
mov ecx, dword [0x14027c05c]
xor ecx, 0x982492ba
or eax, ecx
or eax, 0x72a3ce60
imul eax, eax, 0xcc2599f0
add eax, 0x5d8b260c
cmp eax, 0x18057061
je 0x14016fe18
mov rcx, qword [rbp + 0x80]
mov eax, dword [0x14027c060]
xor eax, 0xd61dc6ca
xor edx, edx
div dword [0x14027c064]
sub eax, 0xdf9a9b30
mov edx, 0x9b2294c0
xor edx, 0x9cd165a5
xor eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x61da3bc9
mov r9d, 0xffffffff
xor r9d, 0x61da3bc9
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x61da3bc9
or eax, 0x61da3bc9
imul eax, r8d
add eax, edx
mov dword [rbp + 0x7c], eax
mov eax, 0xaa89414e
xor eax, 0x818efbd
mov dword [rbp + 0x78], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14001a720
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
add rsp, 0x20
cmp eax, ecx
jb 0x14016fe18
jmp 0x14016ef7b
mov eax, dword [0x14027c068]
and eax, dword [0x14027c06c]
mov ecx, 0x7e34fc5d
xor ecx, 0x81cb03a2
mov edx, eax
xor edx, ecx
and edx, 0x2fc4aba0
mov r8d, 0xffffffff
xor r8d, 0x2fc4aba0
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2fc4aba0
mov r8d, 0x94a0b83b
xor r8d, 0xbb64139b
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x8396d796
sub eax, ecx
imul eax, eax, 0x6f52b166
cmp eax, 0x95448a91
ja 0x14016fe21
mov r9, qword [rbp + 0x288]
mov r8, qword [rbp + 0x278]
mov eax, dword [0x14027c070]
xor edx, edx
div dword [0x14027c074]
mov rdx, qword [rbp + 0x98]
mov r10d, eax
xor r10d, 0xffffffff
and r10d, 0x82144f08
mov r11d, 0xffffffff
xor r11d, 0x82144f08
mov ecx, eax
and ecx, r11d
imul ecx, r10d
mov r10d, eax
and r10d, 0x82144f08
or eax, 0x82144f08
imul eax, r10d
add eax, ecx
or eax, 0x2ad4de38
mov ecx, 0x8c9080ec
xor ecx, 0xffc93606
and eax, ecx
mov ecx, 0xdcc3c409
xor ecx, 0x65ce7903
mov r8, qword [r8]
add r8, 8
add r8, qword [r9]
mov qword [rbp + 0x68], r8
add rdx, 8
mov qword [rbp + 0x70], rdx
cmp eax, ecx
ja 0x14016fe21
xor eax, eax
mov qword [rbp + 0x60], rax
jmp 0x14016ecb9
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x58], rax
mov eax, dword [0x14027c078]
add eax, dword [0x14027c07c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc6a25f0b
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x641c4395
xor ecx, 0x8c8cec3
xor eax, ecx
add eax, 0x1788e1fe
add eax, 0x2daa0292
mov ecx, 0x109cc3bf
xor ecx, 0x7142241
sub eax, ecx
cmp eax, 0x271a058a
jae 0x14016fe2a
mov rcx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x68]
mov r9, qword [rbp + 0x70]
mov eax, dword [0x14027c080]
xor edx, edx
div dword [0x14027c084]
mov rdx, qword [rbp + 0x90]
mov r10d, eax
add r10d, 0x86423c8
mov esi, 0xffffffff
xor esi, 0xc7ecb978
mov r11d, r10d
and r11d, esi
mov eax, r10d
or eax, esi
mov esi, 0xf585bbc5
xor esi, 0xa7a443a
xor eax, esi
imul eax, r11d
mov r11d, r10d
and r11d, 0xc7ecb978
or r10d, 0xc7ecb978
imul r10d, r11d
add r10d, eax
mov eax, r10d
or eax, eax
mov r11d, 0xb3085e9f
xor r11d, 0x4cf7a160
xor eax, r11d
mov r11d, 0xffffffff
xor r11d, 0xbcafe755
mov esi, 0xffffffff
xor esi, 0xbcafe755
and r11d, esi
mov esi, 0xa0a465cf
xor esi, 0x5f5b9a30
xor eax, esi
xor r11d, 0xffffffff
and eax, r11d
mov r11d, 0x129fd409
xor r11d, 0xed602bf6
xor r10d, r11d
mov r11d, 0xffffffff
xor r11d, 0xbcafe755
and r10d, r11d
or eax, r10d
mov r10d, 0xf943f59c
xor r10d, 0x6bc0a63
xor eax, r10d
mov r9b, byte [r9 + rcx]
mov byte [r8 + rcx], r9b
mov r8, rcx
add r8, 1
mov qword [rbp + 0x48], r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x57], cl
cmp eax, 0x4cf86055
jb 0x14016ed0d
mov rax, qword [rbp + 0x48]
mov cl, byte [rbp + 0x57]
test cl, 1
mov qword [rbp + 0x60], rax
jne 0x14016ee2e
jmp 0x14016ecb9
mov rdx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x288]
mov r8, qword [rax]
xor eax, eax
sub rax, rdx
mov rcx, r8
sub rcx, rax
mov qword [rbp + 0x40], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016ee76
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016ef7b
mov ecx, dword [0x14027c088]
sub ecx, dword [0x14027c08c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x2b946376
mov r8d, 0xffffffff
xor r8d, 0x2b946376
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2b946376
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
and ecx, 0x5ea41d53
xor ecx, 0xffffffff
add eax, 0x5ea41d53
add eax, 1
add eax, ecx
mov ecx, 0xffb29aa9
xor ecx, 0x5ae0026e
sub eax, ecx
mov ecx, 0x63fdb593
xor ecx, 0xe492c6d1
cmp eax, ecx
ja 0x14016fe33
mov rcx, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x40]
mov eax, dword [0x14027c090]
add eax, dword [0x14027c094]
mov r8d, 0xffffffff
xor r8d, 0xccf9454b
add eax, r8d
mov r8d, 0x1b23257a
xor r8d, 0x1b23257b
add eax, r8d
and eax, 0x1b41eee8
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x25ad293f
mov r9d, 0x87b9ddc8
xor r9d, 0xa214f4f7
mov r10d, 0x2d5cf99
xor r10d, 0xfd2a3066
xor r9d, r10d
and eax, r9d
sub eax, r8d
mov qword [rcx], rdx
cmp eax, 0x649786f0
jb 0x14016fe33
jmp 0x14016ef7b
mov ecx, dword [0x14027c098]
mov eax, 0xf4565699
xor eax, 0x56ca8634
xor ecx, eax
mov edx, dword [0x14027c09c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x1eff1361
xor ecx, 0x4912f8a7
or eax, ecx
and eax, 0x911f4d35
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7af022f9
mov ecx, 0xffffffff
xor ecx, 0x63734934
or eax, edx
or ecx, 0x63734934
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x96abb5e
je 0x14016fe3c
mov ecx, dword [0x14027c0a0]
mov eax, dword [0x14027c0a4]
xor eax, 0x9183cbef
sub ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x4e66d72c
mov r8d, 0xffffffff
xor r8d, 0x4e66d72c
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x4e66d72c
or ecx, 0x4e66d72c
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9cb3f174
or eax, edx
mov edx, 0x9cb3f174
and edx, 0x9cb3f174
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0xdbeda8e7
xor ecx, 0x24125718
xor eax, ecx
xor eax, 0x5c25ef36
cmp eax, 0xa4a58cd0
jbe 0x14016efef
jmp 0x14016f9e3
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0xb6]
cmp al, cl
je 0x14016f0d8
mov ecx, 0x3846
mov edx, 0x5027
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x3e], cx
cmp byte [rax], 0
je 0x14016f2f4
jmp 0x14016f4f8
mov word [rbp + 0x33a], 0x308
lea rcx, [rbp + 0x33a]
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
je 0x14016f1ce
mov eax, dword [0x14027c0a8]
mov edx, dword [0x14027c0ac]
mov r8d, 0x81f15795
xor r8d, 0x7e0ea86a
mov ecx, eax
xor ecx, r8d
xor eax, 0xffffffff
and ecx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x31252d40
xor r8d, 0xcedad2bf
xor edx, r8d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xcadd4402
xor ecx, 0xcadd4402
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xdf55994b
add eax, ecx
add eax, 1
xor eax, 0x4dfaaa0f
mov ecx, 0x71fa30b2
xor ecx, 0x51b8a62b
cmp eax, ecx
jbe 0x14016fe45
mov eax, dword [0x14027c0b0]
mov ecx, 0x870a3563
xor ecx, 0xb43b353e
xor eax, ecx
mov ecx, dword [0x14027c0b4]
xor ecx, 0xf334990
or eax, ecx
and eax, 0x23aa3f9a
and eax, 0xbde7f8f8
mov ecx, 0xd78e3194
xor edx, edx
div ecx
mov ecx, 0x938dd377
xor ecx, 0x8ab51f91
cmp eax, ecx
je 0x14016fe45
jmp 0x14016fd59
mov ecx, dword [0x14027c0b8]
mov eax, 0xe5b291a
xor eax, 0xdeab3f89
xor ecx, eax
xor ecx, dword [0x14027c0bc]
xor ecx, 0x93456415
mov edx, 0xffffffff
xor edx, 0xbbf1aae4
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x1f087ee7
mov ecx, 0xf514f055
xor ecx, 0x300ed09c
add eax, ecx
sub eax, 0x1f087ee7
cmp eax, 0x2c872217
je 0x14016fe4e
mov rcx, qword [rbp + 0x288]
mov edx, dword [0x14027c0c0]
sub edx, dword [0x14027c0c4]
mov eax, edx
and eax, 0x3a58d5be
xor eax, 0xffffffff
and edx, 0x3a58d5be
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xec7f76bc
xor r8d, 0x13808943
xor edx, r8d
or eax, edx
mov r8d, 0x6745bd37
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x30]
mov r8d, 0x41a5d8f1
xor r8d, 0x7adce109
add edx, r8d
sub edx, 0xe9832535
sub edx, 0x3b7939f8
mov dword [rbp + 0x2c], edx
mov edx, 0xf6683bb2
xor edx, 0xf055076c
mov dword [rbp + 0x28], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x288]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x328], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x330], rax
lea rdx, [rbp + 0x328]
sub rsp, 0x20
call fcn.14016b450
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x2c]
add rsp, 0x20
cmp eax, ecx
jbe 0x14016fe4e
jmp 0x14016f9e3
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0x3e]
cmp al, cl
je 0x14016f339
mov ecx, 0x517c
mov edx, 0x391a
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp + 0x26], cx
cmp byte [rax], 0
je 0x14016f4fd
jmp 0x14016f795
mov eax, dword [0x14027c0c8]
mov ecx, dword [0x14027c0cc]
mov edx, 0xb5241396
xor edx, 0x28867374
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe03482c1
xor ecx, 0x6a2cc217
mov edx, 0x78f0aa89
xor edx, 0x870f5576
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xa48249b8
or eax, ecx
mov ecx, 0x7980ee04
xor ecx, 0xdd02a7bc
or ecx, edx
mov edx, 0x3b4ec0e0
xor edx, 0xc4b13f1f
xor eax, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5b3a5f3f
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
or eax, 0x70749b3b
cmp eax, 0x733f4291
je 0x14016fe57
mov rcx, qword [rbp + 0x2a0]
mov eax, dword [0x14027c0d0]
xor edx, edx
div dword [0x14027c0d4]
mov r8d, 0x2962754e
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0xc4945852
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc4945852
mov r9d, 0x488f708c
xor r9d, 0x8c1b28de
mov r10d, 0x2d1a43c4
xor r10d, 0xd2e5bc3b
xor r9d, r10d
or r8d, r9d
and edx, r8d
mov r8d, 0xdc963682
xor r8d, 0x2369c97d
xor edx, r8d
and eax, edx
xor eax, 0xffffffff
sub eax, 0x73ab35c8
mov dword [rbp + 0x14], eax
mov eax, 0x58f836ca
xor eax, 0x63f623bb
mov dword [rbp + 0x10], eax
mov word [rcx], 0x3aa
sub rsp, 0x20
call fcn.140093f60
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 0x10]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x14]
mov qword [rbp + 0x18], r8
mov dl, byte [rdx]
mov r8b, 0x21
xor r8b, 0x21
cmp dl, r8b
sete dl
mov byte [rbp + 0x25], dl
cmp eax, ecx
jb 0x14016f3bc
mov al, byte [rbp + 0x25]
test al, 1
jne 0x14016f4a4
jmp 0x14016f49f
jmp 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x288]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x318], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x320], rax
lea rdx, [rbp + 0x318]
sub rsp, 0x20
call fcn.14016b450
add rsp, 0x20
jmp 0x14016f9e3
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0x26]
cmp al, cl
je 0x14016f706
mov eax, dword [0x14027c0d8]
xor eax, 0x3bf8875c
mov edx, dword [0x14027c0dc]
xor edx, 0xb3ccc56c
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x3753d6f3
xor ecx, 0x3753d6f1
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov r8d, 0x6f685807
xor r8d, 0x3dea15ce
mov ecx, 0x7671b372
xor ecx, 0x898e4c8d
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x52824dc9
mov r8d, 0x20f1871b
xor r8d, 0x7273cad2
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x60061629
xor edx, 0x968f2848
mov ecx, eax
xor ecx, edx
mov edx, 0x1a18fd69
xor edx, 0xe5e70296
xor ecx, edx
or eax, 0xf6893e61
and eax, ecx
mov ecx, 0x1ff36437
xor ecx, 0xe00c9bc8
mov edx, eax
xor edx, ecx
and edx, 0x382be098
mov r8d, 0x470a0311
xor r8d, 0x7f21e389
mov ecx, 0x236f7e77
xor ecx, 0xdc908188
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x7c54a743
xor r8d, 0x447f47db
mov edx, eax
and edx, r8d
or eax, 0x382be098
imul eax, edx
add eax, ecx
cmp eax, 0xbad9cc30
jae 0x14016fe60
mov eax, dword [0x14027c0e0]
mov ecx, dword [0x14027c0e4]
mov edx, 0xb88da612
xor edx, 0x8163a503
xor ecx, edx
sub eax, 0xe40759e1
sub eax, ecx
add eax, 0xe40759e1
mov ecx, 0x743c64ba
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8ab628c5
or ecx, edx
mov edx, 0x8ab628c5
and edx, 0x8ab628c5
xor edx, 0xffffffff
mov r8d, 0xe7a39b98
xor r8d, 0x185c6467
xor eax, r8d
mov r8d, 0xa0e9ea65
xor r8d, 0x5f16159a
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
and eax, 0xbc70482e
mov edx, 0xf9215835
xor edx, 0x4551101b
xor ecx, edx
or eax, ecx
mov dword [rbp + 8], eax
mov eax, 0xab9eab5
xor eax, 0x14eee583
mov dword [rbp + 4], eax
mov ecx, 0x5314
mov edx, 0x3b76
sub rsp, 0x20
call fcn.1400993fb
mov rdx, qword [rbp + 0x2c0]
mov ecx, dword [rbp + 4]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 8]
mov word [rbp + 0xc], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0xf], dl
cmp eax, ecx
je 0x14016fe60
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14016f79a
jmp 0x14016f87e
mov rcx, qword [rbp + 0x2b0]
mov ax, 0x4252
xor ax, 0x40be
mov word [rcx], ax
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
je 0x14016f741
jmp 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x288]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x308], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x310], rax
lea rdx, [rbp + 0x308]
sub rsp, 0x20
call fcn.14016b450
add rsp, 0x20
jmp 0x14016f9e3
jmp 0x14016fd59
mov al, byte [rbp + 0x22b]
mov cx, word [rbp + 0xc]
cmp al, cl
je 0x14016f7eb
mov word [rbp + 0x2ee], 0x2ba
lea rcx, [rbp + 0x2ee]
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 0x10], rcx
mov al, byte [rax]
mov cl, 6
xor cl, 6
cmp al, cl
je 0x14016f883
jmp 0x14016f99a
mov ax, 0x9f12
xor ax, 0x9c06
mov word [rbp + 0x306], ax
lea rcx, [rbp + 0x306]
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
je 0x14016f82a
jmp 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x288]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x2f0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2f8], rax
lea rdx, [rbp + 0x2f0]
sub rsp, 0x20
call fcn.14016b450
add rsp, 0x20
jmp 0x14016f9e3
jmp 0x14016fd59
mov rcx, qword [rbp + 0x2b8]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
mov ax, 0xce89
xor ax, 0xcf60
mov word [rcx], ax
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14016f99a
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140037690
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x288]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x2d8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2e0], rax
lea rdx, [rbp + 0x2d8]
sub rsp, 0x20
call fcn.14016b450
add rsp, 0x20
mov ecx, 0x39
sub rsp, 0x20
call fcn.140094e8b
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2c0]
mov byte [rbp - 0x29], cl
mov al, byte [rax]
mov cl, 0x6f
xor cl, 0x6f
cmp al, cl
jne 0x14016f99a
mov rax, qword [rbp - 0x28]
mov edx, dword [rbp + 0x22c]
mov cl, byte [rbp - 0x29]
movzx ecx, cl
shr edx, cl
mov rcx, qword [rbp + 0x288]
and edx, 0xff
mov edx, edx
mov dl, byte [rax + rdx + 8]
sub rsp, 0x20
call fcn.14016fe72
add rsp, 0x20
mov ecx, 0x1a2
sub rsp, 0x20
call fcn.140094e8b
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2c0]
mov byte [rbp - 0x2a], cl
cmp byte [rax], 0
je 0x14016f99f
jmp 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp - 0x28]
mov r9b, byte [rbp + 0x22b]
mov dl, byte [rbp - 0x2a]
xor dl, 0xff
xor r9b, 0xff
mov r8b, 0xff
xor r8b, 0x64
or dl, r9b
or r8b, 0x64
xor dl, 0xff
and dl, r8b
movzx edx, dl
mov dl, byte [rax + rdx + 8]
sub rsp, 0x20
call fcn.14016fe72
add rsp, 0x20
mov rax, qword [rbp + 0x1b0]
movabs rcx, 0x2a332d9224c65e02
add rax, rcx
add rax, 1
movabs rcx, 0xa7743f79e67cc803
movabs rdx, 0x8d4712ebc2ba9601
xor rcx, rdx
sub rax, rcx
mov rcx, rax
mov qword [rbp + 0x1d8], rcx
mov qword [rbp + 0x1e0], rax
mov rdx, qword [rbp + 0x290]
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rdx]
cmp rax, rdx
mov qword [rbp + 0x238], rdx
mov rdx, rax
mov qword [rbp + 0x240], rdx
mov rdx, rcx
mov qword [rbp + 0x248], rdx
mov qword [rbp + 0x250], rcx
mov qword [rbp + 0x258], rax
jl 0x14016cafd
mov rdx, qword [rbp + 0x250]
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x40], rdx
movabs rcx, 0x8089fe259d82d3cc
movabs r8, 0x8089fe259d82d3cc
xor rcx, r8
sub rcx, rdx
add rax, rcx
mov qword [rbp - 0x38], rax
movabs rcx, 0x73c743db5a42bcce
movabs rdx, 0x73c743db5a42bcce
xor rcx, rdx
cmp rax, rcx
jle 0x14016fb69
mov rcx, qword [rbp + 0x288]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x290]
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x60], rdx
mov rdx, qword [rcx]
mov qword [rbp - 0x68], rdx
add rdx, rax
sub rsp, 0x20
call fcn.14002bfc0
mov rdx, qword [rbp + 0x278]
mov r8, qword [rbp - 0x68]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov qword [rbp - 0x58], rdx
add rax, 8
add rax, rcx
mov qword [rbp - 0x50], rax
xor eax, eax
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
movabs rdx, 0x4f6b2a04031eb780
sub rax, rdx
add rax, 1
movabs rdx, 0x4f6b2a04031eb780
add rax, rdx
cmp rax, rcx
mov qword [rbp - 0x48], rax
jne 0x14016fb26
mov rax, qword [rbp + 0x2c0]
cmp byte [rax], 0
jne 0x14016fd59
mov ecx, 0x86fb
mov edx, 0xeeb2
sub rsp, 0x20
call fcn.1400993fb
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2c0]
mov word [rbp - 0x6a], cx
cmp byte [rax], 0
jne 0x14016fd59
mov rcx, qword [rbp + 0x288]
mov ax, word [rbp - 0x6a]
mov byte [rbp - 0x79], al
mov edx, 1
sub rsp, 0x20
call fcn.140037690
mov rcx, qword [rbp + 0x278]
mov r8b, byte [rbp - 0x79]
mov rax, qword [rbp + 0x288]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
movabs rcx, 0xab4f7b340b3472b2
movabs rax, 0xab4f7b340b3472b3
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp - 0x78], rax
movabs r8, 0xc71e0168a8068c54
movabs rcx, 0x38e1fe9757f973ab
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0x752974452ca3a840
movabs r9, 0x8ad68bbad35c57bf
xor r8, r9
xor rcx, r8
and rcx, 0xffffffffffffffff
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0x3225b87b765d08a7
movabs rdx, 0x3225b87b765d08a7
xor rcx, rdx
cmp rax, rcx
jge 0x14016fc90
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14016fd59
mov eax, dword [0x14027c0e8]
xor eax, 0xab1a5ad4
mov edx, dword [0x14027c0ec]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0x2faa169c
add eax, 0x93693128
mov ecx, eax
and ecx, 0xd67d284e
shl ecx, 1
mov edx, 0xfe70d823
xor edx, 0x280df06d
xor eax, edx
add eax, ecx
cmp eax, 0x81f79d94
je 0x14016fe69
mov rcx, qword [rbp + 0x278]
mov r8, qword [rbp + 0x288]
mov eax, dword [0x14027c0f0]
mov edx, dword [0x14027c0f4]
xor edx, 0x73bf4047
or eax, edx
mov r9d, 0x8ee0deab
xor edx, edx
div r9d
mov edx, eax
xor edx, 0x8c5fe6a4
mov r9d, 0xffffffff
xor r9d, 0x8c5fe6a4
and eax, r9d
shl eax, 1
sub eax, edx
mov r9d, 0xe14fa7d5
xor r9d, 0x7eba3b8b
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x78]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], 0
cmp eax, 0x48ac746a
je 0x14016fe69
jmp 0x14016fd59
lea rsp, [rbp + 0x340]
pop rdi
pop rsi
pop rbp
ret
invalid
clc
invalid
adc eax, 0xe9096ed1
xor eax, 0x78ffffcf
push rsp
js 0x14016fdd5
adc eax, 0xd062e903
invalid
jmp 0x14016cdea
jae 0x14016fdaa
mov dword [rdi - 0x2b6f17], edx
call qword [rsi + 0x35]
invalid
push rsi
xor eax, 0xd4e9f33f
invalid
cmp eax, 0xe963b7d4
cmc
invalid
sub al, 0xce
test al, 0x62
jmp 0x14016d638
invalid
pushfq
fucompi st(5)
sbb ch, cl
in al, 0xd9
invalid
cwde
invalid
mov esp, 0xe9e3575a
loopne 0x14016fda3
invalid
fisub word [rdi + 0x40]
invalid
invalid
shl eax, 1
invalid
jae 0x14016fddd
invalid
jmp 0x14016e0cf
pop rbx
xchg ebp, eax
js 0x14016fd83
jmp 0x14016e177
jnp 0x14016fd90
mov dword [rax - 0x193e17], eax
jmp qword [rsi - 0x161ceb50]
cmpsb byte [rsi], byte [rdi]
mov al, 0x14
jrcxz 0x14016fde2
in al, dx
out 0xff, eax
invalid
fcmovb st(0), st(7)
push rsp
test eax, 0xffe913e9
dec dword [rax - 0x16df21a1]
mov byte [rdi - 0x22], bl
and cl, ch
push rdi
invalid
push rsp
movsd dword [rdi], dword [rsi]
fiadd dword [rax - 0x17]
invalid
sbb al, byte [0x12600b7df]
in al, dx
invalid
push 5
sti
and ch, cl
in eax, dx
in eax, dx
invalid
sub dh, dl
cmp r9, r13
invalid
invalid
cmp ah, byte [rbp + rdi*2 + 4]
jmp 0x14016efef
push 0xffffffffffffffaf
in eax, 0xe9
xor al, 0xf3
invalid
xchg edi, eax
mov bh, 0x1b
invalid
jnp 0x14016fea0
leave
mov ecx, gs
pop rsp
cmc
invalid
cli
jmp 0xe8009f40
movabs byte [0xfffffe6ce950b929], al
mov eax, dword [rcx + 8]