Function at 0x140175eb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x380
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], r9
mov qword [rbp + 0xf8], r8
mov qword [rbp + 0x100], rcx
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x108], rax
mov eax, 0x10
mov qword [rbp + 0x168], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x180], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x130], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x138], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x140], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x148], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x150], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x158], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x160], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x168]
mov rcx, rsp
mov qword [rbp + 0x170], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x178], rax
sub rsp, 0x20
call fcn.140181363
mov rcx, qword [rbp + 0x180]
add rsp, 0x20
mov qword [rbp + 0x190], rax
add rax, 0x50
mov qword [rbp + 0x188], rax
mov word [rcx], 0x8fc
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x198], rcx
cmp byte [rax + 0x50], 0
jne 0x140177782
mov r8, qword [rbp + 0x118]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x108]
mov rdx, qword [rcx]
mov qword [rbp + 0x2d0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x2d8], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x2e0]
lea rdx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.14016f768
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rcx, qword [rbp + 0x2e0]
mov qword [rbp + 0xe0], rcx
mov rcx, qword [rbp + 0x2e8]
mov qword [rbp + 0xe8], rcx
cmp byte [rax], 0
jne 0x140177782
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xe0]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400bac7e
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x188]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x140176162
jmp 0x140177782
mov ax, 0x5cdd
xor ax, 0x5c21
mov word [rbp + 0x2fe], ax
lea rcx, [rbp + 0x2fe]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xd8], rcx
cmp byte [rax], 0
jne 0x140177782
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x108]
mov rdx, qword [rcx]
mov qword [rbp + 0x2b0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x2b8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x2a0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2a8], rax
lea rcx, [rbp + 0x2c0]
lea rdx, [rbp + 0x2b0]
lea r8, [rbp + 0x2a0]
sub rsp, 0x20
call fcn.14016f768
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rcx, qword [rbp + 0x2c0]
mov qword [rbp + 0xc8], rcx
mov rcx, qword [rbp + 0x2c8]
mov qword [rbp + 0xd0], rcx
cmp byte [rax], 0
jne 0x140177661
mov ecx, 5
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140019910
add rsp, 0x20
mov qword [rbp + 0xb0], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001c310
add rsp, 0x20
mov qword [rbp + 0xb8], rax
mov ax, 0x3640
xor ax, 0x31e1
mov word [rbp + 0x2fc], ax
lea rcx, [rbp + 0x2fc]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xc0], rcx
cmp byte [rax], 0
jne 0x140177661
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x130]
mov rax, qword [rbp + 0xc0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c672
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x858
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x10], edx
mov al, byte [rax]
mov cl, 0x85
xor cl, 0x85
cmp al, cl
jne 0x140177661
mov eax, dword [0x1401fd2f0]
mov ecx, dword [0x1401fd2f4]
xor ecx, 0xd5f79532
sub eax, ecx
xor ecx, ecx
sub ecx, 0xae97d505
add eax, ecx
or eax, 0xd066cb3b
sub eax, 0x489c772f
cmp eax, 0xca6d5dc1
jae 0x14017798e
mov eax, dword [0x1401fd2f8]
xor edx, edx
div dword [0x1401fd2fc]
mov ecx, 0xb179c6af
xor ecx, 0x3ef52a2c
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x43410bec
add eax, ecx
add eax, 1
or eax, 0xa3410015
mov dword [rbp + 0xa8], eax
mov eax, 0xf140abde
xor eax, 0x3ffec5db
mov dword [rbp + 0xa4], eax
mov ecx, 0x9ae
sub rsp, 0x20
call fcn.140064060
mov r8, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp + 0xa4]
add rsp, 0x20
mov r9d, eax
mov eax, dword [rbp + 0xa8]
mov dword [r8 + 0x14], r9d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0xaf], dl
cmp eax, ecx
jbe 0x14017798e
mov al, byte [rbp + 0xaf]
test al, 1
jne 0x1401763f5
jmp 0x140177661
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
mov qword [rax + 8], rcx
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001c310
add rsp, 0x20
mov qword [rbp + 0x90], rax
mov ax, 0x8bf1
xor ax, 0x8bd1
mov word [rbp + 0x2fa], ax
lea rcx, [rbp + 0x2fa]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x98], rcx
cmp byte [rax], 0
jne 0x140177661
mov eax, dword [0x1401fd300]
xor eax, dword [0x1401fd304]
add eax, 0xd2cf8767
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdfa58f44
mov ecx, 0xffffffff
xor ecx, 0x4f8bdbae
or eax, edx
or ecx, 0x4f8bdbae
mov edx, 0xf5e78f32
xor edx, 0xa1870cd
xor eax, edx
and eax, ecx
mov ecx, 0xbc47e481
xor ecx, 0x3d554cc6
or eax, ecx
cmp eax, 0xaf6b50c
jb 0x140177997
mov rcx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x98]
mov r9d, dword [0x1401fd308]
mov r8d, dword [0x1401fd30c]
mov edx, 0xe97fee0b
xor edx, 0xcf037181
xor r8d, edx
xor r9d, 0xffffffff
mov edx, 0xeaf4912
xor edx, 0xf150b6ed
xor r8d, edx
mov edx, 0xffffffff
xor edx, 0xf7eb40fd
or r9d, r8d
or edx, 0xf7eb40fd
xor r9d, 0xffffffff
and r9d, edx
mov edx, 0x2c67a98f
xor edx, 0x8177cb1c
mov r8d, r9d
xor r8d, edx
mov edx, 0xffffffff
xor edx, 0xad106293
and r9d, edx
mov edx, 0xa425570b
xor edx, 0xa4255709
imul edx, r9d
sub edx, r8d
mov r8d, edx
and r8d, 0x44103374
shl r8d, 1
xor edx, 0x44103374
add edx, r8d
or edx, 0x22135a3
mov dword [rbp + 0x88], edx
mov rdx, qword [rax]
mov qword [rbp + 0x290], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x298], rax
lea rdx, [rbp + 0x290]
sub rsp, 0x20
call fcn.14001c672
mov rcx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x108
sub rsp, 0x20
call fcn.140064060
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x88]
mov dword [rdx + 0x10], r8d
mov cl, byte [rcx]
mov dl, 0x6c
xor dl, 0x6c
cmp cl, dl
sete cl
mov byte [rbp + 0x8f], cl
cmp eax, 0x859a97cc
jbe 0x140177997
mov al, byte [rbp + 0x8f]
test al, 1
jne 0x140176608
jmp 0x140177661
mov ecx, 0x459
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x140177661
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x90]
mov qword [rax + 0x10], rcx
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001c310
add rsp, 0x20
mov qword [rbp + 0x78], rax
mov word [rbp + 0x2f8], 0x119
lea rcx, [rbp + 0x2f8]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x80], rcx
cmp byte [rax], 0
jne 0x140177661
mov ecx, dword [0x1401fd310]
mov edx, dword [0x1401fd314]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x6bf443db
xor r8d, 0x940bbc24
xor eax, r8d
mov r9d, 0x3684d160
xor r9d, 0xc97b2e9f
mov r8d, edx
xor r8d, r9d
or eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5027a71c
xor ecx, 0x8976ba80
or eax, ecx
imul eax, eax, 0x3cfe4be8
mov ecx, 0xe3e3c5c0
xor edx, edx
div ecx
cmp eax, 0xc1f9dff2
je 0x1401779a0
mov eax, dword [0x1401fd318]
add eax, dword [0x1401fd31c]
mov r8d, 0xa652c74e
xor r8d, 0x7f5229c1
mov ecx, 0x43b7fd9f
xor ecx, 0xbc480260
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, 0xd900ee8f
mov r8d, 0xb23d16ec
xor r8d, 0x6b3df863
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xe96550e9
mov edx, 0xc83f4cf8
xor edx, 0x37c0b307
xor ecx, edx
and ecx, 0xe96550e9
shl ecx, 1
sub ecx, 0xe96550e9
sub eax, ecx
mov ecx, 0xeb701cab
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x80]
mov dword [rbp + 0x70], ecx
mov ecx, 0xed5a2669
xor ecx, 0xa146dca9
mov dword [rbp + 0x6c], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x270], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x278], rax
lea rcx, [rbp + 0x280]
lea rdx, [rbp + 0x270]
sub rsp, 0x20
call fcn.14001c672
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, qword [rbp + 0x280]
mov rcx, qword [rbp + 0x288]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0xbfbe
xor cx, 0xbdf0
sub rsp, 0x20
call fcn.140064060
mov r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp + 0x6c]
add rsp, 0x20
mov r9d, eax
mov eax, dword [rbp + 0x70]
mov dword [r8 + 0x10], r9d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x77], dl
cmp eax, ecx
ja 0x1401779a0
mov al, byte [rbp + 0x77]
test al, 1
jne 0x140176846
jmp 0x140177661
mov ecx, 0x88a
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x14], edx
mov al, byte [rax]
mov cl, 0x65
xor cl, 0x65
cmp al, cl
jne 0x140177661
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x78]
mov qword [rax + 0x18], rcx
movabs rcx, 0xccb02461be23649d
movabs rax, 0xccb02461be236485
xor rcx, rax
movabs rdx, 0xea46f50ee709da63
movabs rax, 0xea46f50ee709da6b
xor rdx, rax
sub rsp, 0x20
call fcn.14001c310
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov ax, 0x60e
xor ax, 0xc05
mov word [rbp + 0x2f6], ax
lea rcx, [rbp + 0x2f6]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x60], rcx
cmp byte [rax], 0
jne 0x140177661
mov rdx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x260]
sub rsp, 0x20
call fcn.14001c672
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rbp + 0x260]
mov rcx, qword [rbp + 0x268]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x7c6
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x10], edx
cmp byte [rax], 0
jne 0x140177661
mov ecx, 0x27b
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x140177661
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x58]
mov qword [rax + 0x20], rcx
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001c310
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov word [rcx], 0x584
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x50], rcx
cmp byte [rax], 0
jne 0x140177661
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x240], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x248], rax
lea rcx, [rbp + 0x250]
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.14001c672
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, qword [rbp + 0x250]
mov rcx, qword [rbp + 0x258]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0xa71
xor cx, 0xbad
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x10], edx
cmp byte [rax], 0
jne 0x140177661
mov ecx, 0x6a6
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x14], edx
mov al, byte [rax]
mov cl, 0x33
xor cl, 0x33
cmp al, cl
jne 0x140177661
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x48]
mov qword [rax + 0x28], rcx
mov ecx, 0x916
sub rsp, 0x20
call fcn.140064060
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x188]
mov dword [rbp + 0x44], ecx
cmp byte [rax], 0
jne 0x140177661
mov r8d, dword [rbp + 0x44]
mov rdx, qword [rbp + 0x148]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xd0]
mov r9, qword [rbp + 0xc8]
mov qword [rbp + 0x230], r9
mov qword [rbp + 0x238], rcx
movabs rcx, 0x927b200626d1d3d2
movabs r9, 0x927b200626d1d3d7
xor rcx, r9
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x230]
sub rsp, 0x20
call fcn.140154ae0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x38], rcx
mov al, byte [rax]
mov cl, 0xb9
xor cl, 0xb9
cmp al, cl
jne 0x140177661
mov word [rbp + 0x2f4], 0x7e1
lea rcx, [rbp + 0x2f4]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x140177661
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x30]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x210], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x218], rax
lea rcx, [rbp + 0x220]
lea r8, [rbp + 0x210]
sub rsp, 0x20
call fcn.14016f768
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rcx, qword [rbp + 0x220]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0x82
xor cl, 0x82
cmp al, cl
jne 0x14017745d
mov word [rbp + 0x2f2], 0x21
lea rcx, [rbp + 0x2f2]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x18], rcx
mov al, byte [rax]
mov cl, 0x19
xor cl, 0x19
cmp al, cl
jne 0x14017745d
mov eax, dword [0x1401fd320]
mov r8d, dword [0x1401fd324]
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, 0x1ea8ae07
add eax, 0x91281fd0
or eax, 0xbde8720
mov ecx, 0x9b861fe0
xor ecx, 0x72b98cd6
cmp eax, ecx
je 0x1401779a9
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1401fd328]
xor edx, edx
div dword [0x1401fd32c]
mov edx, eax
add edx, 1
mov r8d, 0x338c22e0
xor r8d, 0xcc73dd1f
xor eax, r8d
or eax, 0x8a9d24d4
add eax, edx
or eax, eax
mov edx, 0xb38bbc91
xor edx, 0x4c74436e
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xf9e3b894
mov r8d, 0xc2cad5fa
xor r8d, 0x3b296d6e
mov r9d, 0x705a24d8
xor r9d, 0x8fa5db27
xor r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0xd16e1791
xor edx, 0x2e91e86e
xor eax, edx
mov r8d, 0x1708f8d8
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x20]
mov r8d, eax
mov rax, qword [rbp + 0x18]
mov dword [rbp - 4], r8d
mov qword [rbp + 0x1f0], rdx
mov qword [rbp + 0x1f8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x1e0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x1f0]
lea r8, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.14016f768
mov rcx, qword [rbp + 0x188]
mov eax, dword [rbp - 4]
add rsp, 0x20
mov rdx, qword [rbp + 0x200]
mov qword [rbp], rdx
mov rdx, qword [rbp + 0x208]
mov qword [rbp + 8], rdx
mov cl, byte [rcx]
mov dl, 0xd5
xor dl, 0xd5
cmp cl, dl
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0xd7662eef
ja 0x140176c81
mov al, byte [rbp + 0x17]
test al, 1
jne 0x140176da1
jmp 0x140177309
mov rcx, qword [rbp + 0x158]
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 8]
mov r8, qword [rbp]
mov qword [rbp + 0x1d0], r8
mov qword [rbp + 0x1d8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x1c0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1c8], rax
lea rdx, [rbp + 0x1d0]
lea r8, [rbp + 0x1c0]
sub rsp, 0x20
call fcn.14016f768
mov rcx, qword [rbp + 0x158]
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x18], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x14017705a
mov word [rbp + 0x2f0], 0x178
lea rcx, [rbp + 0x2f0]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp - 0x20], rcx
mov al, byte [rax]
mov cl, 0xf5
xor cl, 0xf5
cmp al, cl
jne 0x14017705a
mov ecx, dword [0x1401fd330]
mov edx, dword [0x1401fd334]
xor edx, 0x42de938b
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
mov r8d, 0xa61ee28
xor r8d, 0xa61ee2a
imul r8d, ecx
sub r8d, eax
mov eax, 0x54a1268b
xor eax, 0x2d534eec
and r8d, eax
mov eax, 0x72b62561
xor eax, 0x8d49da9e
mov ecx, r8d
xor ecx, eax
mov eax, 0x3d6723d3
xor eax, 0x225ff0d
and eax, ecx
mov edx, 0x3c2401aa
xor edx, 0x366dd74
mov ecx, 0x790380eb
xor ecx, 0x86fc7f14
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xccc47048
mov r9d, 0xe9c9f8fc
xor r9d, 0xd68b2422
and ecx, r9d
and edx, 0xccc47048
or eax, r8d
or ecx, edx
xor eax, ecx
imul eax, eax, 0xa98d733c
cmp eax, 0x235693c4
jbe 0x1401779b2
mov r8, qword [rbp + 0x170]
mov rcx, qword [rbp - 0x10]
mov r9, qword [rbp - 0x18]
mov eax, dword [0x1401fd338]
xor edx, edx
div dword [0x1401fd33c]
mov rdx, qword [rbp + 0x160]
mov r10d, eax
mov rax, qword [rbp - 0x20]
sub r10d, 0xfeaf012
mov r11d, r10d
xor r11d, 0xffffffff
mov esi, 0x5492c98e
xor esi, 0x646d77f1
and esi, r11d
mov edi, 0xffffffff
xor edi, 0x30ffbe7f
mov r11d, r10d
and r11d, edi
imul r11d, esi
mov esi, r10d
and esi, 0x30ffbe7f
or r10d, 0x30ffbe7f
imul r10d, esi
add r10d, r11d
or r10d, 0xabd32557
mov dword [rbp - 0x3c], r10d
mov qword [rdx], r9
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.14016f768
mov rcx, qword [rbp + 0x188]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
mov rdx, qword [rbp + 0x1b0]
mov qword [rbp - 0x38], rdx
mov rdx, qword [rbp + 0x1b8]
mov qword [rbp - 0x30], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0x1af00c90
jb 0x1401779b2
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140176feb
jmp 0x14017705a
mov rcx, qword [rbp + 0x178]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp + 0x100]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x48], r8
mov qword [rbp + 0x1a0], rdx
mov qword [rbp + 0x1a8], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x178]
add rsp, 0x20
lea r8, [rbp + 0x1a0]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140154690
add rsp, 0x30
mov ecx, dword [0x1401fd340]
mov edx, dword [0x1401fd344]
xor edx, 0x6e5ed1e7
mov eax, ecx
xor eax, 0xffffffff
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x77030c7e
xor edx, 0xe53c0e39
mov r8d, 0x4ed46eb
xor r8d, 0xfb12b914
xor edx, r8d
or eax, edx
mov edx, 0xbe659ad0
xor edx, 0x419a652f
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x923f0247
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x92705c51
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa44876f5
xor r8d, 0x5bb7890a
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x92705c51
or eax, 0x92705c51
imul eax, edx
add eax, ecx
mov ecx, 0xa24588d8
xor ecx, 0xa5036e6d
xor eax, ecx
cmp eax, 0xd6d853f8
ja 0x1401779bb
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401fd348]
mov r8d, dword [0x1401fd34c]
mov edx, eax
and edx, r8d
or eax, r8d
add edx, eax
add edx, 0x6f4b719a
add edx, 0x63b2c279
sub edx, 0x6f4b719a
sub edx, 0x6b3681c7
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x3ebcfa2f
or r8d, 0x3ebcfa2f
mov r9d, 0xb6c6e548
xor r9d, 0x49391ab7
xor r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x290804f
xor r8d, 0xfd6f7fb0
xor edx, r8d
mov r8d, 0xe377bda3
xor r8d, 0xddcb478c
mov r9d, 0xbbbc0e9e
xor r9d, 0x4443f161
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x384cd37f
je 0x1401779bb
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140177309
jmp 0x1401771cd
mov eax, dword [0x1401fd350]
sub eax, dword [0x1401fd354]
mov ecx, 0x9fa54d83
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x9eb7f9e8
mov ecx, eax
and ecx, edx
mov r8d, 0xba44466
xor r8d, 0x9513bd8e
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xb6e90c78
xor edx, edx
div ecx
mov ecx, 0x40b415b6
xor ecx, 0x8f9356b
cmp eax, ecx
je 0x1401779c4
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401fd358]
mov r8d, dword [0x1401fd35c]
mov edx, 0x9b6f6748
xor edx, 0x1f5d9156
xor r8d, edx
xor eax, 0xffffffff
mov edx, 0x1d326248
xor edx, 0xe2cd9db7
xor r8d, edx
mov edx, 0x4e564d13
xor edx, 0x2ce897b0
mov r9d, 0xafe386e
xor r9d, 0xf501c791
xor edx, r9d
or eax, r8d
or edx, 0x62bedaa3
mov r8d, 0x5b850425
xor r8d, 0xa47afbda
xor eax, r8d
and eax, edx
mov r8d, 0xc6a9a9e5
xor r8d, 0x67b6868e
xor edx, edx
div r8d
mov r8d, 0x83ca53c2
xor r8d, 0x1c3f757e
xor edx, edx
div r8d
imul eax, eax, 0x5336d764
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x4a], cl
cmp eax, 0x87a9d025
ja 0x140177223
mov al, byte [rbp - 0x4a]
test al, 1
jne 0x1401772f8
jmp 0x140177309
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov ecx, dword [0x1401fd360]
mov edx, dword [0x1401fd364]
mov r8d, 0x12bbbf3c
xor r8d, 0xed4440c3
mov eax, ecx
xor eax, r8d
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x696d1f9b
xor edx, 0x9692e064
xor ecx, edx
or eax, ecx
mov ecx, 0x4c173870
xor edx, edx
div ecx
mov ecx, 0x116ae4f6
xor ecx, 0x46d33da0
xor edx, edx
div ecx
sub eax, 0x565f85a0
mov ecx, 0x26de2813
xor ecx, 0xc6e5e541
sub eax, ecx
mov ecx, 0x5347e48a
xor ecx, 0x518612a
add eax, ecx
cmp eax, 0x3b98aefb
jae 0x1401779cd
mov rcx, qword [rbp + 8]
mov edx, dword [0x1401fd368]
mov r8d, dword [0x1401fd36c]
mov eax, 0x4de32eba
xor eax, 0xef22dc99
xor r8d, eax
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x750eaa9e
xor edx, 0xa78c9020
imul eax, edx
or eax, 0xf9192761
sub eax, 0x8440739f
cmp rcx, 0
sete cl
mov byte [rbp - 0x4b], cl
cmp eax, 0x828dad23
ja 0x1401779cd
mov al, byte [rbp - 0x4b]
test al, 1
jne 0x14017745d
jmp 0x1401773f8
mov rax, qword [rbp + 8]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x9fef11c844b09e42
xor rcx, r8
or rax, rdx
movabs rdx, 0x9fef11c844b09e42
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14017745d
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0x28]
cmp rax, 0
je 0x140177661
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x49a531035f24c63a
movabs r8, 0x29bd5258b60f1805
xor rdx, r8
movabs r8, 0xbbfb5f67926053f4
movabs r9, 0x4404a0986d9fac0b
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x47f1bdbde42fbe10
movabs r8, 0x27e9dee60d04602f
xor rcx, r8
or rcx, rdx
movabs rdx, 0x94dd0f543fe2e491
movabs r8, 0x6b22f0abc01d1b6e
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140177661
mov eax, dword [0x1401fd370]
xor eax, 0xb076aeb6
xor edx, edx
div dword [0x1401fd374]
mov ecx, 0xac113b98
xor ecx, 0x28e05f7b
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0x84f164e3
mov ecx, 0x47fa180e
xor ecx, 0x47fa180c
imul ecx, edx
sub ecx, 0x84f164e3
sub eax, ecx
or eax, 0xae84784
xor eax, 0xa5cebc58
cmp eax, 0x7d6e44b5
jae 0x1401779d6
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1401fd378]
xor edx, edx
div dword [0x1401fd37c]
mov edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xb02fb43
mov r9d, 0xffffffff
xor r9d, 0xb02fb43
mov eax, edx
and eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0xb02fb43
or edx, 0xb02fb43
imul edx, r8d
add edx, eax
mov r9d, 0xffffffff
xor r9d, 0x1c79a467
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r9d, 0x445bdc36
xor r9d, 0x58227851
mov r8d, edx
and r8d, r9d
or edx, 0x1c79a467
imul edx, r8d
add edx, eax
mov eax, edx
or eax, eax
mov r8d, 0x41ffbd30
xor r8d, 0xbe0042cf
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x2d66453f
mov r9d, 0xffffffff
xor r9d, 0x2d66453f
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x2d66453f
and edx, r8d
or eax, edx
mov edx, 0x271cde43
xor edx, 0xd8e321bc
xor eax, edx
mov dword [rbp - 0x50], eax
sub rsp, 0x20
call fcn.14000f935
mov eax, dword [rbp - 0x50]
add rsp, 0x20
cmp eax, 0x15243a55
jb 0x1401779d6
jmp 0x140177661
mov rax, qword [rbp + 0xd0]
cmp rax, 0
je 0x140177782
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x6d76e5af08dac083
movabs rdx, 0x6d76e5af08dac083
xor rcx, rdx
cmp rax, rcx
jne 0x140177782
mov eax, dword [0x1401fd380]
add eax, dword [0x1401fd384]
or eax, 0x2232732a
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x4551ff52
xor edx, 0xcf4409e9
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x8a15f6bb
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8a15f6bb
mov r8d, 0x66d42c0a
xor r8d, 0xecc1dab1
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x5d1e4111
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x5d1e4111
add eax, edx
sub eax, ecx
cmp eax, 0xc2d6eb23
jbe 0x1401779df
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x1401fd388]
imul eax, dword [0x1401fd38c]
or eax, 0x59da5d81
mov edx, 0xa701b6e0
xor edx, 0x5156f2a1
or eax, edx
sub eax, 0x8c3dc74b
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.14000f935
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x1867ac99
je 0x140177734
jmp 0x140177782
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x1401777c7
mov rcx, qword [rbp - 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401777c7
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x14017793e
mov r11d, dword [0x1401fd390]
mov r10d, dword [0x1401fd394]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0x727d9a63
xor eax, 0x8d82659c
mov r8d, r10d
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x76486273
mov eax, ecx
and eax, 0x76486273
and r11d, edx
mov esi, 0xa0012027
xor esi, 0xd6494254
mov r9d, r8d
and r9d, esi
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x484f710
xor r8d, 0xfb7b08ef
xor ecx, r8d
or edx, 0x76486273
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x53592113
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa0508581
xor r8d, 0x5faf7a7e
xor ecx, r8d
imul ecx, edx
mov r8d, 0x65b4adc5
xor r8d, 0x36ed8cd6
mov edx, eax
and edx, r8d
or eax, 0x53592113
imul eax, edx
add eax, ecx
imul eax, eax, 0xdc7aabc9
mov edx, 0x2619ddf0
xor edx, 0xdefab986
mov ecx, 0x7e2edb1f
xor ecx, 0x81d124e0
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf8e36476
add eax, edx
sub eax, ecx
cmp eax, 0x7208ca37
je 0x1401779e8
mov rdx, qword [rbp - 0x68]
mov eax, dword [0x1401fd398]
and eax, dword [0x1401fd39c]
xor eax, 0xabbecb34
or eax, 0x84854083
sub eax, 0x44c06eb4
sub eax, 0xab2342e8
add eax, 0x44c06eb4
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0xaf00c815
je 0x1401779e8
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14017792d
jmp 0x14017793e
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x140177983
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140177983
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
lea rsp, [rbp + 0x300]
pop rdi
pop rsi
pop rbp
ret
sub eax, dword [rdi]
add dword [rcx - 0x164117], esp
push qword [rbx]
popfq
invalid
xor ebx, dword [rbp + 0x1be94216]
jmp 0x14017799e
invalid
invalid
adc eax, dword [rax]
fmul st(2)
jmp 0x140176c81
add ebx, eax
invalid
pop rdi
and al, 0x15
cmp ch, cl
idiv r15
push qword [rbp - 0x165fe3ff]
push rsi
clc
invalid
mov ch, 1
sbb al, 0xa0
jmp 0x140177223
invalid
bswap ecx
adc byte [rsi], ch
jmp 0x140177555
xchg byte [rsi + 0x4ce94da2], al
std
invalid
lodsb al, byte [rsi]
xchg esp, eax
jmp 0x13ef96371