Function at 0x140105e50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x3a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2c0], r9
mov qword [rbp + 0x290], r8
mov qword [rbp + 0x298], rdx
mov qword [rbp + 0x2a0], rcx
mov rax, qword [rbp + 0x390]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0x388]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbp + 0x380]
mov qword [rbp + 0x2b0], rax
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2b8], rax
sub rsp, 0x20
call fcn.140107b42
mov r9, qword [rbp + 0x2c0]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2d0], rcx
mov dword [r9 + 0x400], 1
cmp rax, 5
jge 0x140106198
mov rcx, qword [rbp + 0x2c8]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x280], rax
xor eax, eax
mov qword [rbp + 0x288], rax
mov rcx, qword [rbp + 0x280]
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x278], rax
cmp rax, rcx
je 0x140105fd6
mov rax, qword [rbp + 0x278]
mov rcx, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2b0]
mov r10, qword [rbp + 0x2a8]
mov r8, rax
and r8, r10
mov r9, rax
or r9, r10
add r8, r9
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
add r8d, 0xe0d9d741
mov r9d, 0x49be4489
xor r9d, 0x49be4488
add r8d, r9d
sub r8d, 0xe0d9d741
mov dword [rcx + rdx*4], r8d
movabs rcx, 0xa3fed82bac619de5
movabs rdx, 0x8bb82f5183bb3756
xor rcx, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0x7d569ee8bd5ba5ac
movabs rdx, 0x5510699292810f1f
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x288], rax
jmp 0x140105f1e
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2c0]
mov r8, rax
add r8, qword [rdx + 0x4f0]
mov qword [rdx + 0x4f0], r8
add rcx, 8
mov qword [rbp + 0x268], rcx
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x260], rax
cmp rax, 0
jle 0x140106133
mov rax, qword [rbp + 0x298]
mov rcx, qword [rbp + 0x2a0]
mov rcx, qword [rcx]
mov qword [rbp + 0x250], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp + 0x258], rax
jg 0x1401060a7
mov rcx, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x250]
mov rax, r8
shl rax, 1
movabs r9, 0xb0c79a52e3f9d551
movabs rdx, 0xb0c79a52e3f9d551
xor r9, rdx
mov edx, 2
cmp r8, r9
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400246d0
mov rax, qword [rbp + 0x298]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x260]
mov rcx, qword [rbp + 0x298]
mov r8, qword [rbp + 0x268]
mov r9, qword [rbp + 0x258]
mov rdx, rax
sub rdx, 0x7fff
mov edx, 0x7fff
cmovl rdx, rax
mov r10w, dx
mov r8, qword [r8]
mov word [r8 + r9*2 + 8], r10w
movabs r10, 0x925bfcf4db62388a
movabs r8, 0x925bfcf4db62388b
xor r10, r8
mov r8, r9
and r8, r10
or r9, 1
add r8, r9
mov qword [rcx], r8
movabs rcx, 0xa69d6f92b5c0ee53
movabs r8, 0xa69d6f92b5c0ee53
xor rcx, r8
sub rcx, rdx
add rax, rcx
mov qword [rbp + 0x270], rax
jmp 0x14010600e
mov rcx, qword [rbp + 0x2b8]
movabs rax, 0xb86c757edde758d
movabs rdx, 0xb86c757edde758d
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
sub rsp, 0x20
call fcn.140024b00
add rsp, 0x20
mov qword [rbp + 0x318], 0
mov qword [rbp + 0x320], 0
lea rcx, [rbp + 0x318]
sub rsp, 0x20
call fcn.140024b00
add rsp, 0x20
jmp 0x140107ae1
lea rcx, [rbp + 0x308]
mov edx, 0x20000
sub rsp, 0x20
call fcn.140024bdc
add rsp, 0x20
mov rax, qword [rbp + 0x308]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x310]
mov qword [rbp + 0x200], rax
movabs rdx, 0xfd1db2cc6e6237c7
movabs rax, 0xfd1db2cc6e62b7c7
xor rdx, rax
lea rcx, [rbp + 0x2f8]
sub rsp, 0x20
call fcn.140024bdc
mov r9, qword [rbp + 0x2c8]
mov r8, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x2c0]
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x2a8]
add rsp, 0x20
mov r10, qword [rbp + 0x2f8]
mov qword [rbp + 0x208], r10
mov r10, qword [rbp + 0x300]
mov qword [rbp + 0x210], r10
xor r10d, r10d
sub r10, rax
sub r9, r10
mov qword [rbp + 0x218], r9
mov r9, r8
add r9, 0x18
mov qword [rbp + 0x220], r9
add r8, 0x10
mov qword [rbp + 0x228], r8
add rdx, 0x4f0
mov qword [rbp + 0x230], rdx
add rcx, 8
mov qword [rbp + 0x238], rcx
xor ecx, ecx
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x240]
mov rcx, qword [rbp + 0x248]
mov qword [rbp + 0x1e8], rcx
mov qword [rbp + 0x1f0], rdx
cmp rax, rcx
jle 0x140107a81
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x1e8]
movabs rdx, 0xda50626fe4914632
movabs r8, 0x6183a5e6ab46e2ae
xor rdx, r8
sub rcx, rdx
movabs rdx, 0x40952344e09a7549
movabs r8, 0x40952344e09a754d
xor rdx, r8
add rcx, rdx
movabs rdx, 0xbbd3c7894fd7a49c
add rcx, rdx
cmp rax, rcx
jg 0x140106663
mov rax, qword [rbp + 0x1e8]
mov r8, qword [rbp + 0x1f0]
mov rcx, qword [rbp + 0x218]
xor edx, edx
sub rdx, rax
add rcx, rdx
add rcx, r8
mov qword [rbp + 0x1c8], rcx
mov rdx, rax
xor rdx, r8
xor r8, 0xffffffffffffffff
and rax, r8
shl rax, 1
sub rax, rdx
mov qword [rbp + 0x1d0], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x1d8], rax
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x1c0], rax
cmp rax, rcx
je 0x1401063e0
mov rax, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x1d0]
add r8, rax
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
mov r10d, 0x4ea06b47
xor r10d, 0x4ea06b46
mov r9d, r8d
and r9d, r10d
shl r9d, 1
xor r8d, 1
add r8d, r9d
mov dword [rcx + rdx*4], r8d
add rax, 1
mov qword [rbp + 0x1e0], rax
jmp 0x140106368
mov rax, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x230]
mov rdx, rax
add rdx, qword [rcx]
mov qword [rcx], rdx
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1b0], rax
mov ecx, dword [0x1401ced90]
mov eax, dword [0x1401ced94]
xor eax, 0xa6628d4c
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov edx, 0xdfbccdad
xor edx, 0xdf1c66f7
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xa0ab5a
and ecx, edx
shl ecx, 1
sub ecx, eax
mov edx, 0x8f2badf
xor edx, 0xf70d4520
mov eax, ecx
xor eax, edx
and eax, 0x5b173c17
mov edx, 0xffffffff
xor edx, 0x5b173c17
and ecx, edx
or eax, ecx
and eax, 0x6c1c4b1b
cmp eax, 0xba95f486
je 0x140107af1
mov rcx, qword [rbp + 0x1b0]
mov edx, dword [0x1401ced98]
mov r9d, dword [0x1401ced9c]
mov eax, 0x8d572329
xor eax, 0xbd11cad3
xor r9d, eax
mov eax, 0xb0b603fc
xor eax, 0x4f49fc03
mov r10d, r9d
xor r10d, eax
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
mov r10d, 0x97a58c46
xor r10d, 0x685a73b9
xor eax, r10d
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x770f42c3
mov r9d, 0x42b7ed77
xor r9d, 0x35b8afb4
mov eax, 0x9dec58dc
xor eax, 0x6213a723
xor r9d, eax
mov eax, edx
and eax, r9d
imul eax, r8d
mov r9d, 0x48b0a25c
xor r9d, 0x3fbfe09f
mov r8d, edx
and r8d, r9d
or edx, 0x770f42c3
imul edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x52625857
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x52625857
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x73932dc4
xor edx, 0xd76fdaa3
or eax, edx
cmp rcx, 0
setg cl
mov byte [rbp + 0x1af], cl
cmp eax, 0x7226349d
je 0x140107af1
mov al, byte [rbp + 0x1af]
test al, 1
jne 0x140106590
jmp 0x140107a81
mov rax, qword [rbp + 0x298]
mov rcx, qword [rbp + 0x2a0]
mov rcx, qword [rcx]
mov qword [rbp + 0x198], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp + 0x1a0], rax
jg 0x140106611
mov r8, qword [rbp + 0x198]
movabs rcx, 0x565e9fa585f0b14a
movabs rax, 0x565e9fa585f0b14b
xor rcx, rax
mov rax, r8
shl rax, cl
mov rcx, qword [rbp + 0x2a0]
mov edx, 2
cmp r8, 0
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400246d0
mov rax, qword [rbp + 0x298]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x1b0]
mov rdx, qword [rbp + 0x298]
mov r9, qword [rbp + 0x238]
mov r8, qword [rbp + 0x1a0]
mov rcx, rax
sub rcx, 0x7fff
mov ecx, 0x7fff
cmovl rcx, rax
mov r10w, cx
mov r9, qword [r9]
mov word [r9 + r8*2 + 8], r10w
add r8, 1
mov qword [rdx], r8
sub rax, rcx
mov qword [rbp + 0x1b8], rax
jmp 0x1401063fe
mov eax, dword [0x1401ceda0]
xor eax, dword [0x1401ceda4]
imul eax, eax, 0xed3a0cf2
mov ecx, 0x8bef7b76
xor ecx, 0x6ca46cdc
or eax, ecx
xor eax, 0x35999159
mov ecx, 0x72ce2eb1
xor ecx, 0xfecacda9
cmp eax, ecx
jb 0x140107afa
mov rcx, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2a8]
mov eax, dword [0x1401ceda8]
xor eax, 0xa835ee1f
xor edx, edx
div dword [0x1401cedac]
mov rdx, qword [rbp + 0x1e8]
mov r9d, eax
add r9d, 1
xor eax, 0xffffffff
or eax, 0x4a0c6ffd
add eax, r9d
mov r9d, eax
and r9d, 0xde5d98c9
mov r10d, 0xaaa8ab58
xor r10d, 0x74f53391
xor eax, r10d
or r9d, eax
mov eax, r9d
or eax, eax
mov r10d, 0xd8bcad53
xor r10d, 0x274352ac
xor eax, r10d
mov r10d, 0x23215ddd
xor r10d, 0xfe247629
mov r11d, 0xe18e1245
xor r11d, 0x1e71edba
xor r10d, r11d
mov r11d, 0xffffffff
xor r11d, 0xdd052bf4
and r10d, r11d
or eax, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xdd052bf4
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
mov dword [rbp + 0x18c], eax
movabs rax, 0x998c4f48e7cdd8c1
movabs r9, 0x6673b0b71832273e
xor rax, r9
xor r8, rax
mov rax, rdx
add rax, r8
add rax, 1
mov qword [rbp + 0x180], rax
mov r8w, ax
mov ax, r8w
xor ax, 0xffff
mov r9w, 0xffff
xor r9w, 0x7fff
or ax, r9w
mov r9w, 0x8a20
xor r9w, 0x75df
xor r8w, r9w
mov r9w, 0x617a
xor r9w, 0x1e85
mov r10w, 0x184d
xor r10w, 0xe7b2
xor r9w, r10w
or r8w, r9w
and ax, r8w
mov r8w, 0xc6f1
xor r8w, 0x390e
xor ax, r8w
mov word [rbp + 0x18a], ax
sub rsp, 0x20
call fcn.140107b5d
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x18c]
mov dword [rbp + 0x190], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x197], cl
cmp eax, 0x7aebe84f
ja 0x14010669a
mov al, byte [rbp + 0x197]
test al, 1
jne 0x140106836
jmp 0x140107a81
mov rcx, qword [rbp + 0x220]
mov r8, qword [rbp + 0x218]
mov rax, qword [rbp + 0x1e8]
mov rdx, qword [rbp + 0x210]
mov r10, qword [rbp + 0x200]
mov si, word [rbp + 0x18a]
mov r9, qword [rbp + 0x180]
mov r11d, dword [rbp + 0x190]
imul r11d, r11d, 0x1e35a7bd
shr r11d, 0xf
mov r11d, r11d
mov di, word [r10 + r11*2 + 8]
and r9, 0x7fff
mov word [rdx + r9*2 + 8], di
mov word [r10 + r11*2 + 8], si
mov dx, word [rdx + r9*2 + 8]
add rax, 0x102
mov r9, r8
sub r9, rax
cmovl rax, r8
mov qword [rbp + 0x148], rax
mov rcx, qword [rcx]
movabs r8, 0x8b306f54ebfd2885
sub rax, r8
add rax, 0xfffffffffffffff8
movabs r8, 0x9b53406695773f4b
movabs r9, 0x10632f327e8a17ce
xor r8, r9
add rax, r8
mov qword [rbp + 0x150], rax
xor eax, eax
mov word [rbp + 0x15e], dx
mov qword [rbp + 0x160], rcx
mov rcx, rax
mov qword [rbp + 0x168], rcx
mov rcx, rax
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
mov r8w, word [rbp + 0x15e]
mov rdx, qword [rbp + 0x160]
mov r9, qword [rbp + 0x168]
mov rax, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x178]
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x120], r9
mov qword [rbp + 0x128], rdx
mov word [rbp + 0x136], r8w
test rdx, rdx
setg dl
test r8w, r8w
setne r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rax
jne 0x140106987
jmp 0x1401070ed
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x110]
mov r8, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x128]
mov si, word [rbp + 0x136]
mov r11w, word [rbp + 0x18a]
mov r9w, r11w
sub r9w, si
mov r10w, r9w
mov r9d, r10d
xor r9d, 0xffff8000
sub r11w, si
cmovb r10d, r9d
dec rdx
mov qword [rbp + 0x100], rdx
mov dx, r10w
mov r9d, r10d
movzx r9d, r9w
mov qword [rbp + 0x108], r9
test dx, dx
sete dl
sub r8, r9
seta r8b
or dl, r8b
test dl, 1
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rax
jne 0x1401070ed
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x108]
sub rax, rcx
mov qword [rbp + 0xe0], rax
sub rsp, 0x20
call fcn.140107b42
mov rcx, qword [rbp + 0x1e8]
add rsp, 0x20
mov qword [rbp + 0xe8], rax
xor eax, eax
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0x150]
mov rcx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rcx
cmp rcx, rdx
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jg 0x140106b78
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x2b0]
sub rsp, 0x20
call fcn.140107c10
mov rcx, qword [rbp + 0xe8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xb0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140106de4
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xc0]
add rdx, rax
sub rsp, 0x20
call fcn.140107c10
mov rcx, qword [rbp + 0xb0]
add rsp, 0x20
xor rax, rcx
mov qword [rbp + 0xa8], rax
cmp rax, 0
je 0x140106b39
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xa8]
tzcnt rax, rax
shr rax, 3
or rax, rcx
mov qword [rbp + 0xb8], rax
jmp 0x140106de4
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc8]
add rcx, 8
movabs rdx, 0x9742d3daa7ca04d0
movabs r8, 0x9742d3daa7ca04d8
xor rdx, r8
add rax, rdx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140106a56
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rcx
cmp rcx, rdx
mov qword [rbp + 0xb8], rax
jge 0x140106de4
mov ecx, dword [0x1401cedb0]
mov edx, dword [0x1401cedb4]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xa39f6d99
xor ecx, 0x3c722a40
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x7ec8613d
xor ecx, 0xffffffff
or eax, 0x7ec8613d
and eax, ecx
xor eax, 0x793b40e1
cmp eax, 0xc75dbeee
jae 0x140107b03
mov rdx, qword [rbp + 0x2b0]
mov r10, qword [rbp + 0xe0]
mov r9, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov r8d, dword [0x1401cedb8]
xor r8d, dword [0x1401cedbc]
or r8d, 0x2d49c222
or r8d, 0x2ae856f1
mov eax, r8d
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r11d, 0xffffffff
xor r11d, 0x66ddbcd9
or eax, r11d
mov r11d, 0x66ddbcd9
and r11d, 0x66ddbcd9
mov esi, 0xa30600ec
xor esi, 0x5cf9ff13
xor r11d, esi
xor r8d, 0xffffffff
xor r11d, 0xffffffff
or r8d, r11d
mov r11d, 0xe666f0b7
xor r11d, 0x19990f48
xor eax, r11d
xor r8d, 0xffffffff
or eax, r8d
mov cl, byte [rdx + rcx]
mov r8, r9
and r8, r10
or r9, r10
add r8, r9
cmp cl, byte [rdx + r8]
sete cl
mov byte [rbp + 0x97], cl
cmp eax, 0x4904aac2
jbe 0x140106bfb
mov rax, qword [rbp + 0x98]
mov cl, byte [rbp + 0x97]
test cl, 1
mov qword [rbp + 0xb8], rax
jne 0x140106cd4
jmp 0x140106de4
mov eax, dword [0x1401cedc0]
xor eax, 0xd597dfee
imul eax, dword [0x1401cedc4]
mov ecx, 0x5f97d3b5
xor edx, edx
div ecx
mov ecx, 0x85743175
xor edx, edx
div ecx
imul eax, eax, 0xc9beac46
cmp eax, 0x81d69e32
ja 0x140107b0c
mov r8, qword [rbp + 0xa0]
mov eax, dword [0x1401cedc8]
xor eax, 0x3550df72
mov ecx, dword [0x1401cedcc]
mov edx, 0xb6267ac1
xor edx, 0x70cb0367
xor ecx, edx
add eax, ecx
mov ecx, 0x3b003bda
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x98]
mov ecx, 0xa8d6a2ee
xor ecx, 0xa8d6a2ee
sub ecx, eax
mov eax, 0x7d8e6cf8
xor eax, 0x7d8e6cf8
mov r9d, 0x1a84b963
xor r9d, 0xd98f73b0
sub eax, r9d
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x31ad995a
xor ecx, 0x31ad995a
sub ecx, eax
mov eax, 0xac1d7b4a
xor eax, 0xac1d7b4a
mov r9d, 0x6e307074
xor r9d, 0x2fe5877a
sub eax, r9d
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x28a36fc0
xor ecx, 0x8dee314f
add r8, 1
mov qword [rbp + 0x80], r8
add rdx, 1
mov qword [rbp + 0x88], rdx
cmp eax, ecx
je 0x140106d09
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jmp 0x140106b78
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x78], rax
mov eax, dword [0x1401cedd0]
sub eax, dword [0x1401cedd4]
mov ecx, 0x4df357b2
xor edx, edx
div ecx
imul eax, eax, 0x39accc96
mov ecx, eax
xor ecx, 0x85cdbe3b
mov edx, 0x32a9d7e1
xor edx, 0xcd56281e
xor ecx, edx
mov edx, 0x5b8d5a66
xor edx, 0xde40e45d
or eax, edx
and eax, ecx
cmp eax, 0x340fd17d
je 0x140107b15
mov rcx, qword [rbp + 0x2d0]
mov eax, dword [0x1401cedd8]
or eax, dword [0x1401ceddc]
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xffb36b6c
mov r8d, 0x729df382
xor r8d, 0x8d2e98ee
mov r9d, 0x888adc50
xor r9d, 0x777523af
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
and eax, 0xdcee000a
mov r9d, 0xffffffff
xor r9d, 0xb20f17fa
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xebf4e59c
xor r9d, 0x140b1a63
xor edx, r9d
imul edx, r8d
mov r9d, 0xde26d7de
xor r9d, 0x6c29c024
mov r8d, eax
and r8d, r9d
or eax, 0xb20f17fa
imul eax, r8d
add eax, edx
mov cl, byte [rcx]
mov dl, 0x8c
xor dl, 0x8c
cmp cl, dl
sete cl
mov byte [rbp + 0x77], cl
cmp eax, 0xe91b2dfe
ja 0x140107b15
mov al, byte [rbp + 0x77]
test al, 1
jne 0x140106efa
jmp 0x140107a81
mov eax, dword [0x1401cede0]
xor edx, edx
div dword [0x1401cede4]
mov ecx, 0xffffffff
xor ecx, 0xc07d30e2
add eax, ecx
mov ecx, 0x94c9f6f5
xor ecx, 0x94c9f6f4
add eax, ecx
mov ecx, 0x41edb429
xor ecx, 0x1b5719b2
sub eax, ecx
add eax, 0x3ce3990b
cmp eax, 0x72cb755b
ja 0x140107b1e
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x78]
mov r10d, dword [0x1401cede8]
mov r9d, dword [0x1401cedec]
mov eax, r10d
xor eax, 0xffffffff
and eax, 0x6aa02d1b
mov r11d, 0x82c14fc6
xor r11d, 0xe86162dd
mov r8d, 0xc7b974a1
xor r8d, 0x38468b5e
xor r11d, r8d
and r10d, r11d
mov r8d, r9d
xor r8d, 0xffffffff
mov esi, 0xa8913d9f
xor esi, 0xc2311084
and r8d, esi
and r9d, r11d
or eax, r10d
or r8d, r9d
xor eax, r8d
imul eax, eax, 0x654ba293
imul eax, eax, 0x23918eed
xor eax, 0x4f0f5127
cmp rcx, rdx
setb cl
mov byte [rbp + 0x76], cl
cmp eax, 0x1517da32
je 0x140106f3f
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x100]
mov r8b, byte [rbp + 0x76]
test r8b, 1
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jne 0x140106ffd
jmp 0x140107049
mov rax, qword [rbp + 0x78]
mov r8, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x290]
mov r9, qword [rcx]
movabs rcx, 0x8cba7842a08cd59c
movabs rdx, 0x8cba7842a08cd59e
xor rcx, rdx
mov rdx, r8
sar rdx, cl
mov rcx, qword [rbp + 0x108]
cmp r9, rax
cmovg rdx, r8
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
mov rdx, qword [rbp + 0x228]
mov r8, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], r8
cmp qword [rdx], rcx
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rax
jle 0x1401070ed
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x50]
mov r10w, word [rbp + 0x136]
mov r9, qword [rbp + 0x210]
movzx r11d, r10w
mov r9w, word [r9 + r11*2 + 8]
cmp r10w, r9w
mov word [rbp + 0x15e], r9w
mov qword [rbp + 0x160], r8
mov qword [rbp + 0x168], rdx
mov rdx, rax
mov qword [rbp + 0x170], rdx
mov rdx, rcx
mov qword [rbp + 0x178], rdx
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rax
jne 0x140106912
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x140]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov ecx, dword [0x1401cedf0]
imul ecx, dword [0x1401cedf4]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xaf51a391
mov edx, 0xffffffff
xor edx, 0xaf51a391
and ecx, edx
or eax, ecx
and eax, eax
mov ecx, 0x1860cbe1
xor ecx, 0xe79f341e
xor eax, ecx
mov ecx, 0xa85607a5
xor ecx, 0x71073cd1
mov edx, 0x6c90c97c
xor edx, 0xb5c1f208
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x82b9b5d6
xor ecx, 0x7d464a29
xor eax, ecx
mov ecx, 0x220449de
xor ecx, 0xa0cc833f
mov edx, 0x2ac6f21f
xor edx, 0xd5390de0
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x8602dc10
xor ecx, 0x8408e595
cmp eax, ecx
jb 0x140107b27
mov eax, dword [0x1401cedf8]
mov ecx, dword [0x1401cedfc]
xor ecx, 0x2e655fd7
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xa73b150f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa73b150f
mov r8d, 0x823397ca
xor r8d, 0x250882c5
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0x9ba7c7ba
xor edx, 0xffffffff
mov ecx, 0x291c4f4d
xor ecx, 0xb2bb88f7
and ecx, edx
shl ecx, 1
sub ecx, 0x9ba7c7ba
sub eax, ecx
mov ecx, 0xc52dedbd
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x38]
mov ecx, 0xc97820db
xor ecx, 0x31ae43f4
movabs r8, 0x5805541c4c955907
movabs r9, 0x5805541c4c955903
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rbp + 0x2f], dl
cmp eax, ecx
je 0x140107b27
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x140107257
jmp 0x140107a3a
mov rax, qword [rbp + 0x1f0]
cmp rax, 0
mov qword [rbp + 0x20], rax
jle 0x14010753a
mov eax, dword [0x1401cee00]
xor eax, 0x90f0ad53
mov r8d, dword [0x1401cee04]
mov ecx, 0xf7d4e10f
xor ecx, 0x18a84b03
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x43dc04c3
mov r8d, 0x9a898a7
xor r8d, 0x4a749c64
mov ecx, 0x7a899758
xor ecx, 0x857668a7
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x43dc04c3
mov r8d, 0xa01a977c
xor r8d, 0xe3c693bf
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x9348defb
xor ecx, 0xc2acdbf4
xor edx, edx
div ecx
imul eax, eax, 0x2b3bac62
cmp eax, 0x9f1c59ca
ja 0x140107b30
mov rdx, qword [rbp + 0x1f0]
mov rcx, qword [rbp + 0x1e8]
mov eax, dword [0x1401cee08]
xor eax, 0xbc240602
mov r9d, dword [0x1401cee0c]
xor r8d, r8d
sub r8d, r9d
sub eax, r8d
mov r8d, 0x81464207
xor r8d, 0xdf6dd73
xor eax, r8d
mov r8d, eax
add r8d, 1
xor eax, 0xffffffff
mov r9d, 0xa5bb34c5
xor r9d, 0x954c678f
or eax, r9d
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xe031a808
mov r9d, 0xffffffff
xor r9d, 0xe031a808
and eax, r9d
sub eax, r8d
sub rcx, rdx
mov qword [rbp + 0x18], rcx
cmp eax, 0x7d8aeb42
jae 0x14010731d
xor eax, eax
mov qword [rbp + 0x10], rax
jmp 0x1401073b1
mov rcx, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x10]
mov qword [rbp + 8], rax
cmp rax, rcx
je 0x140107452
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2b0]
mov r9, qword [rbp + 0x18]
mov r8, r9
and r8, rax
or r9, rax
add r8, r9
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
mov r9d, 0x4ca4a07c
xor r9d, 0x4ca4a07d
add r8d, r9d
mov dword [rcx + rdx*4], r8d
movabs rcx, 0x9615bc50cb0973d8
movabs rdx, 0x6012e1318f581c1b
xor rcx, rdx
sub rax, rcx
movabs rcx, 0xf5781682ba06fcb7
movabs rdx, 0xf5781682ba06fcb6
xor rcx, rdx
add rax, rcx
movabs rcx, 0xf6075d6144516fc3
add rax, rcx
mov qword [rbp + 0x10], rax
jmp 0x1401073b1
mov rax, qword [rbp + 0x1f0]
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rcx]
mov r8, rdx
and r8, rax
shl r8, 1
xor rdx, rax
add rdx, r8
mov qword [rcx], rdx
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp - 8], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp + 0x20], rax
jle 0x14010753a
mov rax, qword [rbp + 0x298]
mov rcx, qword [rbp + 0x2a0]
mov rcx, qword [rcx]
mov qword [rbp - 0x18], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp - 0x10], rax
jg 0x1401074f1
mov rcx, qword [rbp + 0x2a0]
mov r8, qword [rbp - 0x18]
mov rax, r8
shl rax, 1
mov edx, 2
cmp r8, 0
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400246d0
mov rax, qword [rbp + 0x298]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x298]
mov r9, qword [rbp + 0x238]
mov r8, qword [rbp - 0x10]
mov rcx, rax
sub rcx, 0x7fff
mov ecx, 0x7fff
cmovl rcx, rax
mov r10w, cx
mov r9, qword [r9]
mov word [r9 + r8*2 + 8], r10w
add r8, 1
mov qword [rdx], r8
sub rax, rcx
mov qword [rbp], rax
jmp 0x14010747a
mov rcx, qword [rbp + 0x298]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x20]
mov qword [rbp - 0x30], rdx
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
mov rcx, qword [rcx]
add rcx, 3
mov qword [rbp - 0x20], rcx
cmp rax, rcx
jge 0x1401075ab
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
movabs rcx, 0x1fa3b7a4168ac4ce
movabs r8, 0x1fa3b7a4168ac4cf
xor rcx, r8
shl rax, cl
mov rcx, qword [rbp + 0x2a0]
mov r8, rax
sub r8, rdx
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400246d0
add rsp, 0x20
mov eax, dword [0x1401cee10]
mov edx, dword [0x1401cee14]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, 0x33b15883
xor eax, 0x1fa2728f
add ecx, eax
add ecx, 0xa6aba513
sub ecx, 0x2c132a0c
mov edx, 0x121d41ca
xor edx, 0x55126f8f
mov eax, ecx
and eax, edx
xor ecx, 0x470f2e45
or eax, ecx
or eax, 0x2c476443
cmp eax, 0x4042bd1
jb 0x140107b39
mov eax, dword [0x1401cee18]
mov edx, dword [0x1401cee1c]
mov ecx, eax
xor ecx, edx
mov r8d, 0x2b7e28e6
xor r8d, 0xd481d719
xor ecx, r8d
mov r8d, edx
and r8d, ecx
mov ecx, 0x88a4831f
xor ecx, 0x88a4831d
imul ecx, r8d
sub ecx, edx
sub eax, ecx
or eax, 0xf46a9ea0
mov ecx, 0x39e8a13c
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x38]
mov ecx, eax
mov rax, qword [rbp + 0x30]
or ecx, 0x62d1a0e4
mov dword [rbp - 0x38], ecx
movabs rcx, 0xbda7f184cb16b111
movabs r8, 0x42580e7b34e94eec
xor rcx, r8
add rdx, rcx
mov rcx, qword [0x1401dda30]
mov cl, byte [rcx + rdx]
mov byte [rbp - 0x3b], cl
mov cx, ax
mov word [rbp - 0x3a], cx
mov ax, cx
and ax, 0xffff
shl ax, 1
xor cx, 0xffff
add cx, ax
sub rsp, 0x20
call fcn.1401055d0
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x38]
mov word [rbp - 0x34], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x9636d4f2
jae 0x140107609
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401076e5
jmp 0x140107a81
mov rcx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x298]
mov r9, qword [rbp + 0x38]
mov r11w, word [rbp - 0x3a]
mov rdx, qword [rbp + 0x238]
mov r15w, word [rbp - 0x34]
mov r8b, byte [rbp - 0x3b]
mov r10, qword [rbp + 0x2c0]
movzx esi, r8b
mov edi, dword [r10 + rsi*4 + 0x404]
mov ebx, 0x3e940416
xor ebx, 0x3e940417
mov r14d, 0x2fa1d66b
xor r14d, 0xd05e2994
xor ebx, r14d
xor r14d, r14d
sub r14d, 1
sub ebx, r14d
sub edi, ebx
mov dword [r10 + rsi*4 + 0x404], edi
movzx esi, r15w
mov edi, dword [r10 + rsi*4 + 0x478]
mov ebx, 0xcaa36762
xor ebx, 0xcaa36763
mov r14d, 0xd36c8328
xor r14d, 0x2c937cd7
xor ebx, r14d
xor r14d, r14d
sub r14d, 1
sub ebx, r14d
sub edi, ebx
mov dword [r10 + rsi*4 + 0x478], edi
movzx r8d, r8b
mov r10w, r8w
shl r10w, 8
mov r8w, r10w
and r8w, r15w
xor r8w, 0xffff
add r15w, r10w
add r15w, 1
add r15w, r8w
mov r8w, r15w
xor r8w, 0xffff
mov si, 0xffff
xor si, 0x8000
mov di, 0x685d
xor di, 0xee97
mov r10w, 0x1910
xor r10w, 0xe6ef
xor di, r10w
mov bx, 0xf5e9
xor bx, 0x7323
mov r10w, r8w
and r10w, bx
and r15w, di
mov bx, si
and bx, 0x86ca
mov r14w, di
and r14w, 0x8000
or r10w, r15w
or bx, r14w
xor r10w, bx
or r8w, si
xor r8w, 0xffff
mov si, 0x827b
xor si, 0x4b1
or si, di
and r8w, si
or r10w, r8w
mov rdx, qword [rdx]
mov r8, qword [rax]
mov word [rdx + r8*2 + 8], r10w
movabs r10, 0xb36296bc7503f220
movabs rsi, 0xb36296bc7503f221
xor r10, rsi
mov rsi, r8
and rsi, r10
shl rsi, 1
movabs rdi, 0xdf41a07b42538431
movabs r10, 0xdf41a07b42538430
xor rdi, r10
mov r10, r8
xor r10, rdi
add r10, rsi
mov word [rdx + r10*2 + 8], r11w
mov r10w, r9w
movabs r11, 0x24aa95971665f96d
movabs r9, 0x24aa95971665f96d
xor r11, r9
movabs r9, 0x5d8ca23a28d976f5
movabs rsi, 0x5d8ca23a28d976f7
xor r9, rsi
sub r11, r9
mov r9, r8
sub r9, r11
mov word [rdx + r9*2 + 8], r10w
movabs r9, 0x9a7360c97ff4118f
movabs rdx, 0x9a7360c97ff4118c
xor r9, rdx
mov rdx, r8
and rdx, r9
or r8, 3
add rdx, r8
mov qword [rax], rdx
mov eax, 1
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp + 0x38]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rcx
cmp rdx, r8
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
jae 0x140107a54
mov rcx, qword [rbp + 0x218]
mov rax, qword [rbp - 0x68]
mov r8, 0xffffffffffffffff
xor r8, 1
xor edx, edx
sub rdx, 1
sub r8, rdx
mov rdx, rax
sub rdx, r8
mov qword [rbp - 0x78], rdx
movabs rdx, 0xb8f7a624c0183b86
movabs r8, 0xb8f7a624c0183b83
xor rdx, r8
add rax, rdx
cmp rax, rcx
jge 0x1401079f1
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x2b0]
mov r8w, dx
mov r9w, 0xffff
xor r9w, 0x7fff
mov ax, r8w
xor ax, r9w
and ax, r8w
mov word [rbp - 0x7a], ax
sub rsp, 0x20
call fcn.140107b5d
mov r9, qword [rbp - 0x78]
mov r8, qword [rbp + 0x210]
mov dx, word [rbp - 0x7a]
add rsp, 0x20
mov r10d, eax
mov rax, qword [rbp + 0x200]
mov ecx, 0x4baa6772
xor ecx, 0x559fc0cf
imul r10d, ecx
mov ecx, 0x38ac5bc6
xor ecx, 0x38ac5bc9
shr r10d, cl
mov ecx, r10d
mov ecx, ecx
mov r10w, word [rax + rcx*2 + 8]
and r9, 0x7fff
mov word [r8 + r9*2 + 8], r10w
mov word [rax + rcx*2 + 8], dx
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
movabs rdx, 0x9a945d579545431a
add rax, rdx
movabs rdx, 0x8c272377f7d12ed6
movabs r8, 0x8c272377f7d12ed7
xor rdx, r8
add rax, rdx
movabs rdx, 0x9a945d579545431a
sub rax, rdx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
jmp 0x1401078f2
mov rcx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1f0]
add rax, 1
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
mov rdx, rax
and rdx, 1
shl rdx, 1
xor rax, 1
add rax, rdx
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x248], rax
jmp 0x140106289
mov rax, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x208]
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
lea rcx, [rbp + 0x2e8]
sub rsp, 0x20
call fcn.140024b00
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0x200]
add rsp, 0x20
mov qword [rbp + 0x2d8], rcx
mov qword [rbp + 0x2e0], rax
lea rcx, [rbp + 0x2d8]
sub rsp, 0x20
call fcn.140024b00
add rsp, 0x20
lea rsp, [rbp + 0x328]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
sub esi, dword [rdi]
test eax, 0xe97fe967
invalid
mov ecx, 0xe9a77d3d
xchg edi, eax
jmp 0x140107b01
invalid
pop rax
lahf
mov ebp, ecx
out dx, eax
invalid
adc eax, 0xe9d50a72
hlt
mov ecx, dword [rbx + 0x1be9af2b]
invalid
lodsb al, byte [rsi]
frstor dword [rbp - 0xbe7169a]
invalid
mov ch, ch
std
jmp 0x140107196
or ecx, ebx
and dl, byte [rbp - 0x17]
in al, 0xf7
invalid
xor dword [rbp - 0x3816a1d0], edi
cli
invalid