Function at 0x140142b30
Capabilities:
Encode data using xor

Disassembly:
dec dword [rax + 0x21]
enter 0xffffffffffff8348, 0xfffffffffffffff8
add byte [rdi], cl
test dword [rdi], esi
add byte [rax], al
add byte [rax - 0x75], cl
and al, 0x78
push rbp
push rsi
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1c0], rcx
mov eax, 0x10
mov qword [rbp + 0x1a8], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1a8]
mov rcx, rsp
mov qword [rbp + 0x1a0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1a8]
mov rcx, rsp
mov qword [rbp + 0x1b0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1b8], rax
sub rsp, 0x20
call fcn.140146f5b
mov rcx, qword [rbp + 0x1c0]
add rsp, 0x20
mov qword [rbp + 0x1d0], rax
add rax, 0x50
mov qword [rbp + 0x1c8], rax
sub rsp, 0x20
mov edx, 1
call fcn.140142090
mov rcx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x1d8], rdx
mov cl, byte [rcx + 0x50]
test cl, cl
setne cl
test rax, rax
sete al
or cl, al
xor eax, eax
test cl, 1
mov byte [rbp + 0x1e7], al
jne 0x14014455d
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x1d8]
movsxd rdx, dword [rax + 4]
mov qword [rbp + 0x158], rdx
movsxd rax, dword [rax]
lea rdx, [rbp + 0x268]
add rdx, 8
mov qword [rbp + 0x160], rdx
movabs rdx, 0xee84e01d28d85ecf
sub rax, rdx
add rax, rcx
movabs rcx, 0xee84e01d28d85ecf
add rax, rcx
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x258]
add rax, 8
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x210]
add rax, 8
mov qword [rbp + 0x178], rax
lea rax, [rbp + 0x1f8]
add rax, 8
mov qword [rbp + 0x180], rax
lea rax, [rbp + 0x1e8]
add rax, 8
mov qword [rbp + 0x188], rax
xor eax, eax
mov qword [rbp + 0x190], rax
mov rcx, qword [rbp + 0x158]
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x150], rax
cmp rax, rcx
jae 0x14014448c
mov rax, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x160]
movabs r8, 0x6216d8dd217e1db1
movabs r9, 0x6216d8dd217e1db1
xor r8, r9
mov qword [rbp + 0x268], r8
mov qword [rcx], 0
xor ecx, ecx
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0x140], rax
mov eax, dword [rax]
mov dword [rbp + 0x148], eax
cmp eax, 0
sete al
mov byte [rbp + 0x14f], al
test al, 1
jne 0x140142d34
jmp 0x140142d45
mov rax, qword [rbp + 0x140]
cmp dword [rax + 0x10], 0
je 0x14014448c
mov eax, dword [str._n_]
sub eax, dword [0x14024a17c]
and eax, 0xc1fbc7e7
xor eax, 0xd8eb1ed8
mov ecx, 0xe02db4d5
xor ecx, 0xad4e3bbe
sub eax, ecx
cmp eax, 0xdd1fd425
ja 0x140144572
mov r9, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x140]
mov eax, dword [0x14024a180]
mov r10d, dword [0x14024a184]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r10d
and r8d, edx
mov r11d, r10d
xor r11d, 0xffffffff
mov edx, eax
and edx, r11d
imul edx, r8d
mov r8d, eax
and r8d, r10d
or eax, r10d
imul eax, r8d
add eax, edx
mov r8d, 0x4abba948
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0x8b0a82dc
xor r8d, 0x74f57d23
mov eax, edx
xor eax, r8d
and eax, 0xcc0e5afd
mov r8d, 0xffffffff
xor r8d, 0xcc0e5afd
and edx, r8d
or eax, edx
mov r8d, 0xb370ca75
xor edx, edx
div r8d
movsxd rcx, dword [rcx + 0xc]
mov r8, rcx
add r8, r9
mov qword [rbp + 0x130], r8
mov rdx, r8
xor rdx, r9
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0x13f], cl
cmp eax, 0xada3c980
je 0x140142d73
mov al, byte [rbp + 0x13f]
test al, 1
jne 0x140142e4b
jmp 0x140142e6b
sub rsp, 0x20
call fcn.140008d37
mov rax, qword [rbp + 0x150]
add rsp, 0x20
mov qword [rbp + 0x128], rax
jmp 0x140144333
mov rcx, qword [rbp + 0x130]
mov eax, dword [rbp + 0x148]
mov r8b, byte [rbp + 0x14f]
mov rdx, qword [rbp + 0x140]
mov edx, dword [rdx + 0x10]
movsxd r9, edx
mov qword [rbp + 0x100], r9
test r8b, 1
cmovne eax, edx
cdqe
mov qword [rbp + 0x108], rax
mov rax, qword [0x14025a678]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x110], rcx
mov rcx, qword [0x140259970]
mov qword [rbp + 0x268], rcx
mov rcx, qword [0x140259978]
mov qword [rbp + 0x270], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x118], rcx
xor eax, eax
cmp rcx, 0
mov byte [rbp + 0x127], al
je 0x140143354
mov rax, qword [rbp + 0x118]
cmp rax, 1
jge 0x140142fe7
mov eax, dword [0x14024a188]
imul eax, dword [0x14024a18c]
mov ecx, 0x99b09d7b
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x28c751d4
mov edx, 0xffffffff
xor edx, 0x28c751d4
and eax, edx
or ecx, eax
mov edx, 0x8aea986b
xor edx, 0xd8a1fca7
mov eax, ecx
and eax, edx
mov edx, 0xb3c4f7c4
xor edx, 0xe18f9308
xor ecx, edx
or eax, ecx
cmp eax, 0x71614014
jbe 0x14014457b
mov eax, dword [0x14024a190]
xor eax, dword [0x14024a194]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6b52f595
mov r8d, 0xffffffff
xor r8d, 0x6b52f595
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6b52f595
mov r8d, 0xb520a2fc
xor r8d, 0xde725769
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xd69ae245
shl ecx, 1
xor eax, 0xd69ae245
add eax, ecx
mov ecx, 0xe526afc5
xor ecx, 0x88f8dfbb
sub eax, ecx
cmp eax, 0x279a676
jbe 0x14014457b
xor eax, eax
mov byte [rbp + 0xff], al
jmp 0x140143348
mov rdx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x258], 0
mov qword [rax], 0
add rdx, 1
lea rcx, [rbp + 0x258]
sub rsp, 0x20
call fcn.140019920
add rsp, 0x20
lea rcx, [rbp + 0x258]
lea rdx, [0x140259980]
sub rsp, 0x20
call fcn.1401445e0
mov rax, qword [rbp + 0x198]
mov rdx, qword [rbp + 0x1a0]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x258]
sub rsp, 0x20
call fcn.1401445e0
mov rdx, qword [rbp + 0x1b0]
add rsp, 0x20
mov rax, qword [rbp + 0x258]
mov qword [rdx], rax
mov rax, qword [rbp + 0x260]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x268]
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
mov word [rbp + 0x256], 0x8c8
lea rcx, [rbp + 0x256]
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0xf0], rcx
cmp byte [rax], 0
jne 0x140143335
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rax]
mov qword [rbp + 0x240], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x248], rax
lea rcx, [rbp + 0x240]
sub rsp, 0x20
call fcn.140144857
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0xe8], rcx
mov al, byte [rax]
mov cl, 0x21
xor cl, 0x21
cmp al, cl
jne 0x140143335
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0x110]
mov rax, qword [0x14025a660]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov qword [rbp + 0xe0], rax
cmp rax, 0
je 0x1401431d9
mov rax, qword [rbp + 0x1c8]
mov al, byte [rax]
mov cl, pe_nt_image_headers64
xor cl, 0x80
cmp al, cl
jne 0x1401431d4
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x160]
mov r8, qword [rbp + 0x268]
mov rax, qword [rax]
add rax, 8
lea rdx, [0x1402599b0]
cmp r8, 0
cmove rax, rdx
mov qword [rbp + 0x238], rax
movabs r8, 0x1c57f4730372d58c
movabs rax, 0x1c57f4730372d584
xor r8, rax
lea rdx, [rbp + 0x238]
sub rsp, 0x20
call fcn.1401422c0
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401431d9
jmp 0x140143335
mov word [rbp + 0x254], 0x67f
lea rcx, [rbp + 0x254]
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0xd8], rcx
mov al, byte [rax]
mov cl, 0xa3
xor cl, 0xa3
cmp al, cl
jne 0x140143335
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rax]
mov qword [rbp + 0x228], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x230], rax
lea rcx, [rbp + 0x228]
sub rsp, 0x20
call fcn.140144857
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0xd0], rcx
cmp byte [rax], 0
jne 0x140143335
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x110]
mov rax, qword [0x14025a660]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov qword [rbp + 0xc8], rax
cmp rax, 0
je 0x140143328
mov rax, qword [rbp + 0x1c8]
cmp byte [rax], 0
jne 0x140143323
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x160]
mov r8, qword [rbp + 0x268]
movabs r9, 0x313a0805c000acff
movabs rdx, 0x313a0805c000acff
xor r9, rdx
mov rax, qword [rax]
add rax, 8
lea rdx, [0x1402599b0]
cmp r8, r9
cmove rax, rdx
mov qword [rbp + 0x220], rax
movabs r8, 0x74b64e6f21c90ea6
movabs rax, 0x74b64e6f21c90eae
xor r8, rax
lea rdx, [rbp + 0x220]
sub rsp, 0x20
call fcn.1401422c0
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
cmp byte [rax], 0
je 0x140143328
jmp 0x140143335
mov al, 1
mov byte [rbp + 0xff], al
jmp 0x140143348
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x128], rax
jmp 0x140144333
mov al, byte [rbp + 0xff]
mov byte [rbp + 0x127], al
mov al, byte [rbp + 0x127]
mov byte [rbp + 0xc7], al
mov r11d, dword [0x14024a198]
mov eax, 0x419edde8
xor eax, 0xdc131f0f
xor r11d, eax
or r11d, dword [0x14024a19c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0x7abfa84a
xor r8d, 0x9e584825
mov eax, 0xb481298d
xor eax, 0x4b7ed672
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x458e5a2a
mov eax, ecx
and eax, 0x458e5a2a
and r11d, edx
mov r9d, r8d
and r9d, 0x458e5a2a
mov r10d, edx
and r10d, 0xe4e7e06f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x458e5a2a
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x64b195bf
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x64b195bf
or eax, 0x64b195bf
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x7be302db
add eax, ecx
cmp eax, 0x5ab5fbdd
je 0x140144584
mov cl, byte [rbp + 0xc7]
mov r8, qword [rbp + 0x1c0]
mov rdx, qword [rbp + 0x108]
mov r9, qword [rbp + 0x100]
mov r10d, dword [0x14024a1a0]
xor r10d, 0xc4e62c20
add r10d, dword [0x14024a1a4]
mov r11d, r10d
xor r11d, 0xffffffff
and r11d, 0x39bceca2
mov esi, 0xffffffff
xor esi, 0x39bceca2
mov eax, r10d
and eax, esi
imul eax, r11d
mov r11d, r10d
and r11d, 0x39bceca2
or r10d, 0x39bceca2
imul r10d, r11d
add r10d, eax
mov eax, r10d
xor eax, 0x5a597931
mov r11d, 0xe6ba5af9
xor r11d, 0x1945a506
xor eax, r11d
and eax, 0x5a597931
shl eax, 1
mov r11d, 0xa049ba10
xor r11d, 0xfa10c321
sub eax, r11d
sub r10d, eax
mov eax, r10d
and eax, 0x3ecb6d3
or r10d, 0x3ecb6d3
add eax, r10d
add r9, r8
mov qword [rbp + 0xb0], r9
add rdx, r8
mov qword [rbp + 0xb8], rdx
cmp cl, 0
sete cl
mov byte [rbp + 0xc6], cl
cmp eax, 0x231e48e5
jbe 0x140143421
xor eax, eax
mov qword [rbp + 0xa8], rax
jmp 0x140143509
mov rax, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa8]
mov qword [rbp + 0x90], rcx
add rdx, rcx
mov qword [rbp + 0x98], rdx
add rax, rcx
mov qword [rbp + 0xa0], rax
cmp qword [rax], 0x7fffffff
jbe 0x1401435ac
mov rcx, qword [rbp + 0x130]
mov rax, qword [0x14025a678]
sub rsp, 0x20
call qword [rax]
mov rdx, qword [rbp + 0xa0]
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a660]
mov rax, qword [rax]
mov r8, qword [rdx]
mov r9, 0xffffffffffffffff
xor r9, 0xffff
mov rdx, r8
xor rdx, r9
and rdx, r8
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov qword [rcx], rax
mov qword [rbp + 0x88], rax
jmp 0x140143700
mov eax, dword [0x14024a1a8]
xor eax, dword [0x14024a1ac]
mov ecx, 0xc7c725c1
xor ecx, 0x7ba074ec
xor edx, edx
div ecx
mov ecx, 0x7ce7af4
xor ecx, 0x7ce7af4
mov edx, 0x8d495f9b
xor edx, 0xcd940f7e
sub ecx, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x4012b07e
mov edx, 0xc4e62ba8
xor edx, 0x84f49bd6
mov r8d, 0x49e2b933
xor r8d, 0xb61d46cc
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x99c64c57
xor ecx, 0x7cf37a25
cmp eax, ecx
jae 0x14014458d
mov rcx, qword [rbp + 0x98]
mov eax, dword [0x14024a1b0]
xor eax, 0x78ffd51e
or eax, dword [0x14024a1b4]
and eax, eax
mov edx, 0x3b9a6ffb
xor edx, 0xc4659004
xor eax, edx
mov edx, 0x1c8565e6
xor edx, 0x2815709d
mov r8d, 0x41bca6b1
xor r8d, 0x752cb3ca
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0x81b2cbd9
xor r8d, 0x7e4d3426
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
mov r8d, 0x4c055326
xor edx, edx
div r8d
mov r9d, 0xffffffff
xor r9d, 0x9c38f81b
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x9952c997
xor r9d, 0x66ad3668
xor edx, r9d
imul edx, r8d
mov r9d, 0xa9ef9137
xor r9d, 0x35d7692c
mov r8d, eax
and r8d, r9d
mov r9d, 0x872d888b
xor r9d, 0x1b157090
or eax, r9d
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
mov qword [rbp + 0x80], rcx
cmp eax, 0x5d274ee1
jb 0x14014361e
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x88], rax
jmp 0x140143700
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x78], rax
cmp rax, 0
je 0x14014430b
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xa0]
cmp rax, qword [rcx]
jne 0x1401442da
mov r9, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x78]
shl r8, 0x20
sar r8, 0x20
mov rcx, r8
and rcx, r9
mov rax, r8
or rax, r9
add rcx, rax
mov qword [rbp + 0x70], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
and rax, rdx
movabs r10, 0xa04150f7e1570627
movabs rdx, 0x5fbeaf081ea8f9d8
xor r10, rdx
mov rdx, r9
xor rdx, r10
mov r10, r9
xor r10, 0xffffffffffffffff
and rdx, r10
or rax, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r10, 0x8057d761be752a88
movabs r11, 0x7fa8289e418ad577
xor r10, r11
xor r9, r10
and rdx, r9
movabs r9, 0x29e1592ed59998d6
movabs r10, 0xd61ea6d12a666729
xor r9, r10
xor rax, r9
movabs r9, 0x11b11dd90c7168b0
movabs r10, 0xee4ee226f38e974f
xor r9, r10
xor rdx, r9
and rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140143826
sub rsp, 0x20
call fcn.140008d37
mov rax, qword [rbp + 0x150]
add rsp, 0x20
mov qword [rbp + 0x128], rax
jmp 0x140144333
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x70]
add rdx, 2
mov qword [rbp + 0x60], rdx
mov rax, qword [0x14025a660]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov qword [rbp + 0x68], rax
cmp rax, 0
jge 0x140143878
sub rsp, 0x20
call fcn.14000bf6c
mov rax, qword [rbp + 0x150]
add rsp, 0x20
mov qword [rbp + 0x128], rax
jmp 0x140144333
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x68]
mov qword [rax], rcx
cmp qword [rbp + 0x268], 0
je 0x1401442da
mov al, byte [rbp + 0xc6]
test al, 1
jne 0x1401438a7
jmp 0x14014395f
mov eax, dword [0x14024a1b8]
xor eax, 0xd9d5c81c
xor eax, dword [0x14024a1bc]
mov edx, 0x48b6566e
xor edx, 0xb749a991
mov ecx, eax
xor ecx, edx
mov edx, 0xe38a7c47
xor edx, 0xc0811794
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x230b6bd3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x230b6bd3
or eax, 0x230b6bd3
imul eax, edx
add eax, ecx
mov ecx, 0x135ee5f0
xor ecx, 0xf210c9d1
sub eax, ecx
xor eax, 0xe2e97985
cmp eax, 0x51daadfa
jbe 0x140144596
mov eax, dword [0x14024a1c0]
and eax, dword [0x14024a1c4]
add eax, 0x335ba53
imul eax, eax, 0xf252f38e
mov ecx, 0x7c5b9726
xor ecx, 0x7c5b9726
mov edx, 0x17804629
xor edx, 0x366b38d
sub ecx, edx
add eax, ecx
cmp eax, 0xe61d03d7
jae 0x140144596
xor eax, eax
mov qword [rbp + 0x58], rax
jmp 0x140144104
mov rcx, qword [rbp + 0x1b8]
mov ax, 0xc405
xor ax, 0xc22f
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064b20
mov rcx, qword [rbp + 0x1c8]
add rsp, 0x20
mov qword [rbp + 0x48], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x50], rax
jne 0x140143e73
sub rsp, 0x20
call fcn.140146f5b
mov rcx, qword [rbp + 0x60]
call fcn.140146f69
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.140146f69
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x40], rcx
cmp rax, 0
jl 0x140143a09
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.140146f69
mov rdx, qword [rbp + 0x60]
add rsp, 0x20
mov r8, rax
lea rcx, [rbp + 0x210]
sub rsp, 0x20
call fcn.1400a7540
add rsp, 0x20
jmp 0x140143a28
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
mov rcx, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x210]
mov qword [rbp + 0x28], rdx
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov cl, byte [rcx]
mov dl, 0xaa
xor dl, 0xaa
cmp cl, dl
mov qword [rbp + 0x50], rax
jne 0x140143e73
mov eax, dword [0x14024a1c8]
mov r8d, dword [0x14024a1cc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x80b116aa
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0x3f87dbf6
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, 0x7e125692
xor edx, 0x81eda96d
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf3507abe
or eax, edx
mov edx, 0xffffffff
xor edx, 0xf3507abe
mov r8d, 0xffffffff
xor r8d, 0xf3507abe
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xbf20b348
xor r8d, 0x40df4cb7
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x95523fc4
jb 0x14014459f
mov r8, qword [rbp + 0x48]
mov r9d, dword [0x14024a1d0]
xor r9d, 0x5fcb1970
mov edx, dword [0x14024a1d4]
xor edx, 0x266941a8
mov ecx, 0x50e96faa
xor ecx, 0xaf169055
mov eax, r9d
xor eax, ecx
and eax, 0x8536ab5e
mov r10d, 0xffffffff
xor r10d, 0x8536ab5e
and r9d, r10d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x8536ab5e
and edx, r10d
or eax, r9d
or ecx, edx
xor eax, ecx
xor eax, 0x66256066
mov ecx, 0x9f6d94d0
xor ecx, 0x99d97b28
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x28]
xor eax, 0xda2e0e61
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
mov qword [rbp + 0x18], r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x27], cl
cmp eax, 0x87575b1f
jb 0x140143b10
mov al, byte [rbp + 0x27]
test al, 1
jne 0x140143bb9
jmp 0x140143bb4
jmp 0x140143e80
mov rax, qword [rbp + 0x28]
movabs rcx, 0x60c35f3ac6ef7c22
movabs rdx, 0x60c35f3ac6ef7c22
xor rcx, rdx
cmp rax, rcx
je 0x140143d64
mov eax, dword [0x14024a1d8]
xor eax, 0xb9286108
add eax, dword [0x14024a1dc]
imul eax, eax, 0xd234706
xor eax, 0x6ee811b2
mov ecx, 0x812710bd
xor ecx, 0x9e538de5
and eax, ecx
cmp eax, 0x1f4108d2
je 0x1401445a8
mov rcx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x18]
mov edx, dword [0x14024a1e0]
mov r9d, dword [0x14024a1e4]
xor r9d, 0xfe7278e3
mov r10d, edx
xor r10d, 0xffffffff
mov eax, r9d
and eax, r10d
xor r9d, 0xffffffff
and edx, r9d
or eax, edx
mov r9d, 0xa93b1018
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x28]
mov r10d, 0x60a616b2
xor r10d, 0x9f59e94d
mov r9d, eax
xor r9d, r10d
mov r10d, 0xe01b1ea4
xor r10d, 0xd270867d
and r10d, r9d
mov r11d, 0xffffffff
xor r11d, 0x326b98d9
mov r9d, eax
and r9d, r11d
imul r9d, r10d
mov r10d, eax
and r10d, 0x326b98d9
or eax, 0x326b98d9
imul eax, r10d
add eax, r9d
xor eax, 0xffffffff
mov r10d, 0x29317cf6
xor r10d, 0xadb55dd8
mov r9d, 0xd293031c
xor r9d, 0x2d6cfce3
xor r10d, r9d
mov r9d, 0xffffffff
xor r9d, 0x6f78757f
or eax, r10d
or r9d, 0x6f78757f
xor eax, 0xffffffff
and eax, r9d
add r8, 8
mov qword [rbp], r8
add rcx, 8
mov qword [rbp + 8], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp + 0x10], rcx
cmp eax, 0x6fa37b79
je 0x1401445a8
xor eax, eax
mov qword [rbp - 8], rax
jmp 0x140143d12
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x10], rax
cmp rax, rcx
je 0x140143d64
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
movabs r8, 0xe022bb5bec72fca1
movabs r9, 0xe022bb5bec72fca0
xor r8, r9
add rax, r8
cmp cl, dl
mov qword [rbp - 8], rax
je 0x140143d12
jmp 0x140143e80
mov eax, dword [0x14024a1e8]
mov edx, dword [0x14024a1ec]
mov ecx, eax
and ecx, edx
mov r8d, 0x41e3245d
xor r8d, 0x41e3245f
imul ecx, r8d
xor eax, edx
add eax, ecx
and eax, 0x934b5ff5
add eax, 0xd5f527cd
mov ecx, 0x29726f7c
xor ecx, 0x846559eb
sub eax, ecx
mov ecx, 0xdee82898
xor ecx, 0xa574ec1
cmp eax, ecx
je 0x1401445b1
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x14024a1f0]
mov r8d, dword [0x14024a1f4]
xor r8d, 0xbf298022
mov edx, eax
xor edx, r8d
mov r9d, 0xc40df49a
xor r9d, 0x3bf20b65
xor edx, r9d
or eax, r8d
and eax, edx
mov r8d, 0x1ac4eb58
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x160]
mov r8d, 0xe2ba1b16
xor r8d, 0xa5c7c35e
xor edx, r8d
add edx, 0x85e0f76
mov dword [rbp - 0x18], edx
mov r8, qword [rbp + 0x268]
mov rdx, qword [rax]
add rdx, 8
lea rax, [0x1402599b0]
cmp r8, 0
cmove rdx, rax
sub rsp, 0x20
call fcn.1401426a0
mov rcx, qword [rbp + 0x1c8]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x2df79e8f
je 0x140143db3
mov rax, qword [rbp + 0x30]
mov cl, byte [rbp - 0x11]
test cl, 1
mov qword [rbp + 0x50], rax
jne 0x140143e80
jmp 0x140143e73
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x20], rax
jmp 0x140144268
mov word [rbp + 0x20e], 0x96f
lea rcx, [rbp + 0x20e]
sub rsp, 0x20
call fcn.140064b20
mov rcx, qword [rbp + 0x1c8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x28], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x58], rax
jne 0x140144104
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.140146f5b
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x38]
add rsp, 0x20
add rcx, 8
lea rdx, [0x1402599b0]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp - 0x30], rcx
cmp byte [rax + 0x50], 0
jne 0x140143f73
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x140143f57
mov rcx, qword [rbp - 0x38]
movabs rdx, 0x5ce1c62b9851fc04
movabs rax, 0x5ce1c62b9851fc04
xor rdx, rax
movabs r8, 0xddcb49bd018d933f
movabs rax, 0xa234b642fe726cc0
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x140143f73
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.1400a7540
add rsp, 0x20
mov rax, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x1f8]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
mov al, byte [rax]
mov cl, 0x9c
xor cl, 0x9c
cmp al, cl
jne 0x1401441a8
mov rax, qword [rbp + 0x188]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
mov qword [rbp + 0x1e8], rdx
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0x1e8]
call fcn.140144857
mov rdx, qword [rbp + 0x60]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov al, byte [rax]
test al, al
sete al
sub rcx, rdx
sete cl
and al, cl
test al, 1
jne 0x140143ff9
jmp 0x1401441a8
mov eax, dword [0x14024a1f8]
mov ecx, dword [0x14024a1fc]
mov edx, 0x4a24561a
xor edx, 0xa7c46920
xor ecx, edx
and eax, ecx
xor eax, 0xf2d105b2
mov ecx, 0x439e2030
xor ecx, 0xfbda91a4
or eax, ecx
or eax, 0x32bc22c6
cmp eax, 0x61f99689
jbe 0x1401445ba
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x14024a200]
xor eax, 0xb66cec8e
and eax, dword [0x14024a204]
mov r8d, 0x2178338a
xor edx, edx
div r8d
mov r8d, 0x56b623be
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x160]
mov r9d, 0x9f3bf32f
xor r9d, 0x60c40cd0
mov r8d, edx
xor r8d, r9d
mov r9d, 0x43602b7
xor r9d, 0x5a41863f
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x5e778488
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0x284aa435
xor r10d, 0x763d20bd
mov r9d, edx
and r9d, r10d
or edx, 0x5e778488
imul edx, r9d
add edx, r8d
mov dword [rbp - 0x54], edx
mov r8, qword [rbp + 0x268]
mov rdx, qword [rax]
add rdx, 8
lea rax, [0x1402599b0]
cmp r8, 0
cmove rdx, rax
sub rsp, 0x20
call fcn.1401426a0
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x35748339
je 0x140144036
jmp 0x1401441a8
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x60], rax
mov eax, dword [0x14024a208]
mov ecx, 0xf5c4486b
xor ecx, 0xc7a35f5
xor eax, ecx
or eax, dword [0x14024a20c]
mov ecx, eax
and ecx, 0xf6a5b23c
shl ecx, 1
add eax, 0xf6a5b23c
sub eax, ecx
xor eax, 0xe9909d07
or eax, 0x4e538fc0
cmp eax, 0x58a2f3b5
je 0x1401445c3
mov eax, dword [0x14024a210]
mov edx, dword [0x14024a214]
mov ecx, 0xba4ab0b4
xor ecx, 0xba4ab0b4
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xbaf239c4
xor edx, edx
div ecx
mov ecx, 0xb8e65f3
xor edx, edx
div ecx
mov ecx, 0x66406c23
xor ecx, 0xd0bca59b
xor edx, edx
div ecx
cmp eax, 0x6cba4c51
jae 0x14014414c
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x20], rax
jmp 0x140144268
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x48]
cmp rcx, 0
mov qword [rbp - 0x20], rax
je 0x140144268
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rcx]
movabs r8, 0x2af7bcff65eefb0c
movabs rcx, 0xd50843009a1104f3
xor r8, rcx
mov rcx, rdx
xor rcx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rcx, r8
movabs r8, 0x4000000000000000
and rdx, r8
movabs r8, 0x92af5b7979a192cf
movabs r9, 0x6d50a486865e6d30
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xef97168a41aafc29
movabs r8, 0xef97168a41aafc29
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x20], rax
jne 0x140144268
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f4df
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401442bc
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xade1ed23fc9250f9
movabs rdx, 0xade1ed23fc9250f9
xor rcx, rdx
cmp rax, rcx
jne 0x1401442bc
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x1c8]
cmp byte [rcx], 0
mov qword [rbp + 0x128], rax
jne 0x140144333
mov rax, qword [rbp + 0x90]
movabs rcx, 0xf364006d801a255b
add rax, rcx
add rax, 8
movabs rcx, 0xf364006d801a255b
sub rax, rcx
mov qword [rbp + 0xa8], rax
jmp 0x140143509
mov rax, qword [rbp + 0x150]
movabs rcx, 0x525f55b44b1755bd
movabs rdx, 0x525f55b44b1755a9
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x128]
mov qword [rbp - 0x78], rcx
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140144531
mov ecx, dword [0x14024a218]
mov eax, 0xb3d60d87
xor eax, 0x42bdadd8
xor ecx, eax
mov edx, dword [0x14024a21c]
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
sub ecx, 0xc532dd30
xor eax, eax
sub eax, 0xfb94d290
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x654401b0
mov edx, 0xffffffff
xor edx, 0x654401b0
and ecx, edx
or eax, ecx
cmp eax, 0x3b2be0b7
jbe 0x1401445cc
mov eax, dword [0x14024a220]
xor edx, edx
div dword [0x14024a224]
mov rdx, qword [rbp - 0x70]
mov r9d, 0xffffffff
xor r9d, 0x59c40acf
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x88d991c3
xor r9d, 0x77266e3c
xor ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x59c40acf
or eax, 0x59c40acf
imul eax, r8d
add eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x588d5c6
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x588d5c6
or eax, 0x588d5c6
imul eax, r8d
add eax, ecx
mov ecx, 0xe6ec5183
xor ecx, 0xdea9c0a6
imul eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xe3d4e213
ja 0x1401443af
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140144476
jmp 0x140144531
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
jmp 0x140144531
mov eax, dword [0x14024a228]
mov ecx, dword [0x14024a22c]
xor ecx, 0x11ff108f
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xd55e5a2a
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, 0x4e721bbc
xor eax, 0xdf0dce87
add ecx, eax
mov eax, ecx
and eax, 0xc6147db7
or ecx, 0xc6147db7
add eax, ecx
mov ecx, 0x9859d7d6
xor ecx, 0xf9006510
cmp eax, ecx
je 0x1401445d5
mov eax, dword [0x14024a230]
mov ecx, 0x80702485
xor ecx, 0xdf7f1045
xor eax, ecx
mov ecx, dword [0x14024a234]
xor ecx, 0x4ed5af11
or eax, ecx
and eax, 0x4fee5e79
imul eax, eax, 0xafc9eb18
imul eax, eax, 0x8a3e8bb8
mov ecx, 0x58f69ceb
xor ecx, 0x66489355
cmp eax, ecx
jbe 0x1401445d5
mov al, 1
mov byte [rbp + 0x1e7], al
jmp 0x14014455d
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x1c8]
mov dl, byte [rax]
mov r8b, 0xdd
xor r8b, 0xdd
xor eax, eax
cmp dl, r8b
mov qword [rbp + 0x190], rcx
mov byte [rbp + 0x1e7], al
je 0x140142cac
mov al, byte [rbp + 0x1e7]
and al, 1
movzx eax, al
lea rsp, [rbp + 0x278]
js 0x14014456f
add byte [rax], al
pop rsi
pop rbp
ret
movabs dword [0xffffe7f8e914ff58], eax
xchg edi, eax
and dl, byte [rdi - 0x17]
jrcxz 0x14014456b
invalid
imul esp, dword [rsi - 0x6b168dbc], 0xfffffee
movabs eax, dword [0x65fffff088e9e996]
xchg edx, eax
pop fs
xchg esi, eax
jmp 0x14004ce7e
xchg edx, eax
test eax, 0xf379e9b8
invalid
mov ebx, 0xe9b0ad89
push 0xffffffff84fffff5
lodsb al, byte [rsi]
add bl, byte [rsi]
jmp 0x140143c11
test byte [rdx + rax - 0x99f16e2], ch
invalid
sub dl, byte [rsi - 6]
xchg edi, eax
jmp 0x140143db3
enter 0xffffffffffffcb75, 0x67
jmp 0x140144036
invalid
insd dword [rdi], dx
movabs al, byte [0x2e8124fffffddae9]
jmp 0x1401444df
and al, 0x81
jmp 0x1401444df