Function at 0x140113a30
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
mov qword [rsp + 0x208], rdx
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x1f8], rcx
call fcn.1400fe850
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0x210], rax
movabs rax, 0x5ba479da682a3795
movabs r8, 0x5ba479da682a3795
xor rax, r8
mov qword [rcx], rax
mov rax, rcx
add rax, 8
mov qword [rsp + 0x218], rax
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov qword [rsp + 0x220], rax
cmp rax, 0
je 0x140115748
mov rcx, qword [rsp + 0x220]
call fcn.140113836
mov rcx, rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x1f0], rcx
cmp byte [rax], 0
jne 0x140115748
mov rax, qword [rsp + 0x1f0]
cmp rax, 0
jge 0x140113b11
mov rcx, qword [rsp + 0x1f0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000f6ec
jmp 0x140115748
mov rdx, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x200]
call fcn.140018050
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
mov qword [rsp + 0x1d8], rax
add rcx, 8
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
mov rdx, qword [rsp + 0x1e8]
mov qword [rsp + 0x1c8], rdx
movabs rax, 0x8a1571226308a6f6
movabs rcx, 0x75ea8edd9cf75909
xor rax, rcx
mov rcx, rdx
and rcx, rax
shl rcx, 1
movabs r8, 0x42a4b634dfbfcdb0
movabs rax, 0xbd5b49cb2040324f
xor r8, rax
mov rax, rdx
xor rax, r8
add rax, rcx
mov qword [rsp + 0x1d0], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140113bc9
jmp 0x140113bd3
call fcn.1400091c0
jmp 0x140115748
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1d0]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140113c17
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x1c7], al
sub al, 0xa
je 0x140113c7e
jmp 0x140113c42
mov al, byte [rsp + 0x1c7]
sub al, 0xd
je 0x140113c7e
jmp 0x140113c56
mov al, byte [rsp + 0x1c7]
sub al, 0x20
je 0x140113c7e
jmp 0x140113c6a
mov al, byte [rsp + 0x1c7]
sub al, 0x3d
jne 0x140113d7f
jmp 0x140113c7e
mov eax, dword [0x1401f8fa8]
mov ecx, dword [0x1401f8fac]
xor ecx, 0x104c7fa3
xor edx, edx
div ecx
xor eax, 0xe9ce44e2
sub eax, 0xf6d9a21f
and eax, eax
mov ecx, 0x861e8db1
xor ecx, 0x79e1724e
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x861d66b1
mov edx, 0xffffffff
xor edx, 0x861d66b1
or ecx, edx
mov edx, 0x37d24c9c
xor edx, 0xc82db363
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x25e54863
jbe 0x14011575c
mov ecx, dword [0x1401f8fb0]
mov eax, dword [0x1401f8fb4]
add ecx, 0x7a420421
sub ecx, eax
sub ecx, 0x7a420421
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x997b7255
xor eax, 0xffffffff
mov edx, 0x129315b7
xor edx, 0x8be867e2
mov r8d, 0x51f3d104
xor r8d, 0xae0c2efb
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x997b7255
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe680aa9
xor ecx, 0x94d48467
add eax, ecx
sub eax, 0xd560db75
sub eax, 0x9abc8ece
xor eax, 0x95345305
cmp eax, 0xcc5b0ea8
jae 0x140113ce2
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1e8], rax
jmp 0x140113b4d
mov rcx, qword [rsp + 0x1c8]
mov rax, rcx
and rax, 0xfffffffffffffffc
movabs r8, 0xf44390da8f9da5c2
movabs rdx, 0xbbc6f2570625a3e
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
mov qword [rsp + 0x1a8], rax
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
sub rax, rdx
cmp rax, 0
setl al
cmp rcx, 3
setg cl
and cl, al
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jne 0x140113e03
jmp 0x140113e0d
call fcn.1400091c0
jmp 0x140115748
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], rax
mov ecx, dword [0x1401f8fb8]
and ecx, dword [0x1401f8fbc]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x1ba506b8
mov edx, 0xffffffff
xor edx, 0x1ba506b8
and ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb3971cd7
xor edx, 0xfbcd99e7
and edx, ecx
mov r8d, 0x167ce061
xor r8d, 0x5e266551
mov ecx, 0x36d80fb
xor ecx, 0xfc927f04
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x485a8530
or eax, 0x485a8530
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8124d995
mov r8d, 0xffffffff
xor r8d, 0x8124d995
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8124d995
mov r8d, 0x552b1bf1
xor r8d, 0xd40fc264
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xa234a34d
jae 0x140115765
mov rdx, qword [rsp + 0x198]
mov r8, qword [rsp + 0x1a8]
mov eax, dword [0x1401f8fc0]
mov ecx, dword [0x1401f8fc4]
mov r9d, 0xb703ae6a
xor r9d, 0x166b1a1f
xor ecx, r9d
sub eax, ecx
mov ecx, 0x55eddcb7
xor ecx, 0xeee27768
mov r9d, 0x23c0751e
xor r9d, 0xdc3f8ae1
xor ecx, r9d
add eax, ecx
add eax, 1
mov r9d, 0xf8eae18d
xor r9d, 0x89d7b631
mov ecx, eax
xor ecx, r9d
mov r9d, 0x37a5664e
xor r9d, 0xc85a99b1
xor ecx, r9d
and ecx, 0x713d57bc
shl ecx, 1
sub ecx, 0x713d57bc
sub eax, ecx
and eax, 0x78e26c50
mov ecx, 0xfd9011af
xor ecx, 0xa852efac
cmp rdx, r8
setg dl
mov byte [rsp + 0x197], dl
cmp eax, ecx
jae 0x140113ee1
mov al, byte [rsp + 0x197]
test al, 1
jne 0x140114a85
jmp 0x140113f9b
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x208]
cmp rax, 0xffffffffffffffff
setg dl
mov byte [rsp + 0x17f], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x188], rax
mov al, byte [rsp + 0x17f]
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x170], rcx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14011412b
mov r8d, dword [0x1401f8fc8]
mov edx, dword [0x1401f8fcc]
mov r9d, edx
xor r9d, 0xffffffff
mov ecx, r8d
and ecx, r9d
mov eax, r8d
or eax, r9d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r8d
and ecx, edx
or r8d, edx
imul r8d, ecx
add r8d, eax
xor r8d, 0x735e9453
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf909f444
mov edx, 0xffffffff
xor edx, 0xf909f444
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x11d0c83a
and ecx, 0xf909f444
and edx, 0x11d0c83a
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
and ecx, 0x1f0d85c
shl ecx, 1
add eax, 0x1f0d85c
sub eax, ecx
mov ecx, 0xcb5b5c5c
xor ecx, 0x373650e1
cmp eax, ecx
je 0x14011576e
mov rcx, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x180]
mov eax, dword [0x1401f8fd0]
xor eax, dword [0x1401f8fd4]
or eax, 0xa91ad324
and eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x363da85a
mov r9d, 0xffffffff
xor r9d, 0x363da85a
or r8d, r9d
and eax, r8d
mov r8d, 0x9e7a178c
xor r8d, 0x6185e873
xor eax, r8d
sub eax, 0xad79d8dc
mov dword [rsp + 0x16c], eax
movabs rax, 0x55543ef2ccb3472b
movabs r8, 0xaaabc10d334cb8d4
xor rax, r8
add rdx, rax
call fcn.140016582
mov eax, dword [rsp + 0x16c]
cmp eax, 0x49ae9842
je 0x140114093
jmp 0x140115748
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax]
mov qword [rsp + 0x160], rax
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x16b], al
sub al, 0xa
je 0x140114186
jmp 0x14011415e
mov al, byte [rsp + 0x16b]
sub al, 0xd
je 0x140114186
jmp 0x140114172
mov al, byte [rsp + 0x16b]
sub al, 0x20
jne 0x1401141dd
jmp 0x140114186
mov rax, qword [rsp + 0x170]
mov rcx, 0xffffffffffffffff
xor rcx, 1
movabs rdx, 0xc049d7cdb7373af2
movabs r8, 0xc049d7cdb7373af2
xor rdx, r8
movabs r8, 0x86321b7c111830ca
movabs r9, 0x86321b7c111830cb
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x188], rax
jmp 0x140113fcc
mov al, byte [rsp + 0x16b]
movzx eax, al
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x15f], al
cmp al, 0xff
jne 0x140114282
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x28264a13ffb66939
movabs rdx, 0x28264a13cc880f80
xor rax, rdx
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], rax
call fcn.140016090
jmp 0x140115748
mov eax, dword [0x1401f8fd8]
xor eax, 0x6259be1c
mov r8d, dword [0x1401f8fdc]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0x87a11aea
sub eax, 0xbd5eb31
mov ecx, 0x13606686
xor ecx, 0x94c17c6c
add eax, ecx
sub eax, 0x50cb0f60
add eax, 0xa46673a4
cmp eax, 0x3731cc7c
jae 0x140115777
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x170]
mov eax, dword [0x1401f8fe0]
xor eax, 0xe57f8e5f
mov r10d, dword [0x1401f8fe4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, eax
and r8d, 0xd9b45134
xor r8d, 0xffffffff
add eax, 0xd9b45134
add eax, 1
add eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x9e5771b8
add eax, r8d
add eax, 1
add eax, 0x6c9048bd
add rcx, 1
mov qword [rsp + 0x150], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x15e], cl
cmp eax, 0x8d554d3b
je 0x140115777
mov al, byte [rsp + 0x15e]
test al, 1
jne 0x1401143a7
jmp 0x140114389
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x150]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x14f], al
cmp al, 0xff
jne 0x140114444
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x170]
add rax, 2
mov qword [rsp + 0x140], rax
cmp rax, rcx
jl 0x140114487
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x140]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x13f], al
mov cl, 0x17
xor cl, 0xe8
cmp al, cl
jne 0x140114529
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x170]
movabs rdx, 0xccf8af5357454809
movabs r8, 0xccf8af535745480a
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x130], rax
cmp rax, rcx
jl 0x140114582
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov ecx, dword [0x1401f8fe8]
mov eax, dword [0x1401f8fec]
xor eax, 0x64d5deed
sub ecx, eax
mov eax, 0xcdacb4d6
xor eax, 0x32534b29
mov edx, ecx
xor edx, eax
and edx, 0x9b7033af
mov r8d, 0xffffffff
xor r8d, 0x9b7033af
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x9b7033af
mov r8d, 0x3cea14a8
xor r8d, 0xa79a2707
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x4060f977
mov edx, 0xffffffff
xor edx, 0x4060f977
and ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc6fed808
add eax, ecx
add eax, 1
cmp eax, 0xdc7c5782
ja 0x140115780
mov rdx, qword [rsp + 0x160]
mov r8, qword [rsp + 0x130]
mov eax, dword [0x1401f8ff0]
xor eax, 0x4ffe34a8
sub eax, dword [0x1401f8ff4]
xor eax, 0x59d1e568
mov ecx, 0x8158d833
xor ecx, 0x1eaa0d82
imul eax, ecx
mov r9d, eax
and r9d, 0x7afec4ff
mov ecx, 0x2dc6cf7b
xor ecx, 0x2dc6cf79
imul ecx, r9d
add eax, 0x7afec4ff
sub eax, ecx
mov ecx, 0xf3ae016f
xor ecx, 0x89cc2353
movzx edx, byte [rdx + r8 + 8]
mov r8d, edx
lea rdx, [0x1402189a0]
mov dl, byte [rdx + r8]
mov byte [rsp + 0x12e], dl
cmp dl, 0xff
sete dl
mov byte [rsp + 0x12f], dl
cmp eax, ecx
jb 0x140115780
mov al, byte [rsp + 0x12f]
test al, 1
jne 0x1401146b2
jmp 0x14011471f
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x170]
movabs r8, 0x192bd16c94c65a2c
movabs r9, 0x192bd16c94c65a28
xor r8, r9
add rdx, r8
mov qword [rsp + 0x118], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x120], rcx
cmp rax, rcx
jl 0x1401147b2
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x120]
movabs rax, 0x460713bae341ecbb
movabs r8, 0xa1b3171a9973de7d
xor rax, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xe7b404a07a3232c6
add rdx, rax
call fcn.140016582
jmp 0x140115748
mov rcx, qword [rsp + 0x200]
call fcn.1401157b6
mov r9b, byte [rsp + 0x15f]
mov r8b, byte [rsp + 0x14f]
mov rdx, qword [rsp + 0x218]
mov rax, qword [rsp + 0x1a0]
mov cl, 0x4e
xor cl, 0x4c
shl r9b, cl
mov rcx, qword [rsp + 0x200]
shr r8b, 4
or r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0xb8de4fd6bfeb86b8
add rax, rdx
add rax, 1
movabs rdx, 0xb8de4fd6bfeb86b8
sub rax, rdx
mov qword [rsp + 0x108], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x110], rcx
cmp rax, rcx
jl 0x1401148f2
mov eax, dword [0x1401f8ff8]
mov r8d, dword [0x1401f8ffc]
xor r8d, 0xd584fe43
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
imul eax, eax, 0x6d79c028
mov ecx, 0x21b63852
xor ecx, 0x5676a312
xor edx, edx
div ecx
add eax, 0x3bdb6e03
mov ecx, 0xfe0156a4
xor ecx, 0x8087b3f2
cmp eax, ecx
je 0x140115789
mov rcx, qword [rsp + 0x108]
mov eax, dword [0x1401f9000]
mov r8d, dword [0x1401f9004]
xor r8d, 0x4fe869dd
xor edx, edx
div r8d
imul eax, eax, 0x9cf16c26
mov r8d, 0x8b92585a
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x110]
and eax, 0xe3f5c327
mov dword [rsp + 0x104], eax
add rdx, 0xffffffffffffffff
call fcn.140016582
mov eax, dword [rsp + 0x104]
cmp eax, 0x3236f780
jae 0x14011488c
jmp 0x140115748
mov rcx, qword [rsp + 0x200]
mov bpl, byte [rsp + 0x13f]
mov dil, byte [rsp + 0x14f]
call fcn.1401157b6
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x108]
mov rax, qword [rsp + 0x1a0]
mov cl, 0xf5
xor cl, 0xf1
shl dil, cl
mov cl, 0x49
xor cl, 0x4b
shr bpl, cl
mov rcx, qword [rsp + 0x200]
mov r9b, 0xe3
xor r9b, 0x1c
mov r10b, bpl
xor r10b, r9b
mov bl, dil
xor bl, 0xff
mov r11b, 0xff
xor r11b, 0xa0
mov r9b, r10b
and r9b, 0xa0
and bpl, r11b
mov sil, bl
and sil, 0xa0
and dil, r11b
or r9b, bpl
or sil, dil
xor r9b, sil
or r10b, bl
xor r10b, 0xff
or r11b, 0xa0
and r10b, r11b
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
xor edx, edx
sub rdx, 2
sub rax, rdx
mov qword [rsp + 0xf0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xf8], rcx
cmp rax, rcx
jl 0x1401149e8
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
movabs rax, 0xa63331e62de0495d
movabs r8, 0x59ccce19d21fb6a2
xor rax, r8
add rdx, rax
call fcn.140016582
jmp 0x140115748
mov bl, byte [rsp + 0x13f]
mov rcx, qword [rsp + 0x200]
call fcn.1401157b6
mov r9b, byte [rsp + 0x12e]
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x118]
shl bl, 6
mov r11b, bl
xor r11b, 0xff
mov r10b, r9b
and r10b, r11b
mov r11b, r9b
xor r11b, bl
add r9b, r11b
sub r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
mov rdx, rcx
and rdx, 3
shl rdx, 1
movabs r8, 0x6ebacceb8e30fc7f
movabs r9, 0x6ebacceb8e30fc7c
xor r8, r9
xor rcx, r8
add rcx, rdx
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jmp 0x140113e0d
mov r8, qword [rsp + 0x1c8]
mov r9, qword [rsp + 0x198]
mov rdx, r9
sub rdx, r8
mov qword [rsp + 0xe8], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov rax, r9
and rax, rcx
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
or rax, rcx
movabs rcx, 0x8e3604db5fc8ce2a
movabs r9, 0x8e3604db5fc8ce2a
xor rcx, r9
cmp rax, rcx
setl al
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
movabs r9, 0xc1e97626fb3eae8b
movabs r10, 0x3e1689d904c15174
xor r9, r10
xor rcx, r9
movabs r10, 0x52a5482d49c42c2
movabs r9, 0xfad5ab7d2b63bd3d
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xf3d94556742b3e1
movabs r9, 0xf0c26baa98bd4c1e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140114b63
jmp 0x140114b6d
call fcn.1400091c0
jmp 0x140115748
mov rax, qword [rsp + 0xe8]
mov rdx, rax
add rdx, 3
test rax, rax
mov rcx, rax
cmovs rcx, rdx
and rcx, 0xfffffffffffffffc
sub rax, rcx
mov rcx, rax
neg rcx
cmovns rax, rcx
mov qword [rsp + 0xe0], rax
sub rax, 2
je 0x140114bd5
jmp 0x140114bae
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0xe0]
sub rcx, 3
mov qword [rsp + 0xd8], rax
je 0x14011506b
jmp 0x140115733
mov ecx, dword [0x1401f9008]
mov eax, 0x63ddd9b8
xor eax, 0xdfd6de4e
xor ecx, eax
mov edx, dword [0x1401f900c]
mov eax, 0x61e2c016
xor eax, 0x80717a9b
xor edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, 0x88896b26
xor eax, 0x38cd788f
mov r8d, 0x10ed148
xor r8d, 0xfef12eb7
xor eax, r8d
or ecx, edx
or eax, 0xb04413a9
xor ecx, 0xffffffff
and ecx, eax
and ecx, 0x1069b18b
mov eax, 0x73d7bb5a
xor eax, 0xf8aaab05
and ecx, eax
mov eax, ecx
and eax, 0x50e5a572
xor ecx, 0x50e5a572
or eax, ecx
mov ecx, 0xe8d63c08
xor ecx, 0xaf57d9a7
cmp eax, ecx
jb 0x140115792
mov r8, qword [rsp + 0x208]
mov eax, dword [0x1401f9010]
mov ecx, dword [0x1401f9014]
xor ecx, 0x6792e206
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x198]
mov ecx, eax
mov eax, ecx
xor eax, 0x162fb513
xor ecx, 0x162b2001
and ecx, 0x3feb2249
add ecx, ecx
sub eax, ecx
add eax, 0x3feb2249
xor eax, 0x629ba8c5
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0xc8], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0xd7], cl
cmp eax, 0xc2de8f05
je 0x140114c59
mov al, byte [rsp + 0xd7]
test al, 1
jne 0x140114d15
jmp 0x140114ce1
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0xc8]
movabs rax, 0xf975d13367ed8a43
movabs r8, 0x68a2ecc981275bc
xor rax, r8
add rdx, rax
call fcn.140016582
jmp 0x140115748
mov eax, dword [0x1401f9018]
or eax, dword [0x1401f901c]
mov ecx, 0x70c2a689
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xd8302ce2
mov edx, 0xffffffff
xor edx, 0xd8302ce2
and eax, edx
shl eax, 1
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x65b4f583
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xfc3950bf
xor r8d, 0x3c6af40
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x65b4f583
or eax, 0x65b4f583
imul eax, edx
add eax, ecx
cmp eax, 0x5ad6b62d
ja 0x14011579b
mov rcx, qword [rsp + 0x1e0]
mov edx, dword [0x1401f9020]
imul edx, dword [0x1401f9024]
mov eax, edx
and eax, 0xc216ef63
mov r8d, 0x550dbdeb
xor r8d, 0x971b5288
or edx, r8d
add eax, edx
add eax, 0xff5e747f
add eax, 0xb050045c
mov edx, 0x2a2345a9
xor edx, 0xd57d31d6
sub eax, edx
mov r8d, 0x1b15f1b2
xor r8d, 0xa50d7eae
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rcx
movzx ecx, byte [rcx + rdx + 8]
mov edx, ecx
lea rcx, [0x1402189a0]
mov cl, byte [rcx + rdx]
mov byte [rsp + 0xc6], cl
cmp cl, 0xff
sete cl
mov byte [rsp + 0xc7], cl
cmp eax, 0xb5ab78bb
je 0x14011579b
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x140114e39
jmp 0x140114eca
movabs rcx, 0xedfbbab2f8f4dc46
movabs rax, 0xedfbbab2f8f4dc06
xor rcx, rax
movabs rdx, 0xbd5ac2301edd94d2
movabs rax, 0xbd5ac2301edd94da
xor rdx, rax
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x198]
add rax, 1
mov qword [rsp + 0xb0], rax
cmp rax, rcx
jl 0x140114f1c
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.140016582
jmp 0x140115748
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0xaf], al
cmp al, 0xff
jne 0x140114fdd
movabs rcx, 0xe2fcf3ce9cd79cc6
movabs rax, 0xe2fcf3ce9cd79c86
xor rcx, rax
movabs rdx, 0xc6ed6d44f309714d
movabs rax, 0xc6ed6d44f3097145
xor rdx, rax
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x200]
mov rcx, qword [rcx]
mov qword [rsp + 0xa0], rcx
cmp rax, rcx
jl 0x14011501f
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov rcx, qword [rsp + 0x200]
call fcn.1401157b6
mov al, byte [rsp + 0xc6]
mov cl, byte [rsp + 0xaf]
mov rdx, qword [rsp + 0x1a0]
shl al, 2
shr cl, 4
or cl, al
mov eax, 1
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x97], cl
mov qword [rsp + 0x98], rax
jmp 0x1401156f8
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x208]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x80], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1401151b3
mov ecx, dword [0x1401f9028]
xor ecx, 0xe57dca6e
mov edx, dword [0x1401f902c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
mov edx, 0xf8ac31a
xor edx, 0xf0753ce5
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0xc5d5405c
mov ecx, 0x3aceaff5
xor ecx, 0xc925d67e
sub eax, ecx
add eax, 0xc5d5405c
mov r8d, 0xffffffff
xor r8d, 0x88af3bb5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x88af3bb5
or eax, 0x88af3bb5
imul eax, edx
add eax, ecx
mov ecx, 0xdd9a8556
xor ecx, 0x5fe48b5a
xor edx, edx
div ecx
cmp eax, 0x96b0b923
jae 0x1401157a4
mov rcx, qword [rsp + 0x198]
mov eax, dword [0x1401f9030]
mov edx, dword [0x1401f9034]
xor edx, 0xed64a9c5
add eax, 0x6f074de
add eax, edx
sub eax, 0x6f074de
sub eax, 0xf44bb934
sub eax, 0xefd5383d
sub eax, 0x941a2e12
add eax, 0xefd5383d
mov r8d, 0xe3a33fa9
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x7c], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140016582
mov eax, dword [rsp + 0x7c]
cmp eax, 0xf7505100
ja 0x140115131
jmp 0x140115748
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x7b], al
mov cl, 0x58
xor cl, 0xa7
cmp al, cl
jne 0x14011526d
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xf179bb09e806779e
movabs rdx, 0xf179bb09db381127
xor rax, rdx
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], rax
call fcn.140016090
jmp 0x140115748
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x198]
movabs rdx, 0x5cae130e1ec1777c
sub rax, rdx
add rax, 1
movabs rdx, 0xe4e8ad5d52e89cb8
movabs r8, 0xb846be534c29ebc4
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x68], rax
cmp rax, rcx
jl 0x1401152d1
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x67], al
cmp al, 0xff
jne 0x140115389
movabs rcx, 0xbf1d4c8cd7b29a9f
movabs rax, 0xbf1d4c8cd7b29adf
xor rcx, rax
movabs rdx, 0xb1c8f28c081277e5
movabs rax, 0xb1c8f28c081277ed
xor rdx, rax
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x198]
movabs rdx, 0x8a1ca9b56d040eab
movabs r8, 0x8a1ca9b56d040ea9
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x58], rax
cmp rax, rcx
jl 0x1401153f2
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
movabs rax, 0xe1c9061aa394d5b3
movabs r8, 0x1e36f9e55c6b2a4c
xor rax, r8
add rdx, rax
call fcn.140016582
jmp 0x140115748
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x1402189a0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x57], al
mov cl, 0x23
xor cl, 0xdc
cmp al, cl
jne 0x14011548b
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x140208630]
mov qword [rcx], rax
lea rax, [0x140207288]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402072b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402072b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207288]
lea r8, [0x140207293]
lea r9, [0x14020729a]
mov qword [rsp + 0x20], 0x333e66b9
call fcn.140016090
jmp 0x140115748
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x200]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp rax, rcx
jl 0x1401154c7
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x140115748
mov eax, dword [0x1401f9038]
xor edx, edx
div dword [str.jeQP]
xor eax, 0x71583ebe
mov r8d, 0xf8d3ccf3
xor r8d, 0x8c1a6a51
mov ecx, 0xfc6fbbc3
xor ecx, 0x390443c
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x997fe84
xor r8d, 0xf668017b
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x74c9a6a2
mov r8d, 0x3ea4f884
xor r8d, 0x4a6d5e26
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xeba90d51
xor ecx, 0x1456f2ae
mov edx, eax
xor edx, ecx
and edx, 0x523daf46
mov r8d, 0xffffffff
xor r8d, 0x523daf46
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x523daf46
mov r8d, 0x80bb31e3
xor r8d, 0xd2869ea5
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x33229124
je 0x1401157ad
mov rcx, qword [rsp + 0x200]
mov eax, dword [0x1401f9040]
or eax, dword [0x1401f9044]
imul eax, eax, 0xd29bbd99
or eax, 0xa8b734a2
mov edx, 0xaf62f39e
xor edx, 0xc1831a81
add eax, edx
mov dword [rsp + 0x2c], eax
mov eax, 0x74afe89e
xor eax, 0xdfefdd50
mov dword [rsp + 0x28], eax
call fcn.1401157b6
mov r11b, byte [rsp + 0x7b]
mov r10b, byte [rsp + 0x67]
mov r9, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x200]
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
shl r11b, 2
shr r10b, 4
or r10b, r11b
mov r9, qword [r9]
mov byte [r9 + rdx + 8], r10b
movabs r9, 0x7cab7f7322d283e0
movabs r10, 0x7cab7f7322d283e0
xor r9, r10
movabs r10, 0x4e2912f2e7c82da4
movabs r11, 0x4e2912f2e7c82da5
xor r10, r11
sub r9, r10
sub rdx, r9
mov qword [rsp + 0x30], rdx
mov r8, qword [r8]
mov qword [rsp + 0x38], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
ja 0x140115581
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140115693
jmp 0x140115665
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
movabs rax, 0x1010ae1d291aaf1
movabs r8, 0xfefef51e2d6e550e
xor rax, r8
add rdx, rax
call fcn.140016582
jmp 0x140115748
mov rcx, qword [rsp + 0x200]
call fcn.1401157b6
mov r8b, byte [rsp + 0x67]
mov al, byte [rsp + 0x57]
mov rdx, qword [rsp + 0x30]
shl r8b, 4
shr al, 2
mov cl, al
or cl, r8b
xor cl, 0xff
mov r9b, 0x91
xor r9b, 0x6e
xor al, r9b
xor r8b, 0xff
and al, r8b
mov r8b, 0x5c
xor r8b, 0xa3
xor cl, r8b
xor al, 0xff
and cl, al
mov eax, 2
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x97], cl
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x88]
mov r9b, byte [rsp + 0x97]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add rax, rcx
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0xd8]
call fcn.140018050
mov rax, qword [rsp + 0x1f8]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
ret
int 0x36
xchg dword [rax - 0x1a8217], edx
jmp qword [rdx - 0x16563418]
movabs byte [0xffffe773e9a9cbe8], al
invalid
cmc
stc
invalid
add dword [rax], esi
retfq 0xffffffffffff86e9
add dword [rdi - 0x516ef3e], esi
invalid
xor eax, 0xbee93896
hlt
shl byte [rsi - 0x1816a12b], 0xf5
invalid
add al, 0x80
test byte [rsi - 0x17], bl
test cl, bh
invalid
retf 0x602a