Function at 0x180019c00
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xf0
mov rdi, r9
mov r15, rcx
xor r14d, r14d
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x31], r14
lea rax, [rbp - 0x31]
mov qword [rbp - 0x21], rax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x19], rax
lea rax, [rbp - 0x39]
mov qword [rbp - 0x11], rax
mov byte [rbp - 9], 1
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
mov esi, r14d
mov qword [rbp - 0x41], r14
mov qword [rbp + 0xf], r14
mov rbx, qword [rbp + 0x7f]
test rbx, rbx
je 0x180019c8c
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.18001ee70
mov rsi, qword [rbp + 0xf]
mov qword [rbp - 0x41], rsi
mov r8, rbx
mov rdx, rdi
mov rdi, qword [rbp - 1]
mov rcx, rdi
call fcn.1800460b0
mov dword [rsp + 0x30], 0xb130b5b
mov dword [rsp + 0x34], 0x6755418
mov dword [rsp + 0x38], 0xe00081d
mov dword [rsp + 0x3c], 0x3181a4f
mov dword [rsp + 0x40], 0x64060115
mov byte [rsp + 0x44], 0x84
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x45], xmm0
mov word [rbp - 0x7c], ax
mov byte [rbp - 0x7a], al
mov rax, r14
movabs r11, 0x84d957411bbc3457
mov r10, r11
lea rcx, [rsp + 0x31]
sub r10, rcx
nop dword [rax]
nop dword [rax + rax]
lea r9, [rsp + 0x31]
add r9, rax
lea ecx, [rax + 0x44]
and cl, byte [r9 - 1]
mov edx, 0x34
sub dl, cl
add dl, dl
add dl, al
add byte [r9 - 1], dl
movzx r8d, byte [r9]
lea edx, [rax + 0x45]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x69
add cl, r8b
mov byte [r9], cl
lea ecx, [rax + 0x46]
and cl, byte [r9 + 1]
mov edx, 0x35
sub dl, cl
add dl, dl
add dl, al
add byte [r9 + 1], dl
movzx r8d, byte [r9 + 2]
lea edx, [rax + 0x47]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x6b
add cl, r8b
mov byte [r9 + 2], cl
lea ecx, [rax + 0x48]
and cl, byte [r9 + 3]
mov edx, 0x36
sub dl, cl
add dl, dl
add dl, byte [r9 + 3]
add dl, al
mov byte [r9 + 3], dl
movzx edx, byte [r9 + 4]
lea ecx, [rax + 0x49]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x6d
add dl, al
mov byte [r9 + 4], dl
lea ecx, [rax + 0x4a]
and cl, byte [r9 + 5]
mov edx, 0x37
sub dl, cl
add dl, dl
add dl, byte [r9 + 5]
add dl, al
mov byte [r9 + 5], dl
movzx r8d, byte [r9 + 6]
lea edx, [rax + 0x4b]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x6f
add cl, r8b
mov byte [r9 + 6], cl
lea ecx, [rax + 0x4c]
and cl, byte [r9 + 7]
mov edx, 0x38
sub dl, cl
add dl, dl
add dl, byte [r9 + 7]
add dl, al
mov byte [r9 + 7], dl
movzx r8d, byte [r9 + 8]
lea edx, [rax + 0x4d]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x71
add cl, r8b
mov byte [r9 + 8], cl
lea ecx, [rax + 0x4e]
and cl, byte [r9 + 9]
mov edx, 0x39
sub dl, cl
add dl, dl
add dl, byte [r9 + 9]
add dl, al
mov byte [r9 + 9], dl
movzx r8d, byte [r9 + 0xa]
lea edx, [rax + 0x4f]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x73
add cl, r8b
mov byte [r9 + 0xa], cl
lea ecx, [rax + 0x50]
and cl, byte [r9 + 0xb]
mov edx, 0x3a
sub dl, cl
add dl, dl
add dl, al
add byte [r9 + 0xb], dl
movzx r8d, byte [r9 + 0xc]
lea edx, [rax + 0x51]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x75
add cl, r8b
mov byte [r9 + 0xc], cl
lea ecx, [rax + 0x52]
and cl, byte [r9 + 0xd]
mov edx, 0x3b
sub dl, cl
add dl, dl
add dl, al
add byte [r9 + 0xd], dl
movzx r8d, byte [r9 + 0xe]
lea edx, [rax + 0x53]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x77
add cl, r8b
mov byte [r9 + 0xe], cl
lea ecx, [rax + 0x54]
and cl, byte [r9 + 0xf]
mov edx, 0x3c
sub dl, cl
add dl, dl
add dl, al
add byte [r9 + 0xf], dl
movzx r8d, byte [r9 + 0x10]
lea edx, [rax + 0x55]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
add r8b, 0x79
add cl, r8b
mov byte [r9 + 0x10], cl
lea ecx, [rax + 0x56]
and cl, byte [r9 + 0x11]
mov edx, 0x3d
sub dl, cl
add dl, dl
add dl, byte [r9 + 0x11]
add dl, al
mov byte [r9 + 0x11], dl
movzx r8d, byte [r9 + 0x12]
lea rcx, [r9 + r10]
and rcx, r8
imul rdx, rcx, 0xfffffffffffffffe
add rdx, r8
add rdx, r11
add rdx, rax
add dl, 0x24
mov byte [r9 + 0x12], dl
add rax, 0x14
cmp rax, 0x28
jb 0x180019d00
mov al, 0xe9
mov r8b, 0xc9
mov r9b, 0xbe
mov r10b, 0xcc
mov r11b, 0xc2
mov bl, 0xc6
mov r14b, 0xfd
mov r12b, 1
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov dword [rbp - 0x6c], ecx
mov word [rbp - 0x68], cx
movzx edx, al
movzx eax, dl
and al, 0xf9
mov ecx, 0x15
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x79], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xfa
add al, al
sub cl, al
add cl, 0x2b
mov byte [rbp - 0x78], cl
movzx edx, r9b
movzx eax, dl
and al, 0xfb
mov ecx, 0x16
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x77], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xfc
add al, al
sub cl, al
add cl, 0x2d
mov byte [rbp - 0x76], cl
movzx edx, r11b
movzx eax, dl
and al, r14b
mov r13d, 0x17
mov ecx, r13d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x75], cl
movzx ecx, bl
movzx eax, cl
and al, 0xfe
add al, al
sub cl, al
add cl, 0x2f
mov byte [rbp - 0x74], cl
movzx eax, r14b
mov ecx, 0x30
sub cl, al
mov byte [rbp - 0x73], cl
movzx eax, r12b
add al, 0x31
mov byte [rbp - 0x72], al
mov al, 0xfc
movzx edx, al
movzx eax, dl
and al, r12b
mov ecx, 0x19
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x71], cl
mov al, 0x31
movzx ecx, al
movzx eax, cl
and al, 2
add al, al
sub cl, al
add cl, 0x33
mov byte [rbp - 0x70], cl
mov al, 0x38
movzx edx, al
movzx eax, dl
and al, 3
mov ebx, 0x1a
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6f], cl
mov al, 0x3f
movzx ecx, al
movzx eax, cl
and al, 4
add al, al
sub cl, al
add cl, 0x35
mov byte [rbp - 0x6e], cl
mov al, 0xca
movzx edx, al
movzx eax, dl
and al, 5
mov r14d, 0x1b
mov ecx, r14d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6d], cl
mov r8, qword [rbp - 0x49]
movzx ecx, r8b
movzx eax, cl
and al, 6
add al, al
sub cl, al
add cl, 0x37
mov byte [rbp - 0x6c], cl
movzx edx, byte [rbp - 0x6b]
movzx eax, dl
and al, 7
mov ecx, 0x1c
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6b], cl
movzx ecx, byte [rbp - 0x6a]
movzx eax, cl
and al, 8
add al, al
sub cl, al
add cl, 0x39
mov byte [rbp - 0x6a], cl
movzx edx, byte [rbp - 0x69]
movzx eax, dl
and al, 9
mov ecx, 0x1d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x69], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xa
add al, al
sub cl, al
add cl, 0x3b
mov byte [rbp - 0x68], cl
movzx edx, byte [rbp - 0x67]
movzx eax, dl
and al, 0xb
mov ecx, 0x1e
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x67], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x41d349e7308cd60c
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x31
mov byte [rbp - 0x66], cl
lea rcx, [rbp - 0x79]
call fcn.18000c7b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18000c310
mov dword [rsp + 0x20], 0xf0000000
mov r12d, 0x18
mov r9d, r12d
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
lea rcx, [rbp - 0x39]
call rax
test eax, eax
jne 0x18001a69e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
je 0x18001a183
test rdi, rdi
je 0x18001a17e
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001a172
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
mov dword [rbp - 0x79], 0x4b534b1b
mov dword [rbp - 0x75], 0x46751458
mov dword [rbp - 0x71], 0x4e40485d
mov dword [rbp - 0x6d], 0x43585a0f
mov dword [rbp - 0x69], 0x64464155
mov byte [rbp - 0x65], 0xc4
xor eax, eax
mov qword [rbp - 0x64], rax
mov word [rbp - 0x5c], ax
mov byte [rbp - 0x5a], al
xor r9d, r9d
movabs r10, 0x3aa9c016c5c2b033
lea rax, [rbp - 0x78]
sub r10, rax
lea edi, [r9 + 0x16]
lea esi, [rdi - 2]
lea r11d, [r9 + 0x19]
lea r15d, [r9 + 0x15]
nop word [rax + rax]
lea r8, [rbp - 0x78]
add r8, r9
lea eax, [r9 + 0x24]
and al, byte [r8 - 1]
mov ecx, esi
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 - 1], cl
lea ecx, [r9 + 0x25]
and cl, byte [r8]
add cl, cl
movzx eax, r9b
sub al, cl
add al, 0x29
add byte [r8], al
lea eax, [r9 + 0x26]
and al, byte [r8 + 1]
mov ecx, r15d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 1], cl
lea ecx, [r9 + 0x27]
and cl, byte [r8 + 2]
add cl, cl
movzx eax, r9b
sub al, cl
add al, 0x2b
add byte [r8 + 2], al
lea eax, [r9 + 0x28]
and al, byte [r8 + 3]
mov ecx, edi
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 3], cl
movzx ecx, byte [r8 + 4]
lea eax, [r9 + 0x29]
and al, cl
add al, al
sub cl, al
add cl, 0x2d
add cl, r9b
mov byte [r8 + 4], cl
lea eax, [r9 + 0x2a]
and al, byte [r8 + 5]
mov ecx, r13d
sub cl, al
add cl, cl
add cl, byte [r8 + 5]
add cl, r9b
mov byte [r8 + 5], cl
movzx ecx, byte [r8 + 6]
lea eax, [r9 + 0x2b]
and al, cl
add al, al
sub cl, al
add cl, 0x2f
add cl, r9b
mov byte [r8 + 6], cl
lea eax, [r9 + 0x2c]
and al, byte [r8 + 7]
mov ecx, r12d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 7], cl
movzx ecx, byte [r8 + 8]
lea eax, [r9 + 0x2d]
and al, cl
add al, al
sub cl, al
add cl, 0x31
add cl, r9b
mov byte [r8 + 8], cl
lea eax, [r9 + 0x2e]
and al, byte [r8 + 9]
mov ecx, r11d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 9], cl
movzx ecx, byte [r8 + 0xa]
lea eax, [r9 + 0x2f]
and al, cl
add al, al
sub cl, al
add cl, 0x33
add cl, r9b
mov byte [r8 + 0xa], cl
lea eax, [r9 + 0x30]
and al, byte [r8 + 0xb]
mov ecx, ebx
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 0xb], cl
movzx edx, byte [r8 + 0xc]
lea ecx, [r9 + 0x31]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x35
add al, dl
mov byte [r8 + 0xc], al
lea eax, [r9 + 0x32]
and al, byte [r8 + 0xd]
mov ecx, r14d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 0xd], cl
movzx edx, byte [r8 + 0xe]
lea rax, [r8 + r10]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
movabs rax, 0x3aa9c016c5c2b033
add rcx, rax
add rcx, r9
add cl, 4
mov byte [r8 + 0xe], cl
add r9, 0x10
cmp r9, 0x20
jb 0x18001a1e0
mov al, 0xad
mov dl, 0xc9
mov r8b, 0xc8
mov r9b, 0xd2
mov r10b, 0xc0
mov r11b, 0xd8
mov dil, 0x81
movzx esi, dil
mov r15b, 0x86
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rbp - 0x49], rcx
movups xmmword [rsp + 0x3d], xmm0
movzx ecx, al
movzx eax, cl
and al, 0xe
add al, al
sub cl, al
sub cl, 0x54
mov byte [rsp + 0x30], cl
movzx ecx, dl
movzx eax, cl
and al, 0xf
add al, al
sub cl, al
sub cl, 0x53
mov byte [rsp + 0x31], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x10
add al, al
sub cl, al
sub cl, 0x52
mov byte [rsp + 0x32], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x11
add al, al
sub cl, al
sub cl, 0x51
mov byte [rsp + 0x33], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x12
add al, al
sub cl, al
sub cl, 0x50
mov byte [rsp + 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x13
add al, al
sub cl, al
sub cl, 0x4f
mov byte [rsp + 0x35], cl
movzx ecx, dil
movzx eax, cl
and al, 0x14
add al, al
sub cl, al
sub cl, 0x4e
mov byte [rsp + 0x36], cl
mov ecx, esi
movzx eax, sil
and al, 0x15
add al, al
sub cl, al
sub cl, 0x4d
mov byte [rsp + 0x37], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x16
add al, al
sub cl, al
sub cl, 0x4c
mov byte [rsp + 0x38], cl
mov al, 0xd1
movzx ecx, al
movzx eax, cl
and al, r13b
add al, al
sub cl, al
sub cl, 0x4b
mov byte [rsp + 0x39], cl
mov al, 0xd6
movzx ecx, al
movzx eax, cl
and al, r12b
add al, al
sub cl, al
sub cl, 0x4a
mov byte [rsp + 0x3a], cl
mov al, 0xd7
movzx ecx, al
movzx eax, cl
and al, 0x19
add al, al
sub cl, al
sub cl, 0x49
mov byte [rsp + 0x3b], cl
mov al, 0x78
movzx ecx, al
movzx eax, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x48
mov byte [rsp + 0x3c], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, r14b
add al, al
sub cl, al
sub cl, 0x47
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 0x1c
add al, al
sub cl, al
sub cl, 0x46
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0x1d
add al, al
sub cl, al
sub cl, 0x45
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0x1e
add al, al
sub cl, al
sub cl, 0x44
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0x1f
add al, al
sub cl, al
sub cl, 0x43
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0x20
add al, al
sub cl, al
sub cl, 0x42
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0x21
add al, al
sub cl, al
sub cl, 0x41
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x44]
movzx eax, cl
and al, 0x22
add al, al
sub cl, al
sub cl, 0x40
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0x23
add al, al
sub cl, al
sub cl, 0x3f
mov byte [rsp + 0x45], cl
movzx ecx, byte [rsp + 0x46]
movzx eax, cl
and al, 0x24
add al, al
sub cl, al
sub cl, 0x3e
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0x25
add al, al
sub cl, al
sub cl, 0x3d
mov byte [rsp + 0x47], cl
movzx ecx, byte [rsp + 0x48]
movzx eax, cl
and al, 0x26
add al, al
sub cl, al
sub cl, 0x3c
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0x27
add al, al
sub cl, al
sub cl, 0x3b
mov byte [rsp + 0x49], cl
movzx ecx, byte [rsp + 0x4a]
movzx eax, cl
and al, 0x28
add al, al
sub cl, al
sub cl, 0x3a
mov byte [rsp + 0x4a], cl
movzx ecx, byte [rsp + 0x4b]
movzx eax, cl
and al, 0x29
add al, al
sub cl, al
sub cl, 0x39
mov byte [rsp + 0x4b], cl
movzx ecx, byte [rsp + 0x4c]
movzx eax, cl
and al, 0x2a
add al, al
sub cl, al
sub cl, 0x38
mov byte [rsp + 0x4c], cl
movzx ecx, byte [rbp - 0x49]
mov eax, ecx
movabs rdx, 0xbc7dff01446fb2b
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x62
mov byte [rsp + 0x4d], cl
lea rcx, [rsp + 0x30]
call fcn.18000c7b0
lea rdx, [rbp - 0x79]
mov rcx, rax
call fcn.18000c310
mov dword [rsp + 0x20], 8
mov r9d, r12d
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
lea rcx, [rbp - 0x39]
call rax
test eax, eax
mov rdi, qword [rbp - 1]
mov rsi, qword [rbp - 0x41]
mov r15, qword [rbp + 0x5f]
jne 0x18001a69e
test rdi, rdi
je 0x18001a699
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001a68d
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
mov al, 0xd3
mov r8b, 0xe3
movzx r9d, r8b
mov r10b, 0xfb
mov r11b, 0xe4
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov word [rbp - 0x69], cx
movzx edx, al
movzx eax, dl
and al, 0x52
mov ecx, 0xa
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x79], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x53
add al, al
sub cl, al
add cl, 0x15
mov byte [rbp - 0x78], cl
movzx eax, r9b
and al, 0x54
mov ecx, 0xb
sub cl, al
add cl, cl
add cl, r9b
mov byte [rbp - 0x77], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x55
add al, al
sub cl, al
add cl, r13b
mov byte [rbp - 0x76], cl
movzx edx, r11b
movzx eax, dl
and al, 0x56
mov ecx, 0xc
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x75], cl
mov al, 0xd6
movzx ecx, al
movzx eax, cl
and al, 0x57
add al, al
sub cl, al
add cl, 0x19
mov byte [rbp - 0x74], cl
mov al, 0xe8
movzx edx, al
movzx eax, dl
and al, 0x58
mov ecx, 0xd
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x73], cl
mov al, 0xfa
movzx ecx, al
movzx eax, cl
and al, 0x59
add al, al
sub cl, al
add cl, r14b
mov byte [rbp - 0x72], cl
mov al, 0xc5
movzx edx, al
movzx eax, dl
and al, 0x5a
mov ecx, 0xe
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x71], cl
mov al, 0xe9
movzx ecx, al
movzx eax, cl
and al, 0x5b
add al, al
sub cl, al
add cl, 0x1d
mov byte [rbp - 0x70], cl
mov al, 0xff
movzx edx, al
movzx eax, dl
and al, 0x5c
mov ecx, 0xf
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6f], cl
mov al, 0xdb
movzx ecx, al
movzx eax, cl
and al, 0x5d
add al, al
sub cl, al
add cl, 0x1f
mov byte [rbp - 0x6e], cl
mov al, 0xc1
movzx edx, al
movzx eax, dl
and al, 0x5e
mov ecx, 0x10
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6d], cl
mov al, 0xee
movzx ecx, al
movzx eax, cl
and al, 0x5f
add al, al
sub cl, al
add cl, 0x21
mov byte [rbp - 0x6c], cl
mov al, 0xc6
movzx edx, al
movzx eax, dl
and al, 0x60
mov ecx, 0x11
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6b], cl
mov al, 0x5f
movzx ecx, al
movzx eax, cl
and al, 0x61
add al, al
sub cl, al
add cl, 0x23
mov byte [rbp - 0x6a], cl
mov r8, qword [rbp - 0x49]
movzx edx, r8b
movzx eax, dl
and al, 0x62
mov ecx, 0x12
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x69], cl
movzx ecx, byte [rbp - 0x68]
movzx eax, cl
and al, 0x63
add al, al
sub cl, al
add cl, 0x25
mov byte [rbp - 0x68], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0xc311c092944fc664
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x3e
mov byte [rbp - 0x67], cl
mov al, 0x15
mov r8b, 0x7d
mov r9b, 0x4e
mov r10b, 0x70
mov r11b, 0x42
xorps xmm0, xmm0
movups xmmword [rsp + 0x3d], xmm0
movzx edx, al
movzx eax, dl
and al, 0x23
mov ecx, r13d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x24
add al, al
sub cl, al
add cl, 0x2f
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0x25
mov ecx, r12d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x26
add al, al
sub cl, al
add cl, 0x31
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0x27
mov ecx, 0x19
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
mov al, 0x76
movzx ecx, al
movzx eax, cl
and al, 0x28
add al, al
sub cl, al
add cl, 0x33
mov byte [rsp + 0x35], cl
mov al, 1
movzx edx, al
movzx eax, dl
and al, 0x29
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
mov al, 0xd
movzx ecx, al
movzx eax, cl
and al, 0x2a
add al, al
sub cl, al
add cl, 0x35
mov byte [rsp + 0x37], cl
mov al, 8
movzx edx, al
movzx eax, dl
and al, 0x2b
mov ecx, r14d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
mov al, 0x75
movzx ecx, al
movzx eax, cl
and al, 0x2c
add al, al
sub cl, al
add cl, 0x37
mov byte [rsp + 0x39], cl
mov al, 0x4c
movzx edx, al
movzx eax, dl
and al, 0x2d
mov ecx, 0x1c
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
mov al, 0x4f
movzx ecx, al
movzx eax, cl
and al, 0x2e
add al, al
sub cl, al
add cl, 0x39
mov byte [rsp + 0x3b], cl
mov al, 0xda
movzx edx, al
movzx eax, dl
and al, 0x2f
mov ecx, 0x1d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0x30
add al, al
sub cl, al
add cl, 0x3b
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx eax, dl
and al, 0x31
mov ecx, 0x1e
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0x32
add al, al
sub cl, al
add cl, 0x3d
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0x33
mov ecx, 0x1f
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0x34
add al, al
sub cl, al
add cl, 0x3f
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0x35
mov ecx, 0x20
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0x36
add al, al
sub cl, al
add cl, 0x41
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0x37
mov ecx, 0x21
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0x38
add al, al
sub cl, al
add cl, 0x43
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0x39
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0x3a
add al, al
sub cl, al
add cl, 0x45
mov byte [rsp + 0x47], cl
movzx edx, byte [rsp + 0x48]
movzx eax, dl
and al, 0x3b
mov ecx, 0x23
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0x3c
add al, al
sub cl, al
add cl, 0x47
mov byte [rsp + 0x49], cl
movzx edx, byte [rsp + 0x4a]
movzx eax, dl
and al, 0x3d
mov ecx, 0x24
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4a], cl
movzx ecx, byte [rsp + 0x4b]
movzx eax, cl
and al, 0x3e
add al, al
sub cl, al
add cl, 0x49
mov byte [rsp + 0x4b], cl
movzx ecx, byte [rsp + 0x4c]
mov eax, ecx
movabs rdx, 0x5d7f483efc82293f
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0xb
mov byte [rsp + 0x4c], cl
lea rcx, [rsp + 0x30]
call fcn.18000c7b0
lea rdx, [rbp - 0x79]
mov rcx, rax
call fcn.18000c310
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800c
mov rcx, qword [rbp - 0x39]
call rax
test eax, eax
jne 0x18001ab84
test rdi, rdi
je 0x18001ab7f
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001ab73
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
mov al, 0xdb
mov r8b, 0xeb
mov r9b, 0x93
movzx r10d, r8b
mov r11b, 0x98
xor ecx, ecx
mov qword [rbp - 0x41], rcx
mov qword [rsp + 0x3e], rcx
mov dword [rsp + 0x46], ecx
movzx edx, al
movzx eax, dl
and al, 0x54
mov ecx, 4
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x55
add al, al
sub cl, al
add cl, 9
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0x56
mov ecx, 5
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
mov ecx, r10d
movzx eax, r10b
and al, 0x57
add al, al
sub cl, al
add cl, 0xb
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0x58
mov r10d, 6
mov ecx, r10d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
mov al, 0xcd
movzx ecx, al
movzx eax, cl
and al, 0x59
add al, al
sub cl, al
add cl, 0xd
mov byte [rsp + 0x35], cl
mov al, 0xf7
movzx edx, al
movzx eax, dl
and al, 0x5a
mov ecx, 7
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
mov al, 0xe4
movzx ecx, al
movzx eax, cl
and al, 0x5b
add al, al
sub cl, al
add cl, 0xf
mov byte [rsp + 0x37], cl
mov al, 0xe8
movzx edx, al
movzx eax, dl
and al, 0x5c
mov r8d, 8
mov ecx, r8d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
mov al, 0xcd
movzx ecx, al
movzx eax, cl
and al, 0x5d
add al, al
sub cl, al
add cl, 0x11
mov byte [rsp + 0x39], cl
mov al, 0xf3
movzx edx, al
movzx eax, dl
and al, 0x5e
mov r11d, 9
mov ecx, r11d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
mov al, 0x9f
movzx ecx, al
movzx eax, cl
and al, 0x5f
add al, al
sub cl, al
add cl, 0x13
mov byte [rsp + 0x3b], cl
mov al, 0xcd
movzx edx, al
movzx eax, dl
and al, 0x60
mov ecx, 0xa
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
mov al, 0x2d
movzx ecx, al
movzx eax, cl
and al, 0x61
add al, al
sub cl, al
add cl, 0x15
mov byte [rsp + 0x3d], cl
movzx edx, byte [rbp - 0x41]
movzx eax, dl
and al, 0x62
mov ecx, 0xb
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0x63
add al, al
sub cl, al
add cl, r13b
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0x64
mov ecx, 0xc
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0x65
add al, al
sub cl, al
add cl, 0x19
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0x66
mov r9d, 0xd
mov ecx, r9d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0x67
add al, al
sub cl, al
add cl, r14b
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0x68
mov ecx, 0xe
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0x69
add al, al
sub cl, al
add cl, 0x1d
mov byte [rsp + 0x45], cl
movzx edx, byte [rbp - 0x41]
movzx eax, dl
and al, 0x6a
mov ecx, 0xf
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0x6b
add al, al
sub cl, al
add cl, 0x1f
mov byte [rsp + 0x47], cl
movzx edx, byte [rsp + 0x48]
movzx eax, dl
and al, 0x6c
mov ecx, 0x10
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
mov eax, ecx
movabs rdx, 0xb0cd6f2efdf2ca6d
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x4c
mov byte [rsp + 0x49], cl
mov al, 0xcd
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov dword [rbp - 0x6c], ecx
mov word [rbp - 0x68], cx
movzx edx, al
movzx eax, dl
and al, 0xfe
mov ecx, r10d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x79], cl
mov al, 0xa9
movzx eax, al
mov ecx, r9d
sub cl, al
mov byte [rbp - 0x78], cl
mov al, 0x68
movzx eax, al
add al, 0xe
mov byte [rbp - 0x77], al
mov al, 0x52
movzx ecx, al
movzx eax, cl
and al, 1
add al, al
sub cl, al
add cl, 0xf
mov byte [rbp - 0x76], cl
mov al, 0x60
movzx edx, al
movzx eax, dl
and al, 2
mov ecx, r8d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x75], cl
mov al, 0x58
movzx ecx, al
movzx eax, cl
and al, 3
add al, al
sub cl, al
add cl, 0x11
mov byte [rbp - 0x74], cl
mov al, 0x21
movzx edx, al
movzx eax, dl
and al, 4
mov ecx, r11d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x73], cl
mov al, 0x21
movzx ecx, al
movzx eax, cl
and al, 5
add al, al
sub cl, al
add cl, 0x13
mov byte [rbp - 0x72], cl
mov al, 0x26
movzx edx, al
movzx eax, dl
and al, r10b
mov ecx, 0xa
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x71], cl
mov al, 0x51
movzx ecx, al
movzx eax, cl
and al, 7
add al, al
sub cl, al
add cl, 0x15
mov byte [rbp - 0x70], cl
mov al, 0x56
movzx edx, al
movzx eax, dl
and al, r8b
mov ecx, 0xb
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6f], cl
mov al, 0x57
movzx ecx, al
movzx eax, cl
and al, r11b
add al, al
sub cl, al
add cl, r13b
mov byte [rbp - 0x6e], cl
mov al, 0xf8
movzx edx, al
movzx eax, dl
and al, 0xa
mov ecx, 0xc
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6d], cl
mov r8, qword [rbp - 0x49]
movzx ecx, r8b
movzx eax, cl
and al, 0xb
add al, al
sub cl, al
add cl, 0x19
mov byte [rbp - 0x6c], cl
movzx edx, byte [rbp - 0x6b]
movzx eax, dl
and al, 0xc
mov ecx, r9d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6b], cl
movzx ecx, byte [rbp - 0x6a]
movzx eax, cl
and al, r9b
add al, al
sub cl, al
add cl, r14b
mov byte [rbp - 0x6a], cl
movzx edx, byte [rbp - 0x69]
movzx eax, dl
and al, 0xe
mov ecx, 0xe
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x69], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xf
add al, al
sub cl, al
add cl, 0x1d
mov byte [rbp - 0x68], cl
movzx ecx, byte [rbp - 0x67]
mov eax, ecx
movabs rdx, 0x596d67b489b05810
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0xe
mov byte [rbp - 0x67], cl
lea rcx, [rbp - 0x79]
call fcn.18000c7b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18000c310
xor r9d, r9d
mov rdx, qword [rbp + 0x67]
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, qword [rbp - 0x31]
call rax
test eax, eax
jne 0x18001b01e
test rdi, rdi
je 0x18001b019
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001b00d
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
movzx eax, r14b
mov r8b, 0x43
mov r9b, 0x4b
movzx r10d, r8b
mov r11b, 0x4e
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov qword [rsp + 0x3f], rcx
mov dword [rsp + 0x47], ecx
mov word [rsp + 0x4b], cx
mov edx, eax
and al, 0xa3
mov ecx, r13d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xa4
add al, al
sub cl, al
add cl, 0x2f
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0xa5
mov ecx, r12d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
mov ecx, r10d
movzx eax, r10b
and al, 0xa6
add al, al
sub cl, al
add cl, 0x31
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0xa7
mov ecx, 0x19
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
mov al, 0x11
movzx ecx, al
movzx eax, cl
and al, 0xa8
add al, al
sub cl, al
add cl, 0x33
mov byte [rsp + 0x35], cl
mov al, 0x73
movzx ecx, al
movzx eax, cl
and al, 0xa9
sub bl, al
add bl, bl
add bl, cl
mov byte [rsp + 0x36], bl
mov al, 0x4d
movzx ecx, al
movzx eax, cl
and al, 0xaa
add al, al
sub cl, al
add cl, 0x35
mov byte [rsp + 0x37], cl
mov al, 0x75
movzx ecx, al
movzx eax, cl
and al, 0xab
sub r14b, al
add r14b, r14b
add r14b, cl
mov byte [rsp + 0x38], r14b
mov al, 0x47
movzx ecx, al
movzx eax, cl
and al, 0xac
add al, al
sub cl, al
add cl, 0x37
mov byte [rsp + 0x39], cl
mov al, 0x77
movzx ecx, al
movzx eax, cl
and al, 0xad
mov edx, 0x1c
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3a], dl
mov al, 0x6e
movzx ecx, al
movzx eax, cl
and al, 0xae
add al, al
sub cl, al
add cl, 0x39
mov byte [rsp + 0x3b], cl
mov al, 0x75
movzx ecx, al
movzx eax, cl
and al, 0xaf
mov edx, 0x1d
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3c], dl
mov al, 0x5e
movzx ecx, al
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
add cl, 0x3b
mov byte [rsp + 0x3d], cl
mov al, 0xc4
movzx ecx, al
movzx eax, cl
and al, 0xb1
mov edx, 0x1e
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3e], dl
mov r8, qword [rbp - 0x49]
movzx ecx, r8b
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
add cl, 0x3d
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0xb3
mov edx, 0x1f
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x40], dl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
add cl, 0x3f
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0xb5
mov edx, 0x20
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x42], dl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
add cl, 0x41
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x44]
movzx eax, cl
and al, 0xb7
mov edx, 0x21
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x44], dl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
add cl, r10b
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0xb9
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xba
add al, al
sub cl, al
add cl, 0x45
mov byte [rsp + 0x47], cl
movzx ecx, byte [rsp + 0x48]
movzx eax, cl
and al, 0xbb
mov edx, 0x23
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x48], dl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0xbc
add al, al
sub cl, al
add cl, 0x47
mov byte [rsp + 0x49], cl
movzx ecx, byte [rsp + 0x4a]
movzx eax, cl
and al, 0xbd
mov edx, 0x24
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x4a], dl
movzx ecx, r8b
movzx eax, cl
and al, 0xbe
add al, al
sub cl, al
add cl, 0x49
mov byte [rsp + 0x4b], cl
movzx edx, byte [rsp + 0x4c]
movzx eax, dl
and al, 0xbf
mov ecx, 0x25
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4c], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x3f31b2dd56687c0
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x75
mov byte [rsp + 0x4d], cl
mov dword [rbp - 0x79], 0xcae0f1ad
mov dword [rbp - 0x75], 0xa9a9f0f8
mov dword [rbp - 0x71], 0xf7f6f9b6
mov byte [rbp - 0x6d], 0x60
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x6c], xmm0
mov word [rbp - 0x5c], ax
xor r9d, r9d
movabs r11, 0x7ec893c0d6e0c012
mov r10, r11
lea rax, [rbp - 0x79]
sub r10, rax
nop
lea r8, [rbp - 0x79]
add r8, r9
movzx edx, byte [r8]
lea rax, [r8 + r10]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, r9
add rcx, r11
add rcx, rdx
sub cl, 0x7e
mov byte [r8], cl
inc r9
cmp r9, 0x1f
jb 0x18001b330
lea rcx, [rbp - 0x79]
call fcn.18000c7b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18000c310
lea rcx, [rbp - 0x29]
mov qword [rsp + 0x20], rcx
mov r9d, 1
mov r8, qword [rbp - 0x31]
mov edx, 0x6610
mov rcx, qword [rbp - 0x39]
call rax
test eax, eax
jne 0x18001b3d4
test rdi, rdi
je 0x18001b3cf
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001b3c3
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
mov dword [rbp - 0x79], 0xb130b5b
mov dword [rbp - 0x75], 0x1b0b6618
mov dword [rbp - 0x71], 0x631b0c6b
mov dword [rbp - 0x6d], 0x1a6f1f6d
mov byte [rbp - 0x69], 0x88
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], eax
mov word [rbp - 0x4c], ax
xor r9d, r9d
movabs r11, 0xdf8a6ee8cd5662c4
mov r10, r11
lea rax, [rbp - 0x79]
sub r10, rax
nop
lea r8, [rbp - 0x79]
add r8, r9
movzx edx, byte [r8]
lea rax, [r8 + r10]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
sub cl, 0x5c
mov byte [r8], cl
inc r9
cmp r9, 0x2f
jb 0x18001b420
mov al, 0x49
mov r8b, 0xa9
mov r9b, 0xbe
mov r10b, 0xac
mov r11b, 0xa2
mov bl, 0xa6
mov r14b, 0x7d
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov qword [rsp + 0x3d], rcx
mov word [rsp + 0x45], cx
movzx ecx, al
movzx eax, cl
and al, r8b
mov edx, 5
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x30], dl
movzx ecx, r8b
movzx eax, cl
and al, 0xaa
add al, al
sub cl, al
add cl, 0xb
mov byte [rsp + 0x31], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xab
mov edx, 6
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x32], dl
movzx ecx, r10b
movzx eax, cl
and al, r10b
add al, al
sub cl, al
add cl, 0xd
mov byte [rsp + 0x33], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xad
mov edx, 7
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x34], dl
movzx ecx, bl
movzx eax, cl
and al, 0xae
add al, al
sub cl, al
add cl, 0xf
mov byte [rsp + 0x35], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xaf
mov edx, 8
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x36], dl
mov al, 0x61
movzx ecx, al
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
add cl, 0x11
mov byte [rsp + 0x37], cl
mov al, 0x7c
movzx ecx, al
movzx eax, cl
and al, 0xb1
mov edx, 9
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x38], dl
mov al, 0xb1
movzx ecx, al
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
add cl, 0x13
mov byte [rsp + 0x39], cl
mov al, 0xb8
movzx ecx, al
movzx eax, cl
and al, 0xb3
mov edx, 0xa
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3a], dl
mov al, 0xbf
movzx ecx, al
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
add cl, 0x15
mov byte [rsp + 0x3b], cl
mov al, 0x2a
movzx ecx, al
movzx eax, cl
and al, 0xb5
mov edx, 0xb
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3c], dl
mov r8, qword [rbp - 0x49]
movzx ecx, r8b
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
add cl, r13b
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 0xb7
mov edx, 0xc
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3e], dl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
add cl, 0x19
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0xb9
mov edx, 0xd
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x40], dl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xba
add al, al
sub cl, al
add cl, 0x1b
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0xbb
mov edx, 0xe
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x42], dl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0xbc
add al, al
sub cl, al
add cl, 0x1d
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0xbd
mov ebx, 0xf
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, r8b
movzx eax, cl
and al, r9b
add al, al
sub cl, al
add cl, 0x1f
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0xbf
mov ecx, 0x10
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x8b27c0dd4c0e6ec0
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x61
mov byte [rsp + 0x47], cl
lea rcx, [rsp + 0x30]
call fcn.18000c7b0
lea rdx, [rbp - 0x79]
mov rcx, rax
call fcn.18000c310
xor r9d, r9d
mov r8, qword [rbp + 0x6f]
mov r8, qword [r8]
lea edx, [rbx - 0xe]
mov rcx, qword [rbp - 0x29]
call rax
test eax, eax
jne 0x18001b711
test rdi, rdi
je 0x18001b70c
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001b700
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
jmp 0x18001bb3a
mov r14, qword [rbp + 7]
mov rax, r14
sub rax, rdi
mov qword [rbp - 0x41], rax
mov dword [rbp + 0x7f], eax
mov al, 0xdb
mov dl, 0xb3
mov r8b, 0xab
movzx r9d, dl
mov r10b, 0xae
mov r11b, 0x21
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov qword [rsp + 0x3d], rcx
movzx ecx, al
movzx eax, cl
and al, 0xfb
sub bl, al
add bl, bl
add bl, cl
mov byte [rsp + 0x30], bl
movzx ecx, dl
movzx eax, cl
and al, 0xfc
add al, al
sub cl, al
add cl, 0x1f
mov byte [rsp + 0x31], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xfd
mov edx, 0x10
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x32], dl
mov ecx, r9d
movzx eax, r9b
and al, 0xfe
add al, al
sub cl, al
add cl, r11b
mov byte [rsp + 0x33], cl
movzx eax, r10b
mov ecx, 0x22
sub cl, al
mov byte [rsp + 0x34], cl
movzx eax, r11b
add al, 0x23
mov byte [rsp + 0x35], al
mov al, 0x43
movzx ecx, al
movzx eax, cl
and al, 1
mov edx, 0x12
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x36], dl
mov al, 0x42
movzx ecx, al
movzx eax, cl
and al, 2
add al, al
sub cl, al
add cl, 0x25
mov byte [rsp + 0x37], cl
mov al, 0x4c
movzx edx, al
movzx eax, dl
and al, 3
mov ecx, 0x13
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
mov al, 0x52
movzx ecx, al
movzx eax, cl
and al, 4
add al, al
sub cl, al
add cl, 0x27
mov byte [rsp + 0x39], cl
mov al, 0x48
movzx ecx, al
movzx eax, cl
and al, 5
mov edx, 0x14
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3a], dl
mov al, 0x57
movzx ecx, al
movzx eax, cl
and al, 6
add al, al
sub cl, al
add cl, 0x29
mov byte [rsp + 0x3b], cl
mov al, 0xda
movzx ecx, al
movzx eax, cl
and al, 7
mov edx, 0x15
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3c], dl
mov r8, qword [rbp - 0x49]
movzx ecx, r8b
movzx eax, cl
and al, 8
add al, al
sub cl, al
add cl, 0x2b
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 9
mov edx, 0x16
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x3e], dl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xa
add al, al
sub cl, al
add cl, 0x2d
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0xb
sub r13b, al
add r13b, r13b
add r13b, cl
mov byte [rsp + 0x40], r13b
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xc
add al, al
sub cl, al
add cl, 0x2f
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0xd
sub r12b, al
add r12b, r12b
add r12b, cl
mov byte [rsp + 0x42], r12b
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0xe
add al, al
sub cl, al
add cl, 0x31
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x44]
movzx eax, cl
and al, 0xf
mov edx, 0x19
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x44], dl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x63076e2272a54b10
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x23
mov byte [rsp + 0x45], cl
mov al, 0xe5
mov dl, 0xbd
movzx r8d, r10b
mov r9b, 0x80
mov r10b, 0xb2
mov r11b, 0x86
mov bl, 0xd1
mov r12b, 0xcd
mov r13b, 0xc8
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov dword [rbp - 0x6c], ecx
mov word [rbp - 0x68], cx
movzx ecx, al
movzx eax, cl
and al, 0x5b
add al, al
sub cl, al
sub cl, 0x22
mov byte [rbp - 0x79], cl
movzx ecx, dl
movzx eax, cl
and al, 0x5c
add al, al
sub cl, al
sub cl, 0x21
mov byte [rbp - 0x78], cl
mov ecx, r8d
movzx eax, r8b
and al, 0x5d
add al, al
sub cl, al
sub cl, 0x20
mov byte [rbp - 0x77], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x5e
add al, al
sub cl, al
sub cl, 0x1f
mov byte [rbp - 0x76], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x5f
add al, al
sub cl, al
sub cl, 0x1e
mov byte [rbp - 0x75], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x60
add al, al
sub cl, al
sub cl, 0x1d
mov byte [rbp - 0x74], cl
movzx ecx, bl
movzx eax, cl
and al, 0x61
add al, al
sub cl, al
sub cl, 0x1c
mov byte [rbp - 0x73], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x62
add al, al
sub cl, al
sub cl, 0x1b
mov byte [rbp - 0x72], cl
movzx ecx, r13b
movzx eax, cl
and al, 0x63
add al, al
sub cl, al
sub cl, 0x1a
mov byte [rbp - 0x71], cl
mov al, 0x85
movzx ecx, al
movzx eax, cl
and al, 0x64
add al, al
sub cl, al
sub cl, 0x19
mov byte [rbp - 0x70], cl
mov al, 0x8c
movzx ecx, al
movzx eax, cl
and al, 0x65
add al, al
sub cl, al
sub cl, 0x18
mov byte [rbp - 0x6f], cl
mov al, 0x8f
movzx ecx, al
movzx eax, cl
and al, 0x66
add al, al
sub cl, al
sub cl, 0x17
mov byte [rbp - 0x6e], cl
mov al, 0x1a
movzx ecx, al
movzx eax, cl
and al, 0x67
add al, al
sub cl, al
sub cl, 0x16
mov byte [rbp - 0x6d], cl
mov rdx, qword [rbp - 0x49]
movzx ecx, dl
movzx eax, cl
and al, 0x68
add al, al
sub cl, al
sub cl, 0x15
mov byte [rbp - 0x6c], cl
movzx ecx, byte [rbp - 0x6b]
movzx eax, cl
and al, 0x69
add al, al
sub cl, al
sub cl, 0x14
mov byte [rbp - 0x6b], cl
movzx ecx, byte [rbp - 0x6a]
movzx eax, cl
and al, 0x6a
add al, al
sub cl, al
sub cl, 0x13
mov byte [rbp - 0x6a], cl
movzx ecx, byte [rbp - 0x69]
movzx eax, cl
and al, 0x6b
add al, al
sub cl, al
sub cl, 0x12
mov byte [rbp - 0x69], cl
movzx ecx, dl
movzx eax, cl
and al, 0x6c
add al, al
sub cl, al
sub cl, 0x11
mov byte [rbp - 0x68], cl
movzx ecx, byte [rbp - 0x67]
mov eax, ecx
movabs rdx, 0x10ffa659827b7e6d
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x7d
mov byte [rbp - 0x67], cl
lea rcx, [rbp - 0x79]
call fcn.18000c7b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18000c310
lea rcx, [rbp + 0x7f]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, qword [rbp - 0x29]
call rax
test eax, eax
jne 0x18001bb61
test rdi, rdi
je 0x18001bb3a
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001bb2e
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
cmp byte [rbp - 9], 0
je 0x18001bb4a
lea rcx, [rbp - 0x21]
call fcn.18001bcc0
nop
mov byte [r15], 0
xor eax, eax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
jmp 0x18001bc86
mov ebx, dword [rbp + 0x7f]
mov rcx, qword [rbp - 0x41]
cmp rbx, rcx
jae 0x18001bb73
lea r14, [rbx + rdi]
jmp 0x18001bbad
jbe 0x18001bbb1
mov rax, rsi
sub rax, rdi
cmp rbx, rax
jbe 0x18001bb9a
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.18001ee70
mov rsi, qword [rbp + 0xf]
mov r14, qword [rbp + 7]
mov rdi, qword [rbp - 1]
jmp 0x18001bbb1
sub rbx, rcx
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.180045cf0
add r14, rbx
mov qword [rbp + 7], r14
mov byte [r15], 1
xor eax, eax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
sub r14, rdi
je 0x18001bc41
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x18001bcaa
cmp r14, 0x1000
jb 0x18001bc10
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x18001bcb0
call fcn.18001f544
mov rcx, rax
test rax, rax
je 0x18001bcb6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18001bc18
mov rcx, r14
call fcn.18001f544
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
add rax, r14
mov qword [r15 + 0x18], rax
mov rbx, qword [r15 + 8]
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.1800460b0
lea rax, [rbx + r14]
mov qword [r15 + 0x10], rax
test rdi, rdi
je 0x18001bc76
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18001bc6a
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001bca4
mov rdx, rsi
mov rcx, rdi
call fcn.18001f510
nop
cmp byte [rbp - 9], 0
je 0x18001bc86
lea rcx, [rbp - 0x21]
call fcn.18001bcc0
nop
mov rax, r15
mov rbx, qword [rsp + 0x148]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18002cef4
nop
call fcn.18001f1a0
int3
call fcn.180001300
int3
call fcn.18002cef4
int3