Function at 0x140107570
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x3d8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x300], r9
mov qword [rbp + 0x2c0], r8
mov qword [rbp + 0x2c8], rdx
mov qword [rbp + 0x2d0], rcx
mov rax, qword [rbp + 0x3c0]
mov qword [rbp + 0x308], rax
mov rax, qword [rbp + 0x3b8]
mov qword [rbp + 0x2d8], rax
mov rax, qword [rbp + 0x3b0]
mov qword [rbp + 0x2e0], rax
mov eax, 0x10
mov qword [rbp + 0x2e8], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x2e8]
mov rcx, rsp
mov qword [rbp + 0x2f0], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2f8], rax
sub rsp, 0x20
call fcn.140109816
mov r9, qword [rbp + 0x300]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x308]
mov qword [rbp + 0x310], rcx
mov dword [r9 + 0x400], 1
movabs rcx, 0x9e3cc69c8c5aa0e9
movabs rdx, 0x9e3cc69c8c5aa0ec
xor rcx, rdx
cmp rax, rcx
jge 0x140107a62
mov rcx, qword [rbp + 0x308]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x2b0], rax
xor eax, eax
mov qword [rbp + 0x2b8], rax
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x2a8], rax
cmp rax, rcx
je 0x1401076eb
mov rax, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e0]
mov r9, qword [rbp + 0x2d8]
mov r8, rax
add r8, r9
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
add r8d, 1
mov dword [rcx + rdx*4], r8d
movabs rcx, 0xa1e1df5f6ea6ae68
movabs rdx, 0xa1e1df5f6ea6ae69
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x2b8], rax
jmp 0x140107674
mov rax, qword [rbp + 0x308]
mov rcx, qword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x300]
mov r8, qword [rdx + 0x4f0]
movabs r9, 0xf8d8ea7516af1a54
movabs r10, 0x9cbae50481c863bc
xor r9, r10
add r8, r9
add r8, rax
movabs r9, 0x64620f71976779e8
sub r8, r9
mov qword [rdx + 0x4f0], r8
add rcx, 8
mov qword [rbp + 0x298], rcx
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x290], rax
cmp rax, 0
jle 0x1401079e3
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2d0]
mov rcx, qword [rcx]
mov qword [rbp + 0x280], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp + 0x288], rax
jg 0x1401077e3
mov rcx, qword [rbp + 0x2d0]
mov r8, qword [rbp + 0x280]
mov rax, r8
shl rax, 1
movabs r9, 0x38fc21a27e7e057e
movabs rdx, 0x38fc21a27e7e057e
xor r9, rdx
mov edx, 2
cmp r8, r9
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400255d0
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x288], rax
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x278], rax
mov ecx, dword [0x1401dbef0]
mov eax, dword [0x1401dbef4]
xor eax, 0x71142bd1
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0x501f1579
xor edx, 0xd8e9b313
and eax, edx
xor eax, 0xffffffff
mov edx, 0xc7620b4c
xor edx, 0x4f94ad26
mov r8d, 0x63200590
xor r8d, 0x9cdffa6f
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x88f6a66a
or edx, r8d
mov r8d, 0x65f6af5c
xor r8d, 0x9a0950a3
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0xeeb7b3e9
xor ecx, 0x11484c16
xor eax, ecx
and eax, 0x1435d739
mov ecx, 0xc022d9c4
xor ecx, 0xc022d9c4
mov edx, 0x2c85119a
xor edx, 0xed972f51
sub ecx, edx
sub eax, ecx
cmp eax, 0xdca620ca
je 0x140109798
mov rcx, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x2c8]
mov r9, qword [rbp + 0x278]
mov r10, qword [rbp + 0x298]
mov r8d, dword [0x1401dbef8]
mov eax, dword [0x1401dbefc]
xor eax, 0xa955154c
sub r8d, eax
and r8d, 0x57fe7275
mov eax, r8d
add eax, 1
mov r11d, 0xc7ef38da
xor r11d, 0x3810c725
xor r8d, r11d
or r8d, 0x9da6a3d3
add r8d, eax
mov eax, r8d
or eax, eax
mov r11d, 0x4f606c2b
xor r11d, 0xb09f93d4
xor eax, r11d
mov r11d, 0x638cbead
xor r11d, 0xb60bf746
mov esi, 0x8c2a670e
xor esi, 0x73d598f1
xor r11d, esi
mov esi, 0xffffffff
xor esi, 0xd58749eb
and r11d, esi
or eax, r11d
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov r11d, 0x7362eff1
xor r11d, 0xa6e5a61a
mov esi, 0x1da71b86
xor esi, 0xe258e479
xor r11d, esi
and r8d, r11d
mov r11d, 0xeb9c41d8
xor r11d, 0x1463be27
xor eax, r11d
xor r8d, 0xffffffff
and eax, r8d
mov r8, rcx
sub r8, 0x7fff
mov r8d, 0x7fff
cmovl r8, rcx
mov r11w, r8w
mov r10, qword [r10]
mov word [r10 + r9*2 + 8], r11w
mov r10, r9
and r10, 1
shl r10, 1
xor r9, 1
add r9, r10
mov qword [rdx], r9
mov rdx, rcx
xor rdx, r8
xor r8, 0xffffffffffffffff
and rcx, r8
shl rcx, 1
sub rcx, rdx
mov qword [rbp + 0x270], rcx
cmp eax, 0x7338e15e
jb 0x14010789f
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x2a0], rax
jmp 0x14010774a
movabs rax, 0x8768b99e01778d93
movabs rcx, 0x8768b99e01778d93
xor rax, rcx
mov qword [rbp + 0x348], rax
mov qword [rbp + 0x350], 0
lea rcx, [rbp + 0x348]
sub rsp, 0x20
call fcn.140025a40
add rsp, 0x20
movabs rax, 0x67bc4ec41bd28226
movabs rcx, 0x67bc4ec41bd28226
xor rax, rcx
mov qword [rbp + 0x338], rax
mov qword [rbp + 0x340], 0
lea rcx, [rbp + 0x338]
sub rsp, 0x20
call fcn.140025a40
add rsp, 0x20
jmp 0x140109788
mov eax, dword [0x1401dbf00]
xor eax, dword [0x1401dbf04]
xor ecx, ecx
sub ecx, 0xaddceacf
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5991b618
and ecx, edx
mov edx, 0x4618b061
xor edx, 0x1f890679
or eax, edx
mov edx, 0xeff29ad7
xor edx, 0x100d6528
xor eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xbf217f0a
mov edx, 0xffffffff
xor edx, 0xbf217f0a
and ecx, edx
or eax, ecx
cmp eax, 0x182ec66
jbe 0x1401097a1
mov eax, dword [0x1401dbf08]
mov edx, dword [0x1401dbf0c]
or eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7fe9a759
xor edx, edx
div ecx
sub eax, 0xfb037f1d
mov ecx, 0x8c3184a1
xor edx, edx
div ecx
mov dword [rbp + 0x234], eax
movabs rdx, 0xf383e5e099e3f327
movabs rax, 0xf383e5e099e1f327
xor rdx, rax
lea rcx, [rbp + 0x328]
sub rsp, 0x20
call fcn.140025b26
mov rcx, qword [rbp + 0x2f0]
add rsp, 0x20
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x330]
mov qword [rbp + 0x228], rax
movabs rdx, 0x410c38885050eef
movabs rax, 0x410c38885058eef
xor rdx, rax
sub rsp, 0x20
call fcn.140025b26
mov r11, qword [rbp + 0x2f0]
mov r9, qword [rbp + 0x308]
mov r10, qword [rbp + 0x2d8]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2d0]
mov eax, dword [rbp + 0x234]
add rsp, 0x20
mov rsi, qword [r11]
mov qword [rbp + 0x238], rsi
mov r11, qword [r11 + 8]
mov qword [rbp + 0x240], r11
add r9, r10
mov qword [rbp + 0x248], r9
mov r9, r8
add r9, 0x18
mov qword [rbp + 0x250], r9
add r8, 0x10
mov qword [rbp + 0x258], r8
add rdx, 0x4f0
mov qword [rbp + 0x260], rdx
add rcx, 8
mov qword [rbp + 0x268], rcx
cmp eax, 0xcaa8f733
jae 0x140107acd
mov rax, qword [rbp + 0x2d8]
xor ecx, ecx
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x218], rax
jmp 0x140107c24
mov rax, qword [rbp + 0x248]
mov rdx, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x218]
mov qword [rbp + 0x200], rcx
mov qword [rbp + 0x208], rdx
cmp rax, rcx
jle 0x14010972f
mov rax, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x200]
add rcx, 4
cmp rax, rcx
jg 0x1401081cc
mov eax, dword [0x1401dbf10]
xor edx, edx
div dword [0x1401dbf14]
mov r11d, eax
mov eax, 0x13a85521
xor eax, 0xec57aade
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xf7ecea81
mov r8d, 0x14b785f6
xor r8d, 0xeeaea432
mov eax, 0x1f930041
xor eax, 0xe06cffbe
xor r8d, eax
mov r9d, 0x85cf4ec0
xor r9d, 0x7fd66f04
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0xfa1921c4
mov r10d, r8d
and r10d, 0xf7ecea81
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x6c0efc5f
xor edx, 0x9617dd9b
or edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x4ce9a8ec
mov edx, 0x2ac166ff
xor edx, 0x5bc49459
mov r8d, 0xffa9a242
xor r8d, 0x565dbd
xor edx, r8d
or eax, ecx
mov ecx, 0xf6c62995
xor ecx, 0x87c3db33
or ecx, edx
mov edx, 0xbd4258c9
xor edx, 0x42bda736
xor eax, edx
and eax, ecx
mov ecx, 0xd8d37a36
xor edx, edx
div ecx
cmp eax, 0x37b79176
ja 0x1401097aa
mov r8, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x200]
mov rdx, qword [rbp + 0x248]
mov r10d, dword [0x1401dbf18]
mov eax, dword [0x1401dbf1c]
mov r9d, r10d
xor r9d, 0xffffffff
xor r10d, 0xffffffff
and r9d, r10d
or eax, eax
xor eax, 0xffffffff
xor r9d, 0xffffffff
xor eax, 0xffffffff
and r9d, eax
mov eax, r9d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0x1bbec68e
xor r9d, 0xac1d82b6
mov r10d, 0x5dc3caf0
xor r10d, 0xa23c350f
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0xb7a34438
and r9d, r10d
xor eax, 0xffffffff
mov r10d, 0x88cf31a9
xor r10d, 0x7730ce56
xor r9d, r10d
and eax, r9d
add eax, 0x659f184c
mov r9d, eax
and r9d, 0x71de801a
xor r9d, 0xffffffff
add eax, 0x71de801a
mov r10d, 0x3095136e
xor r10d, 0x3095136f
add eax, r10d
add eax, r9d
xor r9d, r9d
sub r9, rcx
add rdx, r9
movabs r10, 0xa13699a5cd9ba226
movabs r9, 0x5ec9665a32645dd9
xor r10, r9
mov r9, r8
xor r9, r10
xor r10d, r10d
sub r10, 1
sub r9, r10
sub rdx, r9
mov qword [rbp + 0x1e8], rdx
sub rcx, r8
mov qword [rbp + 0x1f0], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp + 0x1f8], rcx
cmp eax, 0xfdcafc03
ja 0x140107d54
xor eax, eax
mov qword [rbp + 0x1e0], rax
jmp 0x140107e7b
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x1d8], rax
cmp rax, rcx
je 0x140107eef
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x1f0]
add r8, rax
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
add r8d, 1
mov dword [rcx + rdx*4], r8d
movabs rcx, 0xd682529df5b3b968
movabs rdx, 0xd682529df5b3b969
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x1e0], rax
jmp 0x140107e7b
mov eax, dword [0x1401dbf20]
mov ecx, dword [0x1401dbf24]
mov edx, 0x7df620e7
xor edx, 0x4c5847c9
xor ecx, edx
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x4842c2ab
mov edx, 0xffffffff
xor edx, 0x4842c2ab
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x337db25b
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0xb1dcde7e
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb1dcde7e
add eax, edx
sub eax, ecx
mov ecx, 0xbf59cee1
xor ecx, 0x61f3501a
cmp eax, ecx
je 0x1401097b3
mov r10, qword [rbp + 0x1e8]
mov eax, dword [0x1401dbf28]
mov ecx, 0x16894a71
xor ecx, 0x86b6690
xor eax, ecx
imul eax, dword [0x1401dbf2c]
mov ecx, 0xb5f87a8b
xor ecx, 0xe800edb2
xor edx, edx
div ecx
mov ecx, 0xc10e21d6
xor ecx, 0x4af5dd58
add eax, ecx
mov ecx, 0x3934da5f
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x260]
mov ecx, 0xe885972e
xor ecx, 0xb3a4d41f
mov r8, qword [rdx]
mov r9, r8
and r9, r10
shl r9, 1
xor r8, r10
add r8, r9
mov qword [rdx], r8
cmp eax, ecx
ja 0x140107f5d
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x1d0], rax
jmp 0x140107fe6
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x1c8], rax
mov eax, dword [0x1401dbf30]
sub eax, dword [0x1401dbf34]
add eax, 0xe1f26ebb
add eax, 0x6679e4c3
or eax, 0x7aeb395
cmp eax, 0x8d2b8411
je 0x1401097bc
mov rcx, qword [rbp + 0x1c8]
mov eax, dword [0x1401dbf38]
or eax, dword [0x1401dbf3c]
mov r8d, 0x2c3aed5b
xor r8d, 0xb57c6dc8
xor edx, edx
div r8d
xor edx, edx
sub edx, 0x6df5cbd6
sub eax, edx
mov r8d, 0x9f7361df
xor edx, edx
div r8d
cmp rcx, 0
setg cl
mov byte [rbp + 0x1c7], cl
cmp eax, 0x80e49cdc
je 0x1401097bc
mov al, byte [rbp + 0x1c7]
test al, 1
jne 0x14010807f
jmp 0x14010972f
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2d0]
mov rcx, qword [rcx]
mov qword [rbp + 0x1b0], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp + 0x1b8], rax
jg 0x140108116
mov r8, qword [rbp + 0x1b0]
movabs rcx, 0x27954e6ee73599dd
movabs rax, 0x27954e6ee73599dc
xor rcx, rax
mov rax, r8
shl rax, cl
mov rcx, qword [rbp + 0x2d0]
movabs r9, 0x4537da57fc616b81
movabs rdx, 0x4537da57fc616b81
xor r9, rdx
mov edx, 2
cmp r8, r9
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400255d0
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x1b8], rax
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x2c8]
mov r9, qword [rbp + 0x268]
mov r8, qword [rbp + 0x1b8]
mov rax, rdx
sub rax, 0x7fff
mov eax, 0x7fff
cmovl rax, rdx
mov r10w, ax
mov r9, qword [r9]
mov word [r9 + r8*2 + 8], r10w
movabs r9, 0x15e453c7c36c098a
movabs r10, 0xdb6ed3c56f70571a
xor r9, r10
add r8, r9
movabs r9, 0x45564d42fbdb29f7
movabs r10, 0x45564d42fbdb29f6
xor r9, r10
add r8, r9
movabs r9, 0xce8a8002ac1c5e90
sub r8, r9
mov qword [rcx], r8
mov rcx, rdx
xor rcx, rax
xor rax, 0xffffffffffffffff
and rdx, rax
movabs rax, 0x4e417c33e76f9315
movabs r8, 0x4e417c33e76f9317
xor rax, r8
imul rax, rdx
sub rax, rcx
mov qword [rbp + 0x1d0], rax
jmp 0x140107fe6
mov eax, dword [0x1401dbf40]
mov ecx, 0x8d9a2a2
xor ecx, 0x1e81e66d
xor eax, ecx
xor edx, edx
div dword [0x1401dbf44]
mov ecx, 0x9e3f9efc
xor ecx, 0x29f2ce7d
xor edx, edx
div ecx
mov ecx, 0xf7876d2b
xor ecx, 0xfc2203f4
imul eax, ecx
mov ecx, 0x4ebd6137
xor ecx, 0xee97fa01
and eax, ecx
mov ecx, 0xa765762f
xor ecx, 0x1947be71
cmp eax, ecx
ja 0x1401097c5
mov rcx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x2d8]
mov eax, dword [0x1401dbf48]
mov r9d, dword [0x1401dbf4c]
xor r9d, 0x45631ff5
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, r9d
add edx, eax
xor eax, eax
sub eax, edx
mov r9d, 0xe552d8ee
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x200]
add eax, 0x96974d71
mov r9d, 0xffbbcfcb
xor r9d, 0xbcb3e143
or eax, r9d
mov dword [rbp + 0x1a4], eax
mov eax, 0x22c81470
xor eax, 0x4635bd3d
mov dword [rbp + 0x1a0], eax
mov rax, rdx
sub rax, r8
mov qword [rbp + 0x190], rax
and ax, 0x7fff
mov word [rbp + 0x19e], ax
sub rsp, 0x20
call fcn.140109831
mov rdx, qword [rbp + 0x310]
mov ecx, dword [rbp + 0x1a0]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x1a4]
mov dword [rbp + 0x1a8], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x1af], dl
cmp eax, ecx
jb 0x1401097c5
mov al, byte [rbp + 0x1af]
test al, 1
jne 0x1401082fb
jmp 0x14010972f
mov rax, qword [rbp + 0x250]
mov r8, qword [rbp + 0x200]
mov rdx, qword [rbp + 0x240]
mov r10, qword [rbp + 0x228]
mov si, word [rbp + 0x19e]
mov rbx, qword [rbp + 0x190]
mov r9d, dword [rbp + 0x1a8]
mov edi, 0x5446e986
xor edi, 0x4a734e3b
mov ecx, 0x9c87eb75
xor ecx, 0x6378148a
xor edi, ecx
mov r11d, r9d
and r11d, edi
mov ecx, r9d
or ecx, edi
xor ecx, 0xffffffff
imul ecx, r11d
mov edi, 0xc2a919ff
xor edi, 0xdc9cbe42
mov r11d, r9d
and r11d, edi
or r9d, 0x1e35a7bd
imul r9d, r11d
add r9d, ecx
mov ecx, 0x456db69
xor ecx, 0x456db66
shr r9d, cl
mov rcx, qword [rbp + 0x248]
mov r9d, r9d
mov r11d, r9d
mov di, word [r10 + r11*2 + 8]
mov r9, rbx
and r9, 0x7fff
xor r9, 0xffffffffffffffff
and rbx, 0x7fff
xor rbx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
xor rbx, 0xffffffffffffffff
or r9, rbx
mov word [rdx + r9*2 + 8], di
mov word [r10 + r11*2 + 8], si
mov dx, word [rdx + r9*2 + 8]
xor r9d, r9d
sub r9, 0x102
sub r8, r9
mov r9, rcx
sub r9, r8
cmovl r8, rcx
mov qword [rbp + 0x158], r8
mov rcx, qword [rax]
mov rax, r8
and rax, 0xfffffffffffffff8
or r8, 0xfffffffffffffff8
add rax, r8
mov qword [rbp + 0x160], rax
xor eax, eax
mov word [rbp + 0x16e], dx
mov qword [rbp + 0x170], rcx
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov rcx, rax
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
mov ax, word [rbp + 0x16e]
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x178]
mov r8, qword [rbp + 0x180]
mov r9, qword [rbp + 0x188]
mov qword [rbp + 0x130], r9
mov qword [rbp + 0x138], r8
mov qword [rbp + 0x140], rdx
mov qword [rbp + 0x148], rcx
mov word [rbp + 0x156], ax
mov eax, dword [0x1401dbf50]
xor eax, 0xd294bd46
mov ecx, dword [str..X1_]
mov edx, 0xd5834c3e
xor edx, 0x69ea368a
xor ecx, edx
sub eax, 0xb8155839
sub eax, ecx
add eax, 0xb8155839
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xdb272815
mov edx, 0xffffffff
xor edx, 0xdb272815
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x886616fd
mov ecx, 0x2b3d0fff
xor ecx, 0x4bb7285
xor eax, ecx
mov ecx, 0x8d8156fb
xor ecx, 0xe0254cfc
cmp eax, ecx
jbe 0x1401097ce
mov rcx, qword [rbp + 0x148]
mov eax, dword [0x1401dbf58]
mov r8d, dword [0x1401dbf5c]
xor edx, edx
div r8d
mov dx, word [rbp + 0x156]
and eax, 0x435fd5a4
add eax, 0x6067260d
mov r9d, eax
not r9d
and r9d, 0xd4d49dd2
mov r8d, eax
and r8d, 0x32b402c
imul r8d, r9d
mov r9d, eax
and r9d, 0xe0d4bf91
or eax, 0xf4d4bfd3
imul eax, r9d
add eax, r8d
test rcx, rcx
setg cl
test dx, dx
setne dl
and cl, dl
mov byte [rbp + 0x12f], cl
cmp eax, 0xb91152f5
jae 0x1401097ce
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x130]
mov dl, byte [rbp + 0x12f]
test dl, 1
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x120], rax
jne 0x14010858f
jmp 0x140108c68
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x130]
mov r8, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x148]
mov si, word [rbp + 0x156]
mov r11w, word [rbp + 0x19e]
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 + 0x108], rdx
mov dx, r10w
mov r9d, r10d
movzx r9d, r9w
mov qword [rbp + 0x110], r9
test dx, dx
sete dl
sub r8, r9
seta r8b
or dl, r8b
test dl, 1
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x120], rax
jne 0x140108c68
mov rax, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x110]
xor rcx, 0xffffffffffffffff
add rax, rcx
add rax, 1
mov qword [rbp + 0xe8], rax
sub rsp, 0x20
call fcn.140109816
mov rcx, qword [rbp + 0x200]
add rsp, 0x20
mov qword [rbp + 0xf0], rax
xor eax, eax
mov qword [rbp + 0xf8], rcx
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x100]
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xe0], rax
mov edx, dword [0x1401dbf60]
xor edx, 0xb5113a3e
mov ecx, dword [0x1401dbf64]
mov r8d, 0x79bf4ec2
xor r8d, 0x8640b13d
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x6a8ab41e
xor edx, edx
div ecx
mov ecx, 0x20f13e45
xor ecx, 0x40f1dbe9
sub eax, ecx
sub eax, 0xa6183976
mov ecx, 0xa3fa4120
xor ecx, 0xc3faa48c
add eax, ecx
imul eax, eax, 0xac5f859e
cmp eax, 0xdabd9e91
ja 0x1401097d7
mov rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x160]
mov eax, dword [0x1401dbf68]
mov ecx, dword [str.BJ6]
xor ecx, 0xfc8299f4
xor eax, ecx
mov ecx, 0xba9f098b
xor ecx, 0x815b528b
sub eax, ecx
mov r10d, 0xffffffff
xor r10d, 0xc8a3174d
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r9d
mov r9d, eax
and r9d, 0xc8a3174d
mov r10d, 0xd3251e3a
xor r10d, 0x1b860977
or eax, r10d
imul eax, r9d
add eax, ecx
or eax, 0xdf2ba63d
mov ecx, 0x9790b0ce
xor ecx, 0x8b273a39
cmp rdx, r8
setg dl
mov byte [rbp + 0xd7], dl
cmp eax, ecx
je 0x1401086f1
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe0]
mov dl, byte [rbp + 0xd7]
test dl, 1
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
jne 0x1401088ca
jmp 0x1401087b3
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x2e0]
sub rsp, 0x20
call fcn.140109b5a
mov rcx, qword [rbp + 0xf0]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xb0], rdx
mov cl, byte [rcx]
mov dl, 0x12
xor dl, 0x12
cmp cl, dl
mov qword [rbp + 0xb8], rax
jne 0x140108a84
mov rcx, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xd8]
add rdx, rax
sub rsp, 0x20
call fcn.140109b5a
mov rcx, qword [rbp + 0xb0]
add rsp, 0x20
xor rax, rcx
mov qword [rbp + 0xa8], rax
movabs rcx, 0xb28b88a3dc657aa1
movabs rdx, 0xb28b88a3dc657aa1
xor rcx, rdx
cmp rax, rcx
je 0x140108881
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xa8]
tzcnt rcx, rax
shr rcx, 3
mov rax, rcx
and rax, rdx
xor rcx, rdx
or rax, rcx
mov qword [rbp + 0xb8], rax
jmp 0x140108a84
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
mov rcx, rdx
and rcx, 8
or rdx, 8
add rcx, rdx
movabs rdx, 0x9ee6a48a5038d5aa
movabs r8, 0x9ee6a48a5038d5a2
xor rdx, r8
add rax, rdx
mov qword [rbp + 0xf8], rcx
mov qword [rbp + 0x100], rax
jmp 0x140108666
mov rdx, qword [rbp + 0x158]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rcx
cmp rcx, rdx
mov qword [rbp + 0xb8], rax
jge 0x140108a84
mov ecx, dword [0x1401dbf70]
mov eax, dword [0x1401dbf74]
mov edx, 0x43367cd4
xor edx, 0x70cd8b5f
xor eax, edx
or ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xbc4f8814
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xbc4f8814
or ecx, 0xbc4f8814
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xcfba1861
or ecx, 0xcfba1861
add eax, ecx
sub eax, 0xebaf4812
mov ecx, 0xfdf5ccb5
xor ecx, 0x6ac5e5f9
cmp eax, ecx
jae 0x1401097e0
mov r8, qword [rbp + 0x2e0]
mov r10, qword [rbp + 0xe8]
mov r9, qword [rbp + 0x98]
mov eax, dword [0x1401dbf78]
and eax, dword [0x1401dbf7c]
mov ecx, 0x3f7966b2
xor ecx, 0xe8ce72eb
xor edx, edx
div ecx
mov rdx, qword [rbp + 0xa0]
mov ecx, eax
mov eax, 0xe9df5428
xor eax, 0xb5b1d0a7
imul ecx, eax
mov r11d, 0x9ca85409
xor r11d, 0xa5e9cdc7
mov eax, ecx
and eax, r11d
mov r11d, 0xa4334caf
xor r11d, 0x9d72d561
or ecx, r11d
add eax, ecx
mov ecx, 0x98c70675
xor ecx, 0x18105958
mov dl, byte [r8 + rdx]
add r9, r10
cmp dl, byte [r8 + r9]
sete dl
mov byte [rbp + 0x97], dl
cmp eax, ecx
ja 0x14010896f
mov rax, qword [rbp + 0x98]
mov cl, byte [rbp + 0x97]
test cl, 1
mov qword [rbp + 0xb8], rax
jne 0x140108a22
jmp 0x140108a84
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
movabs rdx, 0x59e9d2f54173c571
movabs r8, 0x59e9d2f54173c571
xor rdx, r8
sub rdx, rcx
xor ecx, ecx
sub rcx, 1
add rdx, rcx
movabs rcx, 0xe8a6e5e3df908f5a
movabs r8, 0xe8a6e5e3df908f5a
xor rcx, r8
sub rcx, rdx
add rax, 1
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
jmp 0x1401088ca
mov rax, qword [rbp + 0x310]
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0x88], rcx
cmp byte [rax], 0
jne 0x14010972f
mov eax, dword [0x1401dbf80]
mov ecx, dword [0x1401dbf84]
add eax, 0xa9f621d8
sub eax, ecx
sub eax, 0xa9f621d8
mov ecx, 0x38ce7c9c
xor edx, edx
div ecx
mov ecx, 0x6f248c35
xor edx, edx
div ecx
and eax, 0x30f1641
cmp eax, 0x48379358
je 0x1401097e9
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x88]
mov eax, dword [0x1401dbf88]
xor eax, 0x89ff6b69
sub eax, dword [0x1401dbf8c]
imul eax, eax, 0xf7bbb5df
mov r8d, 0x8e6613c2
xor r8d, 0xc03abe20
xor eax, r8d
mov r9d, 0xffffffff
xor r9d, 0x47f08716
mov r8d, eax
and r8d, r9d
mov r10d, 0xddaa19df
xor r10d, 0x9a5a9ec9
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, r8d
cmp rcx, rdx
setb cl
mov byte [rbp + 0x87], cl
cmp eax, 0x2a1d46ab
jb 0x1401097e9
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x108]
mov r8b, byte [rbp + 0x87]
test r8b, 1
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
jne 0x140108b8b
jmp 0x140108bc4
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x110]
mov r8, qword [rbp + 0x108]
mov rdx, qword [rbp + 0x2c0]
mov r9, qword [rdx]
mov rdx, r8
sar rdx, 2
cmp r9, rax
cmovg rdx, r8
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0x258]
mov r8, qword [rbp + 0x68]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], r8
cmp qword [rdx], rcx
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x120], rax
jle 0x140108c68
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x110]
mov r8, qword [rbp + 0x60]
mov r10w, word [rbp + 0x156]
mov r9, qword [rbp + 0x240]
movzx r11d, r10w
mov r9w, word [r9 + r11*2 + 8]
cmp r10w, r9w
mov word [rbp + 0x16e], r9w
mov qword [rbp + 0x170], r8
mov qword [rbp + 0x178], rdx
mov rdx, rax
mov qword [rbp + 0x180], rdx
mov rdx, rcx
mov qword [rbp + 0x188], rdx
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x120], rax
jne 0x14010842d
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x120]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
cmp rax, 4
jle 0x1401095c8
mov rax, qword [rbp + 0x208]
movabs rcx, 0x3184a94edde7e3f4
movabs rdx, 0x3184a94edde7e3f4
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x38], rax
jle 0x140109062
mov eax, dword [0x1401dbf90]
mov ecx, dword [0x1401dbf94]
xor ecx, 0xe4d012e6
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xc12a796d
xor edx, 0x3ed58692
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe0777de3
or edx, 0xe0777de3
mov r8d, 0xa88a2e2d
xor r8d, 0x5775d1d2
xor edx, r8d
mov r8d, 0x114073c7
xor r8d, 0xeebf8c38
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x3a70afa
xor edx, 0xe3d07719
or ecx, edx
mov edx, 0xa24a7c27
xor edx, 0x5db583d8
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x8dcc625f
xor ecx, 0xfb04c9bb
and eax, ecx
mov r8d, 0xde8ede5b
xor r8d, 0xe6540cb2
mov ecx, 0x932dc51
xor ecx, 0xf6cd23ae
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, 0x38dad2e9
or eax, 0x38dad2e9
imul eax, edx
add eax, ecx
cmp eax, 0xece1d315
ja 0x1401097f2
mov rdx, qword [rbp + 0x200]
mov r9, qword [rbp + 0x208]
mov eax, dword [0x1401dbf98]
imul eax, dword [0x1401dbf9c]
sub eax, 0xc5642c36
xor eax, 0xd989261e
and eax, 0x78f567da
mov ecx, 0x1c0dc57f
xor ecx, 0xbf675c22
mov r8, rdx
xor r8, 0xffffffffffffffff
and r8, r9
xor r9, 0xffffffffffffffff
and rdx, r9
sub rdx, r8
mov qword [rbp + 0x30], rdx
cmp eax, ecx
ja 0x1401097f2
xor eax, eax
mov qword [rbp + 0x28], rax
jmp 0x140108de8
mov rcx, qword [rbp + 0x208]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x20], rax
cmp rax, rcx
je 0x140108e5e
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x30]
mov r9, r8
and r9, rax
shl r9, 1
xor r8, rax
add r8, r9
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
add r8d, 1
mov dword [rcx + rdx*4], r8d
movabs rcx, 0xea0b9e10fc99fcd6
add rax, rcx
add rax, 1
movabs rcx, 0xea0b9e10fc99fcd6
sub rax, rcx
mov qword [rbp + 0x28], rax
jmp 0x140108de8
mov edx, dword [0x1401dbfa0]
mov ecx, dword [0x1401dbfa4]
mov eax, 0xdcb01ce8
xor eax, 0xed951952
xor ecx, eax
mov r8d, 0x6606adf8
xor r8d, 0x99f95207
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x68808ce4
xor edx, edx
div ecx
imul ecx, eax, 0x45193980
mov edx, 0x6da0cdd6
xor edx, 0x33ced62d
mov eax, ecx
and eax, edx
xor ecx, 0x5e6e1bfb
or eax, ecx
cmp eax, 0xb043b831
je 0x1401097fb
mov rdx, qword [rbp + 0x260]
mov r8, qword [rbp + 0x208]
mov ecx, dword [0x1401dbfa8]
mov r9d, dword [0x1401dbfac]
mov eax, ecx
and eax, r9d
shl eax, 1
xor ecx, r9d
add ecx, eax
mov eax, 0xffffffff
xor eax, 0x8399c827
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, 0xc3e41060
xor eax, 0xffffffff
and ecx, 0xc3e41060
xor ecx, 0xffffffff
mov r9d, 0x92d55367
xor r9d, 0x6d2aac98
xor eax, r9d
xor ecx, 0xffffffff
or eax, ecx
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x77e1f49e
mov r10d, 0xffffffff
xor r10d, 0x77e1f49e
mov ecx, eax
and ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0x77e1f49e
or eax, 0x77e1f49e
imul eax, r9d
add eax, ecx
mov ecx, 0xa48ec055
xor ecx, 0x561ca04b
add r8, qword [rdx]
mov qword [rdx], r8
cmp eax, ecx
jae 0x1401097fb
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x18], rax
jmp 0x140108f8c
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x10], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp + 0x38], rax
jle 0x140109062
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2d0]
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp + 8], rax
jg 0x140109019
mov r8, qword [rbp]
movabs rcx, 0xfb4d4a9208ef5bd
movabs rax, 0xfb4d4a9208ef5bc
xor rcx, rax
mov rax, r8
shl rax, cl
mov rcx, qword [rbp + 0x2d0]
mov edx, 2
cmp r8, 0
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400255d0
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x2c8]
mov r9, qword [rbp + 0x268]
mov r8, qword [rbp + 8]
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 + 0x18], rax
jmp 0x140108f8c
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x18], rdx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rcx, qword [rcx]
movabs rdx, 0xb07481dee5de43dd
movabs r8, 0xb07481dee5de43de
xor rdx, r8
add rcx, rdx
mov qword [rbp - 8], rcx
cmp rax, rcx
jge 0x140109272
mov ecx, dword [0x1401dbfb0]
add ecx, dword [0x1401dbfb4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x98a02838
or edx, 0x98a02838
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xdc99955c
xor edx, 0x4439bd64
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x95e75ba9
xor ecx, 0x6a18a456
xor eax, ecx
mov ecx, 0x703662e0
xor ecx, 0x4df9bbc5
add eax, ecx
mov ecx, eax
xor ecx, 0x86141b33
mov edx, 0xffffffff
xor edx, 0x86141b33
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x8a5a8666
je 0x140109804
mov rcx, qword [rbp + 0x2d0]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov r11d, dword [0x1401dbfb8]
mov r8d, dword [0x1401dbfbc]
sub r11d, 0xe47c5a63
sub r11d, r8d
mov r8d, 0x8417fbcb
xor r8d, 0x606ba1a8
add r11d, r8d
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xbd7efe43
xor r8d, 0x350872c7
and r8d, r9d
mov r10d, 0x1a50b9
xor r10d, 0x886cdc3d
mov r9d, 0x142ef939
xor r9d, 0xebd106c6
xor r10d, r9d
and r11d, r10d
mov r9d, 0xffffffff
xor r9d, 0x8be36188
mov esi, 0x2f1fd325
xor esi, 0xa7695fa1
and r9d, esi
and r10d, 0x8be36188
or r8d, r11d
or r9d, r10d
xor r8d, r9d
mov r11d, 0xadb043e2
xor r11d, 0x88c45420
mov r9d, 0x9068c3b4
xor r9d, 0x6f973c4b
xor r11d, r9d
mov r10d, r8d
and r10d, r11d
mov r9d, r8d
or r9d, r11d
xor r9d, 0xffffffff
imul r9d, r10d
mov r11d, 0x8a6af378
xor r11d, 0xaf1ee4ba
mov r10d, r8d
and r10d, r11d
or r8d, 0x257417c2
imul r8d, r10d
add r8d, r9d
mov r10d, r8d
xor r10d, 0xa4e726f
xor r10d, 0xffffffff
and r10d, 0xa4e726f
mov r9d, 0xda665f7a
xor r9d, 0xda665f78
imul r9d, r10d
sub r9d, 0xa4e726f
sub r8d, r9d
mov dword [rbp - 0x1c], r8d
shl rax, 1
mov r8, rax
sub r8, rdx
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400255d0
mov eax, dword [rbp - 0x1c]
add rsp, 0x20
cmp eax, 0x96f6e736
jae 0x140109804
jmp 0x140109272
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
movabs r8, 0xa78571a2fb9d59b1
movabs rcx, 0x587a8e5d0462a64c
xor r8, rcx
mov rcx, rdx
and rcx, r8
movabs r8, 0xb53bfcfb9243543f
movabs r9, 0xb53bfcfb9243543d
xor r8, r9
imul rcx, r8
movabs r8, 0x99b9a3ce23b4bb19
movabs r9, 0x66465c31dc4b44e4
xor r8, r9
xor rdx, r8
add rdx, rcx
mov rcx, qword [0x1401eb890]
mov cl, byte [rcx + rdx]
mov byte [rbp - 0x21], cl
mov cx, ax
mov word [rbp - 0x20], cx
add cx, 0xffff
sub rsp, 0x20
call fcn.140106da4
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x310]
mov word [rbp - 0x1e], cx
cmp byte [rax], 0
jne 0x14010972f
mov rcx, qword [rbp + 0x200]
mov rax, qword [rbp + 0x2c8]
mov r9, qword [rbp + 0x48]
mov r11w, word [rbp - 0x20]
mov rdx, qword [rbp + 0x268]
mov r10w, word [rbp - 0x1e]
mov r8b, byte [rbp - 0x21]
mov rsi, qword [rbp + 0x300]
movzx edi, r8b
mov ebx, dword [rsi + rdi*4 + 0x404]
add ebx, 1
mov dword [rsi + rdi*4 + 0x404], ebx
movzx edi, r10w
mov ebx, dword [rsi + rdi*4 + 0x478]
xor r14d, r14d
sub r14d, ebx
mov ebx, 0xee632f61
xor ebx, 0xee632f61
mov r15d, 0x9e17919d
xor r15d, 0x9e17919c
sub ebx, r15d
add r14d, ebx
mov ebx, 0x1158126
xor ebx, 0x1158126
sub ebx, r14d
mov dword [rsi + rdi*4 + 0x478], ebx
movzx r8d, r8b
mov si, r8w
shl si, 8
and r10w, r10w
xor r10w, 0xffff
mov r8w, si
xor r8w, 0xffff
mov di, 0xfdeb
xor di, 0x214
xor si, di
or r8w, si
xor r10w, 0xffff
mov si, 0x3b90
xor si, 0xc46f
xor r8w, si
or r10w, r8w
or r10w, 0x8000
mov r8, qword [rdx]
mov rdx, qword [rax]
mov word [r8 + rdx*2 + 8], r10w
movabs rsi, 0xc2c557aabf0fe027
mov r10, rdx
add r10, rsi
movabs rsi, 0xf6900a2685d4375c
movabs rdi, 0xf6900a2685d4375d
xor rsi, rdi
add r10, rsi
movabs rsi, 0xc2c557aabf0fe027
sub r10, rsi
mov word [r8 + r10*2 + 8], r11w
mov r10w, r9w
movabs r11, 0x40a7d3326f65b13c
mov r9, rdx
add r9, r11
add r9, 2
movabs r11, 0x432ebcdd6304157
movabs rsi, 0x449538ffb955f06b
xor r11, rsi
sub r9, r11
mov word [r8 + r9*2 + 8], r10w
movabs r8, 0xd8859c73dea4e058
movabs r9, 0xd8859c73dea4e05b
xor r8, r9
add rdx, r8
mov qword [rax], rdx
mov eax, 1
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x50], rcx
cmp rdx, r8
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rax
jae 0x140109633
mov rcx, qword [rbp + 0x248]
mov rax, qword [rbp - 0x50]
xor edx, edx
mov r8d, edx
sub r8, 1
mov rdx, rax
sub rdx, r8
mov qword [rbp - 0x60], rdx
add rax, 5
cmp rax, rcx
jge 0x140109599
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x2e0]
mov ax, dx
or ax, ax
xor ax, 0xffff
mov r8w, 0xffff
xor r8w, 0x7fff
mov r9w, 0xffff
xor r9w, 0x7fff
and r8w, r9w
or ax, r8w
mov r8w, 0x8d04
xor r8w, 0x72fb
xor ax, r8w
mov word [rbp - 0x62], ax
sub rsp, 0x20
call fcn.140109831
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp + 0x240]
mov dx, word [rbp - 0x62]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x228]
mov esi, 0xffffffff
xor esi, 0x1e35a7bd
mov r11d, ecx
and r11d, esi
mov r10d, ecx
or r10d, esi
xor r10d, 0xffffffff
imul r10d, r11d
mov r11d, ecx
and r11d, 0x1e35a7bd
or ecx, 0x1e35a7bd
imul ecx, r11d
add ecx, r10d
shr ecx, 0xf
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 - 0x60]
mov rax, qword [rbp - 0x58]
movabs rdx, 0x295ba33688282a07
movabs r8, 0x295ba33688282a06
xor rdx, r8
add rax, rdx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jmp 0x140109487
mov rcx, qword [rbp + 0x200]
mov rax, qword [rbp + 0x208]
movabs r8, 0x3bea0e8f21f335ba
movabs rdx, 0x3bea0e8f21f335bb
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0xc3ded6120ea0b92a
movabs r9, 0xc3ded6120ea0b928
xor r8, r9
imul rdx, r8
movabs r8, 0xc13d0132cb0d61dd
movabs r9, 0xc13d0132cb0d61dc
xor r8, r9
xor rax, r8
add rax, rdx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rax
mov ecx, dword [0x1401dbfc0]
mov eax, 0x9318b25a
xor eax, 0x2d1fe030
xor ecx, eax
xor ecx, dword [0x1401dbfc4]
mov eax, 0x12719711
xor eax, 0x1040a4e6
xor ecx, eax
mov eax, ecx
and eax, 0x8d015de1
shl eax, 1
mov edx, 0xd155b0bb
xor edx, 0x5c54ed5a
add ecx, edx
sub ecx, eax
mov edx, 0xe5387fda
xor edx, 0x1ac78025
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x67d773bb
or ecx, 0x67d773bb
mov edx, 0x90803b31
xor edx, 0x6f7fc4ce
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x51dbae6a
jbe 0x14010980d
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1401dbfc8]
xor eax, 0x2f59cad5
sub eax, dword [0x1401dbfcc]
xor eax, 0x94b1472d
mov r8d, 0x2a26a9af
xor r8d, 0xc2702008
xor edx, edx
div r8d
or eax, 0x6e115ea9
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rcx, rdx
mov qword [rbp - 0x80], rcx
cmp eax, 0x8b4f8e2e
ja 0x14010980d
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x218], rax
jmp 0x140107c24
mov rax, qword [rbp + 0x240]
mov rcx, qword [rbp + 0x238]
mov qword [rbp + 0x318], rcx
mov qword [rbp + 0x320], rax
lea rcx, [rbp + 0x318]
sub rsp, 0x20
call fcn.140025a40
mov rdx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x2f8]
add rsp, 0x20
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140025a40
add rsp, 0x20
lea rsp, [rbp + 0x358]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
invalid
adc al, 0xfe
cmp eax, 0xe323e9da
invalid
not bl
pop rbp
jmp 0x140107d54
stosb byte [rdi], al
invalid
add esi, dword [rsi + 0x55e9d847]
call 0x19cbb97c6
stosb byte [rdi], al
pop rsp
fcomp dword [rdi]
jmp 0x140108224
sub byte [rbp + 0xee99858], al
in eax, dx
invalid
add eax, dword [rax]
test eax, 0xef11e9ff
invalid
invalid
mov bl, dl
wait
or al, 0xe9
invalid
jg 0x140109784
outsd dx, dword [rsi]
jmp 0x140108d88
movsd dword [rdi], dword [rsi]
xor dword [rbp - 0x17], esp
invalid
int 0xb
pop r14
jmp 0x140109125
outsb dx, byte [rsi]
cmp byte [rcx - 0x15916bd], bh
invalid