Function at 0x140004160
Capabilities:
Authenticate hmac

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movdqa xmmword [rsp + 0x180], xmm9
movdqa xmmword [rsp + 0x170], xmm8
movdqa xmmword [rsp + 0x160], xmm7
movdqa xmmword [rsp + 0x150], xmm6
lea rdx, [0x1401aebf4]
lea rcx, [rsp + 0x68]
mov r8d, 0xa
call fcn.140142bb0
cmp byte [rsp + 0x68], 0x11
jne 0x140006d50
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400041f3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d3f
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x150
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d3f
mov r15, rax
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004237
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cd9
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x21
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cd9
mov rsi, rax
movaps xmm0, xmmword [0x140146290]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401462a0]
movups xmmword [rax + 0x10], xmm0
mov byte [rax + 0x20], 0xba
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004294
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cd9
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x21
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cd9
mov rbp, rax
movups xmm0, xmmword [rsi]
xorps xmm0, xmmword [0x1401462b0]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsi + 0x10]
xorps xmm0, xmmword [0x1401462c0]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [rsi + 0x20]
xor al, 0xc8
mov byte [rbp + 0x20], al
lea rcx, [rsp + 0x30]
mov r8d, 0x21
mov rdx, rbp
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140004310
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006d72
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000434c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cd9
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x21
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cd9
mov r14, rax
movzx eax, byte [rbp + 0x20]
mov byte [r14 + 0x20], al
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400043a9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov rsi, rax
movaps xmm0, xmmword [0x1401462d0]
movups xmmword [rax], xmm0
movabs rax, 0x66b679568bdb3c6a
mov qword [rsi + 0x10], rax
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004405
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov r13, rax
movaps xmm0, xmmword [0x1401462e0]
movups xmmword [rax], xmm0
movabs rax, 0x1fc4163bee966327
mov qword [r13 + 0x10], rax
movzx eax, byte [rsi]
xor al, 0xa0
mov byte [r13], al
movzx eax, byte [rsi + 1]
xor al, 0x5a
mov byte [r13 + 1], al
movzx eax, byte [rsi + 2]
xor al, 0x6f
mov byte [r13 + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x43
mov byte [r13 + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xc0
mov byte [r13 + 4], al
movzx eax, byte [rsi + 5]
xor al, 0x73
mov byte [r13 + 5], al
movzx eax, byte [rsi + 6]
xor al, 0xf7
mov byte [r13 + 6], al
movzx eax, byte [rsi + 7]
xor al, 0x17
mov byte [r13 + 7], al
movzx eax, byte [rsi + 8]
xor al, 7
mov byte [r13 + 8], al
movzx eax, byte [rsi + 9]
xor al, 0xa5
mov byte [r13 + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x95
mov byte [r13 + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0x5a
mov byte [r13 + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x24
mov byte [r13 + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0xe7
mov byte [r13 + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0xc8
mov byte [r13 + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x63
mov byte [r13 + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x27
mov byte [r13 + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x63
mov byte [r13 + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x96
mov byte [r13 + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0xee
mov byte [r13 + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x3b
mov byte [r13 + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x16
mov byte [r13 + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0xc4
mov byte [r13 + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0x1f
mov byte [r13 + 0x17], al
lea rcx, [rsp + 0x30]
mov r8d, 0x18
mov rdx, r13
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140004563
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006dae
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000459f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov rbx, rax
mov rax, qword [r13 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r13]
movups xmmword [rbx], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400045f3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rsi, rax
movaps xmm0, xmmword [0x1401462f0]
movups xmmword [rax], xmm0
movabs rax, 0x319b05e90e495323
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 0xee8c424c
mov word [rsi + 0x1c], 0xa178
mov byte [rsi + 0x1e], 0xe1
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004660
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov r12, rax
movaps xmm0, xmmword [0x140146300]
movups xmmword [rax], xmm0
movabs rax, 0x58e960847b070c6e
mov qword [r12 + 0x10], rax
mov dword [r12 + 0x18], 0x80e9112f
mov word [r12 + 0x1c], 0xce0b
mov byte [r12 + 0x1e], 0x93
movzx eax, byte [rsi]
xor al, 0xa4
mov byte [r12], al
movzx eax, byte [rsi + 1]
xor al, 0xc5
mov byte [r12 + 1], al
movzx eax, byte [rsi + 2]
xor al, 0xd2
mov byte [r12 + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x66
mov byte [r12 + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xde
mov byte [r12 + 4], al
movzx eax, byte [rsi + 5]
xor al, 0x99
mov byte [r12 + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x1a
mov byte [r12 + 6], al
movzx eax, byte [rsi + 7]
xor al, 0xa9
mov byte [r12 + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x8f
mov byte [r12 + 8], al
movzx eax, byte [rsi + 9]
xor al, 0xb2
mov byte [r12 + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x50
mov byte [r12 + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0x85
mov byte [r12 + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0xa
mov byte [r12 + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x91
mov byte [r12 + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0xa9
mov byte [r12 + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x2c
mov byte [r12 + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x6e
mov byte [r12 + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0xc
mov byte [r12 + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 7
mov byte [r12 + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0x7b
mov byte [r12 + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x84
mov byte [r12 + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x60
mov byte [r12 + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0xe9
mov byte [r12 + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0x58
mov byte [r12 + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x2f
mov byte [r12 + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x11
mov byte [r12 + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0xe9
mov byte [r12 + 0x1a], al
movzx eax, byte [rsi + 0x1b]
add al, 0x80
mov byte [r12 + 0x1b], al
movzx eax, byte [rsi + 0x1c]
xor al, 0xb
mov byte [r12 + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0xce
mov byte [r12 + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 0x93
mov byte [r12 + 0x1e], al
lea rcx, [rsp + 0x30]
mov r8d, 0x1f
mov rdx, r12
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x14000483a
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006dea
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004876
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rsi, rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0xf]
movups xmmword [rax + 0xf], xmm1
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400048cc
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cea
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x23
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cea
mov rdi, rax
mov qword [rsp + 0xc8], rsi
movaps xmm0, xmmword [0x140146310]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146320]
movups xmmword [rax + 0x10], xmm0
mov word [rax + 0x20], 0x8cbe
mov byte [rax + 0x22], 0x59
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004937
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cea
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x23
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cea
mov rsi, rax
movaps xmm0, xmmword [0x140146330]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146340]
movups xmmword [rax + 0x10], xmm0
mov word [rax + 0x20], 0xe3ca
mov byte [rax + 0x22], 0x2b
movzx eax, byte [rdi]
xor al, 0x42
mov byte [rsi], al
movzx eax, byte [rdi + 1]
xor al, 0xb7
mov byte [rsi + 1], al
movzx eax, byte [rdi + 2]
xor al, 9
mov byte [rsi + 2], al
movzx eax, byte [rdi + 3]
xor al, 0xf8
mov byte [rsi + 3], al
movzx eax, byte [rdi + 4]
xor al, 0x1d
mov byte [rsi + 4], al
movzx eax, byte [rdi + 5]
xor al, 0x97
mov byte [rsi + 5], al
movzx eax, byte [rdi + 6]
xor al, 0x33
mov byte [rsi + 6], al
movzx eax, byte [rdi + 7]
xor al, 0x98
mov byte [rsi + 7], al
movzx eax, byte [rdi + 8]
xor al, 0xf5
mov byte [rsi + 8], al
movzx eax, byte [rdi + 9]
xor al, 0xdb
mov byte [rsi + 9], al
movzx eax, byte [rdi + 0xa]
xor al, 1
mov byte [rsi + 0xa], al
movzx eax, byte [rdi + 0xb]
xor al, 0x17
mov byte [rsi + 0xb], al
movzx eax, byte [rdi + 0xc]
xor al, 0x15
mov byte [rsi + 0xc], al
movzx eax, byte [rdi + 0xd]
xor al, 0x15
mov byte [rsi + 0xd], al
movzx eax, byte [rdi + 0xe]
xor al, 0x78
mov byte [rsi + 0xe], al
movzx eax, byte [rdi + 0xf]
xor al, 0xa1
mov byte [rsi + 0xf], al
movzx eax, byte [rdi + 0x10]
xor al, 0xa2
mov byte [rsi + 0x10], al
movzx eax, byte [rdi + 0x11]
xor al, 0x8b
mov byte [rsi + 0x11], al
movzx eax, byte [rdi + 0x12]
xor al, 0x33
mov byte [rsi + 0x12], al
movzx eax, byte [rdi + 0x13]
xor al, 0x88
mov byte [rsi + 0x13], al
movzx eax, byte [rdi + 0x14]
xor al, 0xaa
mov byte [rsi + 0x14], al
movzx eax, byte [rdi + 0x15]
xor al, 0x6e
mov byte [rsi + 0x15], al
movzx eax, byte [rdi + 0x16]
xor al, 0x3a
mov byte [rsi + 0x16], al
movzx eax, byte [rdi + 0x17]
xor al, 0xb9
mov byte [rsi + 0x17], al
movzx eax, byte [rdi + 0x18]
xor al, 0x71
mov byte [rsi + 0x18], al
movzx eax, byte [rdi + 0x19]
xor al, 0x19
mov byte [rsi + 0x19], al
movzx eax, byte [rdi + 0x1a]
xor al, 0x27
mov byte [rsi + 0x1a], al
movzx eax, byte [rdi + 0x1b]
xor al, 0xc1
mov byte [rsi + 0x1b], al
movzx eax, byte [rdi + 0x1c]
xor al, 0x99
mov byte [rsi + 0x1c], al
movzx eax, byte [rdi + 0x1d]
xor al, 0x3e
mov byte [rsi + 0x1d], al
movzx eax, byte [rdi + 0x1e]
xor al, 0xa2
mov byte [rsi + 0x1e], al
movzx eax, byte [rdi + 0x1f]
xor al, 0xb1
mov byte [rsi + 0x1f], al
movzx eax, byte [rdi + 0x20]
xor al, 0xca
mov byte [rsi + 0x20], al
movzx eax, byte [rdi + 0x21]
xor al, 0xe3
mov byte [rsi + 0x21], al
movzx eax, byte [rdi + 0x22]
xor al, 0x2b
mov byte [rsi + 0x22], al
lea rcx, [rsp + 0x30]
mov r8d, 0x23
mov rdx, rsi
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140004ae6
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006e26
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004b22
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cea
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x23
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cea
mov rdi, rax
mov eax, dword [rsi + 0x1f]
mov dword [rdi + 0x1f], eax
movups xmm0, xmmword [rsi]
mov qword [rsp + 0xa0], rsi
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004b82
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov rsi, rax
mov qword [rsp + 0x148], rdi
movaps xmm0, xmmword [0x140146350]
movups xmmword [rax], xmm0
movabs rax, 0xa8519e66702d7aa9
mov qword [rsi + 0x10], rax
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004be6
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov rdi, rax
movaps xmm0, xmmword [0x140146360]
movups xmmword [rax], xmm0
movabs rax, 0xda3eed08157e25e4
mov qword [rdi + 0x10], rax
movzx eax, byte [rsi]
xor al, 0xce
mov byte [rdi], al
movzx eax, byte [rsi + 1]
xor al, 0x7f
mov byte [rdi + 1], al
movzx eax, byte [rsi + 2]
xor al, 0xbe
mov byte [rdi + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x1e
mov byte [rdi + 3], al
movzx eax, byte [rsi + 4]
xor al, 0x53
mov byte [rdi + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xf4
mov byte [rdi + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x5a
mov byte [rdi + 6], al
movzx eax, byte [rsi + 7]
xor al, 0x81
mov byte [rdi + 7], al
movzx eax, byte [rsi + 8]
xor al, 0xc2
mov byte [rdi + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x10
mov byte [rdi + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0xcf
mov byte [rdi + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xa2
mov byte [rdi + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x6e
mov byte [rdi + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x13
mov byte [rdi + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x3b
mov byte [rdi + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x78
mov byte [rdi + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0xe4
mov byte [rdi + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x25
mov byte [rdi + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x7e
mov byte [rdi + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0x15
mov byte [rdi + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 8
mov byte [rdi + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0xed
mov byte [rdi + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0x3e
mov byte [rdi + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0xda
mov byte [rdi + 0x17], al
lea rcx, [rsp + 0x30]
mov r8d, 0x18
mov rdx, rdi
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140004d2b
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006e62
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004d67
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cc1
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cc1
mov rcx, qword [rdi + 0x10]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rdi]
mov qword [rsp + 0x140], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004dbe
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cfb
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x16
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cfb
mov rsi, rax
movaps xmm0, xmmword [0x140146370]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0xc90cc109
mov word [rax + 0x14], 0x135e
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004e19
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cfb
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x16
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cfb
mov rdx, rax
movaps xmm0, xmmword [0x140146380]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0xa55f9e44
mov word [rax + 0x14], 0x6731
movzx eax, byte [rsi]
xor al, 0xae
mov byte [rdx], al
movzx eax, byte [rsi + 1]
xor al, 0x40
mov byte [rdx + 1], al
movzx eax, byte [rsi + 2]
mov byte [rdx + 2], al
movzx eax, byte [rsi + 3]
xor al, 0xaa
mov byte [rdx + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xd
mov byte [rdx + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xc2
mov byte [rdx + 5], al
movzx eax, byte [rsi + 6]
xor al, 0xf9
mov byte [rdx + 6], al
movzx eax, byte [rsi + 7]
xor al, 0xe6
mov byte [rdx + 7], al
movzx eax, byte [rsi + 8]
xor al, 0xbe
mov byte [rdx + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x54
mov byte [rdx + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x72
mov byte [rdx + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xbf
mov byte [rdx + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x40
mov byte [rdx + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x42
mov byte [rdx + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x47
mov byte [rdx + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0xf5
mov byte [rdx + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x44
mov byte [rdx + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x9e
mov byte [rdx + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x5f
mov byte [rdx + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0xa5
mov byte [rdx + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x31
mov byte [rdx + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x67
mov byte [rdx + 0x15], al
lea rcx, [rsp + 0x30]
mov r8d, 0x16
mov qword [rsp + 0x98], rdx
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140004f4e
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006e9e
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004f8a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cfb
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x16
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cfb
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 0xe]
mov qword [rax + 0xe], rdx
movups xmm0, xmmword [rcx]
mov qword [rsp + 0x138], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140004fe9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rsi, rax
movaps xmm0, xmmword [0x140146390]
movups xmmword [rax], xmm0
movabs rax, 0x99ef35c0443a0dd7
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 0x4e9c7d44
mov word [rsi + 0x1c], 0x2d4f
mov byte [rsi + 0x1e], 0x53
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005056
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rdx, rax
movaps xmm0, xmmword [0x1401463a0]
movups xmmword [rax], xmm0
movabs rax, 0xfe8e41ac2b6c529a
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x18], 0x20f92e21
mov word [rdx + 0x1c], 0x423c
mov byte [rdx + 0x1e], 0x21
movzx eax, byte [rsi]
xor al, 0x32
mov byte [rdx], al
movzx eax, byte [rsi + 1]
xor al, 0x50
mov byte [rdx + 1], al
movzx eax, byte [rsi + 2]
xor al, 0xc0
mov byte [rdx + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x6d
mov byte [rdx + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xb8
mov byte [rdx + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xa2
mov byte [rdx + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x36
mov byte [rdx + 6], al
movzx eax, byte [rsi + 7]
xor al, 0xfd
mov byte [rdx + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x9b
mov byte [rdx + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x43
mov byte [rdx + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x6c
mov byte [rdx + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0x2c
mov byte [rdx + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x39
mov byte [rdx + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x3e
mov byte [rdx + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x56
mov byte [rdx + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x91
mov byte [rdx + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x9a
mov byte [rdx + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x52
mov byte [rdx + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x6c
mov byte [rdx + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0x2b
mov byte [rdx + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0xac
mov byte [rdx + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x41
mov byte [rdx + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0x8e
mov byte [rdx + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0xfe
mov byte [rdx + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x21
mov byte [rdx + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x2e
mov byte [rdx + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0xf9
mov byte [rdx + 0x1a], al
movzx eax, byte [rsi + 0x1b]
xor al, 0x20
mov byte [rdx + 0x1b], al
movzx eax, byte [rsi + 0x1c]
xor al, 0x3c
mov byte [rdx + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0x42
mov byte [rdx + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 0x21
mov byte [rdx + 0x1e], al
lea rcx, [rsp + 0x30]
mov r8d, 0x1f
mov qword [rsp + 0x90], rdx
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x1400051f0
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006ee2
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000522c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rcx, qword [rsp + 0x90]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0xf]
movups xmmword [rax + 0xf], xmm1
mov qword [rsp + 0x130], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000528b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rsi, rax
movaps xmm0, xmmword [0x1401463b0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401463c0]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400052e4
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rdx, rax
movaps xmm0, xmmword [0x1401463d0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401463e0]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [rsi]
xor al, 0x29
mov byte [rdx], al
movzx eax, byte [rsi + 1]
xor al, 0x90
mov byte [rdx + 1], al
movzx eax, byte [rsi + 2]
xor al, 0x45
mov byte [rdx + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x1b
mov byte [rdx + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xcb
mov byte [rdx + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xa
mov byte [rdx + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x4e
mov byte [rdx + 6], al
movzx eax, byte [rsi + 7]
xor al, 7
mov byte [rdx + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x9b
mov byte [rdx + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x28
mov byte [rdx + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0xa9
mov byte [rdx + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xe7
mov byte [rdx + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0xe1
mov byte [rdx + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x47
mov byte [rdx + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x46
mov byte [rdx + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x18
mov byte [rdx + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0xa2
mov byte [rdx + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x91
mov byte [rdx + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0xb3
mov byte [rdx + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0xf
mov byte [rdx + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x76
mov byte [rdx + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x1a
mov byte [rdx + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0xc9
mov byte [rdx + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0x57
mov byte [rdx + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x4f
mov byte [rdx + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x72
mov byte [rdx + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0xa4
mov byte [rdx + 0x1a], al
movzx eax, byte [rsi + 0x1b]
xor al, 0x52
mov byte [rdx + 0x1b], al
movzx eax, byte [rsi + 0x1c]
xor al, 0xc1
mov byte [rdx + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0xf6
mov byte [rdx + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 0xa9
mov byte [rdx + 0x1e], al
movzx eax, byte [rsi + 0x1f]
xor al, 0xc4
mov byte [rdx + 0x1f], al
lea rcx, [rsp + 0x30]
mov r8d, 0x20
mov qword [rsp + 0x88], rdx
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140005473
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006f26
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400054af
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rcx, qword [rsp + 0x88]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x128], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000550e
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rsi, rax
mov qword [rsp + 0x120], rbx
movaps xmm0, xmmword [0x1401463f0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146400]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000556f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rbx, rax
movaps xmm0, xmmword [0x140146410]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146420]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [rsi]
xor al, 0x77
mov byte [rbx], al
movzx eax, byte [rsi + 1]
xor al, 0x17
mov byte [rbx + 1], al
movzx eax, byte [rsi + 2]
xor al, 0xec
mov byte [rbx + 2], al
movzx eax, byte [rsi + 3]
xor al, 0xd6
mov byte [rbx + 3], al
movzx eax, byte [rsi + 4]
xor al, 0xcf
mov byte [rbx + 4], al
movzx eax, byte [rsi + 5]
xor al, 0x27
mov byte [rbx + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x9d
mov byte [rbx + 6], al
movzx eax, byte [rsi + 7]
xor al, 0x4c
mov byte [rbx + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x66
mov byte [rbx + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x87
mov byte [rbx + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0xd0
mov byte [rbx + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xc3
mov byte [rbx + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x83
mov byte [rbx + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0xb2
mov byte [rbx + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x4c
mov byte [rbx + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0xc8
mov byte [rbx + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0xeb
mov byte [rbx + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x17
mov byte [rbx + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 1
mov byte [rbx + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0x7f
mov byte [rbx + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x5b
mov byte [rbx + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 6
mov byte [rbx + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 5
mov byte [rbx + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0xbd
mov byte [rbx + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x67
mov byte [rbx + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x3b
mov byte [rbx + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0xc5
mov byte [rbx + 0x1a], al
movzx eax, byte [rsi + 0x1b]
xor al, 0xf9
mov byte [rbx + 0x1b], al
movzx eax, byte [rsi + 0x1c]
add al, 0x80
mov byte [rbx + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0xf8
mov byte [rbx + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 0x52
mov byte [rbx + 0x1e], al
movzx eax, byte [rsi + 0x1f]
xor al, 0xdd
mov byte [rbx + 0x1f], al
lea rcx, [rsp + 0x30]
mov r8d, 0x20
mov rdx, rbx
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x1400056f9
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006f6a
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005735
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x118], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000578c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov rsi, rax
mov qword [rsp + 0x110], r12
movaps xmm0, xmmword [0x140146430]
movups xmmword [rax], xmm0
movabs rax, 0xdb77a8763b19987c
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 0x4171f533
mov word [rsi + 0x1c], 0x1f9d
mov byte [rsi + 0x1e], 0xc8
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005801
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
mov r12, rax
movaps xmm0, xmmword [0x140146440]
movups xmmword [rax], xmm0
movabs rax, 0xb41acd3b642bab12
mov qword [r12 + 0x10], rax
mov dword [r12 + 0x18], 0x33308c41
mov word [r12 + 0x1c], 0x7eef
mov byte [r12 + 0x1e], 0xb1
movzx eax, byte [rsi]
xor al, 0xc3
mov byte [r12], al
movzx eax, byte [rsi + 1]
xor al, 0x2e
mov byte [r12 + 1], al
movzx eax, byte [rsi + 2]
xor al, 0x8a
mov byte [r12 + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x7d
mov byte [r12 + 3], al
movzx eax, byte [rsi + 4]
xor al, 2
mov byte [r12 + 4], al
movzx eax, byte [rsi + 5]
xor al, 0x83
mov byte [r12 + 5], al
movzx eax, byte [rsi + 6]
xor al, 0x28
mov byte [r12 + 6], al
movzx eax, byte [rsi + 7]
xor al, 0x2b
mov byte [r12 + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x4a
mov byte [r12 + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x48
mov byte [r12 + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x31
mov byte [r12 + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0x7e
mov byte [r12 + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x69
mov byte [r12 + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0xbf
mov byte [r12 + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x7c
mov byte [r12 + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0xc3
mov byte [r12 + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x12
mov byte [r12 + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0xab
mov byte [r12 + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x2b
mov byte [r12 + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0x64
mov byte [r12 + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x3b
mov byte [r12 + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0xcd
mov byte [r12 + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0x1a
mov byte [r12 + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0xb4
mov byte [r12 + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x41
mov byte [r12 + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x8c
mov byte [r12 + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0x30
mov byte [r12 + 0x1a], al
movzx eax, byte [rsi + 0x1b]
xor al, 0x33
mov byte [r12 + 0x1b], al
movzx eax, byte [rsi + 0x1c]
xor al, 0xef
mov byte [r12 + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0x7e
mov byte [r12 + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 0xb1
mov byte [r12 + 0x1e], al
lea rcx, [rsp + 0x30]
mov r8d, 0x1f
mov rdx, r12
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x1400059db
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006fa6
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005a17
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b88
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1f
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b88
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0xf]
movups xmmword [rax + 0xf], xmm1
mov qword [rsp + 0x108], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005a72
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rsi, rax
mov qword [rsp + 0x100], r14
movaps xmm0, xmmword [0x140146450]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146460]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005ad3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov r14, rax
movaps xmm0, xmmword [0x140146470]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140146480]
movups xmmword [rax + 0x10], xmm0
movzx eax, byte [rsi]
xor al, 0xa4
mov byte [r14], al
movzx eax, byte [rsi + 1]
xor al, 0x48
mov byte [r14 + 1], al
movzx eax, byte [rsi + 2]
xor al, 0xce
mov byte [r14 + 2], al
movzx eax, byte [rsi + 3]
xor al, 0xe2
mov byte [r14 + 3], al
movzx eax, byte [rsi + 4]
xor al, 0x74
mov byte [r14 + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xe7
mov byte [r14 + 5], al
movzx eax, byte [rsi + 6]
xor al, 0xc5
mov byte [r14 + 6], al
movzx eax, byte [rsi + 7]
xor al, 0xf9
mov byte [r14 + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x28
mov byte [r14 + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x70
mov byte [r14 + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0x64
mov byte [r14 + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xbb
mov byte [r14 + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0xc1
mov byte [r14 + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0xd5
mov byte [r14 + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0xb6
mov byte [r14 + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0xf
mov byte [r14 + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x3a
mov byte [r14 + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x92
mov byte [r14 + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0xec
mov byte [r14 + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0xfc
mov byte [r14 + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0x32
mov byte [r14 + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x13
mov byte [r14 + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0x30
mov byte [r14 + 0x16], al
movzx eax, byte [rsi + 0x17]
xor al, 0x4e
mov byte [r14 + 0x17], al
movzx eax, byte [rsi + 0x18]
xor al, 0x40
mov byte [r14 + 0x18], al
movzx eax, byte [rsi + 0x19]
xor al, 0x84
mov byte [r14 + 0x19], al
movzx eax, byte [rsi + 0x1a]
xor al, 0xbf
mov byte [r14 + 0x1a], al
movzx eax, byte [rsi + 0x1b]
xor al, 0xbd
mov byte [r14 + 0x1b], al
movzx eax, byte [rsi + 0x1c]
xor al, 0xfc
mov byte [r14 + 0x1c], al
movzx eax, byte [rsi + 0x1d]
xor al, 0x41
mov byte [r14 + 0x1d], al
movzx eax, byte [rsi + 0x1e]
xor al, 5
mov byte [r14 + 0x1e], al
movzx eax, byte [rsi + 0x1f]
xor al, 0x29
mov byte [r14 + 0x1f], al
lea rcx, [rsp + 0x30]
mov r8d, 0x20
mov rdx, r14
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140005c7d
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140006fe2
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005cb9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006b99
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006b99
mov rsi, rax
mov qword [rsp + 0xf8], r13
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005d15
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d0c
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x22
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d0c
mov r13, rax
mov qword [rsp + 0xd0], r15
movaps xmm0, xmmword [0x140146490]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401464a0]
movups xmmword [rax + 0x10], xmm0
mov word [rax + 0x20], 0x2548
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005d7c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d0c
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x22
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d0c
mov r15, rax
movaps xmm0, xmmword [0x1401464b0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401464c0]
movups xmmword [rax + 0x10], xmm0
mov word [rax + 0x20], 0x5c3a
movzx eax, byte [r13]
xor al, 0xa9
mov byte [r15], al
movzx eax, byte [r13 + 1]
not al
mov byte [r15 + 1], al
movzx eax, byte [r13 + 2]
xor al, 0x5d
mov byte [r15 + 2], al
movzx eax, byte [r13 + 3]
xor al, 0xa8
mov byte [r15 + 3], al
movzx eax, byte [r13 + 4]
mov byte [r15 + 4], al
movzx eax, byte [r13 + 5]
xor al, 0xe7
mov byte [r15 + 5], al
movzx eax, byte [r13 + 6]
not al
mov byte [r15 + 6], al
movzx eax, byte [r13 + 7]
xor al, 0xb8
mov byte [r15 + 7], al
movzx eax, byte [r13 + 8]
xor al, 0xe7
mov byte [r15 + 8], al
movzx eax, byte [r13 + 9]
xor al, 0x94
mov byte [r15 + 9], al
movzx eax, byte [r13 + 0xa]
xor al, 0x24
mov byte [r15 + 0xa], al
movzx eax, byte [r13 + 0xb]
xor al, 0x8b
mov byte [r15 + 0xb], al
movzx eax, byte [r13 + 0xc]
xor al, 0x65
mov byte [r15 + 0xc], al
movzx eax, byte [r13 + 0xd]
xor al, 0x61
mov byte [r15 + 0xd], al
movzx eax, byte [r13 + 0xe]
xor al, 0xdd
mov byte [r15 + 0xe], al
movzx eax, byte [r13 + 0xf]
xor al, 0xaf
mov byte [r15 + 0xf], al
movzx eax, byte [r13 + 0x10]
xor al, 0xa7
mov byte [r15 + 0x10], al
movzx eax, byte [r13 + 0x11]
xor al, 0xbe
mov byte [r15 + 0x11], al
movzx eax, byte [r13 + 0x12]
xor al, 0x7d
mov byte [r15 + 0x12], al
movzx eax, byte [r13 + 0x13]
xor al, 0x60
mov byte [r15 + 0x13], al
movzx eax, byte [r13 + 0x14]
xor al, 0xfc
mov byte [r15 + 0x14], al
movzx eax, byte [r13 + 0x15]
xor al, 0xc4
mov byte [r15 + 0x15], al
movzx eax, byte [r13 + 0x16]
xor al, 0x61
mov byte [r15 + 0x16], al
movzx eax, byte [r13 + 0x17]
xor al, 0xac
mov byte [r15 + 0x17], al
movzx eax, byte [r13 + 0x18]
xor al, 0xcf
mov byte [r15 + 0x18], al
movzx eax, byte [r13 + 0x19]
xor al, 0x30
mov byte [r15 + 0x19], al
movzx eax, byte [r13 + 0x1a]
xor al, 0x93
mov byte [r15 + 0x1a], al
movzx eax, byte [r13 + 0x1b]
xor al, 0xad
mov byte [r15 + 0x1b], al
movzx eax, byte [r13 + 0x1c]
xor al, 0x27
mov byte [r15 + 0x1c], al
movzx eax, byte [r13 + 0x1d]
xor al, 0xd
mov byte [r15 + 0x1d], al
movzx eax, byte [r13 + 0x1e]
xor al, 0x5b
mov byte [r15 + 0x1e], al
movzx eax, byte [r13 + 0x1f]
xor al, 0x8f
mov byte [r15 + 0x1f], al
movzx eax, byte [r13 + 0x20]
xor al, 0x3a
mov byte [r15 + 0x20], al
movzx eax, byte [r13 + 0x21]
xor al, 0x5c
mov byte [r15 + 0x21], al
lea rcx, [rsp + 0x30]
mov r8d, 0x22
mov rdx, r15
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140005f61
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x14000701e
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140005f9d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d0c
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x22
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d0c
mov r13, rax
mov qword [rsp + 0xf0], rsi
movzx eax, word [r15 + 0x20]
mov word [r13 + 0x20], ax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140006006
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d1d
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x17
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d1d
mov rsi, rax
mov qword [rsp + 0xe8], rdi
movaps xmm0, xmmword [0x1401464d0]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0xf12c0b00
mov word [rax + 0x14], 0xf1be
mov byte [rax + 0x16], 0x8e
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000606d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d1d
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x17
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d1d
mov rdi, rax
movaps xmm0, xmmword [0x1401464e0]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0xae1e386e
mov word [rax + 0x14], 0x90f8
mov byte [rax + 0x16], 0xe0
movzx eax, byte [rsi]
xor al, 0x52
mov byte [rdi], al
movzx eax, byte [rsi + 1]
xor al, 0xb2
mov byte [rdi + 1], al
movzx eax, byte [rsi + 2]
xor al, 0x12
mov byte [rdi + 2], al
movzx eax, byte [rsi + 3]
xor al, 0x13
mov byte [rdi + 3], al
movzx eax, byte [rsi + 4]
xor al, 0x9a
mov byte [rdi + 4], al
movzx eax, byte [rsi + 5]
xor al, 0xed
mov byte [rdi + 5], al
movzx eax, byte [rsi + 6]
xor al, 0xe9
mov byte [rdi + 6], al
movzx eax, byte [rsi + 7]
xor al, 0x3b
mov byte [rdi + 7], al
movzx eax, byte [rsi + 8]
xor al, 0x5d
mov byte [rdi + 8], al
movzx eax, byte [rsi + 9]
xor al, 0x32
mov byte [rdi + 9], al
movzx eax, byte [rsi + 0xa]
xor al, 0xdf
mov byte [rdi + 0xa], al
movzx eax, byte [rsi + 0xb]
xor al, 0xd1
mov byte [rdi + 0xb], al
movzx eax, byte [rsi + 0xc]
xor al, 0x30
mov byte [rdi + 0xc], al
movzx eax, byte [rsi + 0xd]
xor al, 0x68
mov byte [rdi + 0xd], al
movzx eax, byte [rsi + 0xe]
xor al, 0x22
mov byte [rdi + 0xe], al
movzx eax, byte [rsi + 0xf]
xor al, 0x9b
mov byte [rdi + 0xf], al
movzx eax, byte [rsi + 0x10]
xor al, 0x6e
mov byte [rdi + 0x10], al
movzx eax, byte [rsi + 0x11]
xor al, 0x38
mov byte [rdi + 0x11], al
movzx eax, byte [rsi + 0x12]
xor al, 0x1e
mov byte [rdi + 0x12], al
movzx eax, byte [rsi + 0x13]
xor al, 0xae
mov byte [rdi + 0x13], al
movzx eax, byte [rsi + 0x14]
xor al, 0xf8
mov byte [rdi + 0x14], al
movzx eax, byte [rsi + 0x15]
xor al, 0x90
mov byte [rdi + 0x15], al
movzx eax, byte [rsi + 0x16]
xor al, 0xe0
mov byte [rdi + 0x16], al
lea rcx, [rsp + 0x30]
mov r8d, 0x17
mov rdx, rdi
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x1400061ac
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140007057
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400061e8
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d1d
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x17
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d1d
mov rcx, qword [rdi + 0xf]
mov qword [rax + 0xf], rcx
movups xmm0, xmmword [rdi]
mov qword [rsp + 0xe0], rax
movups xmmword [rax], xmm0
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x14000623f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d2e
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1d
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d2e
mov rsi, rax
mov qword [rsp + 0xd8], rbp
movaps xmm0, xmmword [0x1401464f0]
movups xmmword [rax], xmm0
movabs rax, 0x7d7f621af49264b3
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 0x90cc6c1b
mov byte [rsi + 0x1c], 0xae
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400062ae
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d2e
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1d
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d2e
mov rbp, rax
movups xmm0, xmmword [rsi]
xorps xmm0, xmmword [0x140146500]
movups xmmword [rax], xmm0
movabs rax, 0x1e10104aaba057dd
xor rax, qword [rsi + 0x10]
mov qword [rbp + 0x10], rax
mov eax, 0xffbf1f7e
xor eax, dword [rsi + 0x18]
mov dword [rbp + 0x18], eax
movzx eax, byte [rsi + 0x1c]
xor al, 0xdc
mov byte [rbp + 0x1c], al
lea rcx, [rsp + 0x30]
mov r8d, 0x1d
mov rdx, rbp
call fcn.1400100f0
cmp qword [rsp + 0x30], 0
je 0x140006338
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x6b], edx
cmp cl, 2
jne 0x140007090
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140006374
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006d2e
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x1d
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006d2e
movdqu xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0xd]
movups xmmword [rax + 0xd], xmm1
movdqu xmmword [rax], xmm0
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x100]
mov qword [rsi], rcx
mov qword [rsi + 8], 0x21
mov qword [rsi + 0x10], 0x21
mov rcx, qword [rsp + 0x120]
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x20], 0x18
mov qword [rsi + 0x28], 0x18
mov rcx, qword [rsp + 0xc8]
mov qword [rsi + 0x30], rcx
mov qword [rsi + 0x38], 0x1f
mov qword [rsi + 0x40], 0x1f
mov rcx, qword [rsp + 0x148]
mov qword [rsi + 0x48], rcx
mov qword [rsi + 0x50], 0x23
mov qword [rsi + 0x58], 0x23
mov rcx, qword [rsp + 0x140]
mov qword [rsi + 0x60], rcx
mov qword [rsi + 0x68], 0x18
mov qword [rsi + 0x70], 0x18
mov rcx, qword [rsp + 0x138]
mov qword [rsi + 0x78], rcx
mov qword [rsi + 0x80], 0x16
mov qword [rsi + 0x88], 0x16
mov rcx, qword [rsp + 0x130]
mov qword [rsi + 0x90], rcx
mov qword [rsi + 0x98], 0x1f
mov qword [rsi + 0xa0], 0x1f
mov rcx, qword [rsp + 0x128]
mov qword [rsi + 0xa8], rcx
mov qword [rsi + 0xb0], 0x20
mov qword [rsi + 0xb8], 0x20
mov rcx, qword [rsp + 0x118]
mov qword [rsi + 0xc0], rcx
mov qword [rsi + 0xc8], 0x20
mov qword [rsi + 0xd0], 0x20
mov rcx, qword [rsp + 0x108]
mov qword [rsi + 0xd8], rcx
mov qword [rsi + 0xe0], 0x1f
mov qword [rsi + 0xe8], 0x1f
mov rcx, qword [rsp + 0xf0]
mov qword [rsi + 0xf0], rcx
mov qword [rsi + 0xf8], 0x20
mov qword [rsi + 0x100], 0x20
mov qword [rsi + 0x108], r13
mov qword [rsi + 0x110], 0x22
mov qword [rsi + 0x118], 0x22
mov rcx, qword [rsp + 0xe0]
mov qword [rsi + 0x120], rcx
mov qword [rsi + 0x128], 0x17
mov qword [rsi + 0x130], 0x17
mov qword [rsi + 0x138], rax
mov qword [rsi + 0x140], 0x1d
mov qword [rsi + 0x148], 0x1d
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r15
mov rdi, rsi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbx
xor ebx, ebx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x88]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x90]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0xe8]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0xa0]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x110]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0xf8]
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call sub.kernel32.dll_HeapFree
lea rax, [rsp + 0xa8]
movq xmm7, rax
lea r13, [rsi + 0x20]
mov r15d, 0x138
lea r14, [rsp + 0x30]
movdqa xmm8, xmmword [0x140146510]
nop dword [rax + rax]
lea rax, [rbx + rbx*2]
inc rbx
mov r12, qword [rdi + rax*8]
test r12, r12
je 0x140006a57
lea rax, [rdi + rax*8]
mov rdi, qword [rax + 8]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140006720
js 0x140006cd2
movzx eax, byte [0x1401be180]
mov rax, qword [0x1401be0e8]
test rax, rax
jne 0x140006703
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006ca1
mov qword [0x1401be0e8], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov rbp, rax
test rax, rax
jne 0x140006725
jmp 0x140006ca1
mov ebp, 1
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], rbx
mov rcx, rbp
mov qword [rsp + 0x88], r12
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov edx, 3
lea rcx, [0x140154288]
call fcn.14013d370
mov rbx, rax
mov rcx, rbp
mov rdx, rsi
call fcn.14013d370
mov r12, rax
mov rdx, qword [rsp + 0xa8]
mov rcx, r14
mov r8, rbx
mov r9, rax
call fcn.14001fbe0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
test r15, r15
je 0x140006960
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xa0], eax
test rdi, rdi
je 0x1400067b7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test r12, r12
je 0x1400067c4
mov rcx, r12
call sub.oleaut32.dll_SysFreeString
xor edi, edi
mov r12d, 0
test rbx, rbx
je 0x1400067dc
mov rcx, rbx
call sub.oleaut32.dll_SysFreeString
mov r12d, edi
test rsi, rsi
je 0x1400067f2
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
test r15, r15
jne 0x140006baa
pshufd xmm0, xmm6, 0xee
movq rbp, xmm0
mov byte [rsp + 0x68], 0x11
mov rcx, r14
mov rdx, rbp
lea r15, [rsp + 0x68]
mov r8, r15
call fcn.14001e6c0
cmp qword [rsp + 0x30], 0
je 0x140006990
movzx eax, byte [0x1401be180]
mov rax, qword [0x1401be0e8]
test rax, rax
jne 0x140006851
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140006cb0
mov qword [0x1401be0e8], rax
mov r8d, 0xc0
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140006cb0
mov rbx, rax
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 4
mov qword [rsp + 0xc0], 1
mov esi, 1
mov edi, 0x30
jmp 0x1400068ee
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmmword [rbx + rdi + 0x20], xmm2
movups xmmword [rbx + rdi + 0x10], xmm1
movdqu xmmword [rbx + rdi], xmm0
inc rsi
mov qword [rsp + 0xc0], rsi
add rdi, 0x30
mov rcx, r14
mov rdx, rbp
mov r8, r15
call fcn.14001e6c0
cmp qword [rsp + 0x30], 0
je 0x140006930
cmp rsi, qword [rsp + 0xb8]
jne 0x1400068c0
mov r8d, 1
lea rcx, [rsp + 0xb0]
mov rdx, rsi
call fcn.14001b0a0
mov rbx, qword [rsp + 0xb0]
jmp 0x1400068c0
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
movdqa xmm9, xmmword [rsp + 0xb0]
movzx r12d, byte [rsp + 0x68]
cmp r12b, 0x11
je 0x1400069b1
jmp 0x140006bc8
test r12, r12
je 0x14000696d
mov rcx, r12
call sub.oleaut32.dll_SysFreeString
movq xmm0, rdi
movdqa xmm6, xmm7
punpcklqdq xmm6, xmm0
mov dil, 0x11
mov r12b, 0x11
test rbx, rbx
jne 0x1400067d1
jmp 0x1400067dc
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
movdqa xmm9, xmm8
xor esi, esi
movzx r12d, byte [rsp + 0x68]
cmp r12b, 0x11
jne 0x140006bc8
movq rbx, xmm9
mov rdi, rbx
mov r15, rsi
test rsi, rsi
je 0x1400069e1
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400196d0
add rdi, 0x30
dec r15
jne 0x1400069d0
pshufd xmm0, xmm9, 0xee
movq rax, xmm0
test rax, rax
mov r12, qword [rsp + 0x88]
je 0x140006a0a
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xc8], 0
mov rdi, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x90]
je 0x140006a36
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
test rsi, rsi
mov rbx, qword [rsp + 0x98]
je 0x140006a84
add r15, 0xffffffffffffffe8
add r13, 0x18
cmp rbx, 0xe
jne 0x1400066b0
jmp 0x140006a61
cmp rbx, 0xe
jne 0x140006ae8
mov rcx, qword [0x1401be0e8]
xor esi, esi
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140006ab0
cmp rbx, 0xe
jne 0x140006b38
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov sil, 1
mov eax, esi
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
mov rsi, rdx
shr rsi, 4
jmp 0x140006b1d
add r13, 0x18
dec rsi
je 0x140006a61
cmp qword [r13], 0
je 0x140006b10
mov r8, qword [r13 - 8]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140006b10
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
mov rsi, rdx
shr rsi, 4
jmp 0x140006b6d
add r13, 0x18
dec rsi
je 0x140006a8e
cmp qword [r13], 0
je 0x140006b60
mov r8, qword [r13 - 8]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140006b60
mov ecx, 1
mov edx, 0x1f
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x20
call fcn.140007810
ud2
movzx eax, byte [rsp + 0x6a]
mov byte [rsp + 0xb2], al
movzx eax, word [rsp + 0x68]
mov word [rsp + 0xb0], ax
jmp 0x140006c42
lea rcx, [rsp + 0x69]
movzx eax, byte [rcx + 2]
mov byte [rsp + 0xb2], al
movzx eax, word [rcx]
mov word [rsp + 0xb0], ax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xa0], eax
movdqu xmm6, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0x80]
movq rdi, xmm9
test rsi, rsi
je 0x140006c21
mov rbx, rdi
nop dword [rax]
mov rcx, rbx
call fcn.1400196d0
add rbx, 0x30
dec rsi
jne 0x140006c10
pshufd xmm0, xmm9, 0xee
movq rax, xmm0
test rax, rax
je 0x140006c42
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov byte [rsp + 0x30], r12b
movzx eax, word [rsp + 0xb0]
mov word [rsp + 0x31], ax
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x34], eax
movdqu xmmword [rsp + 0x38], xmm6
mov qword [rsp + 0x48], r14
lea rax, str.src_anti_emulation.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.140001450
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.140010e60
ud2
mov ecx, 1
mov rdx, rsi
call fcn.140007810
ud2
mov ecx, 8
mov edx, 0xc0
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x18
call fcn.140007810
ud2
call fcn.1400077d0
ud2
mov ecx, 1
mov edx, 0x21
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x23
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x16
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x22
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x17
call fcn.140007810
ud2
mov ecx, 1
mov edx, 0x1d
call fcn.140007810
ud2
mov ecx, 8
mov edx, 0x150
call fcn.140007810
ud2
movdqu xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm0
lea rax, str.src_anti_emulation.rs
jmp 0x140006c7d
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], 0x21
mov qword [rsp + 0x40], 0x21
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0x18
mov qword [rsp + 0x40], 0x18
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0x1f
mov qword [rsp + 0x40], 0x1f
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 0x23
mov qword [rsp + 0x40], 0x23
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0x18
mov qword [rsp + 0x40], 0x18
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], 0x16
mov qword [rsp + 0x40], 0x16
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], 0x1f
mov qword [rsp + 0x40], 0x1f
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], 0x20
mov qword [rsp + 0x40], 0x20
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], 0x20
mov qword [rsp + 0x40], 0x20
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0x1f
mov qword [rsp + 0x40], 0x1f
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0x20
mov qword [rsp + 0x40], 0x20
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], 0x22
mov qword [rsp + 0x40], 0x22
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0x17
mov qword [rsp + 0x40], 0x17
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
jmp 0x1400070c7
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], 0x1d
mov qword [rsp + 0x40], 0x1d
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [rsp + 0x51], eax
mov dword [rsp + 0x54], ecx
lea rax, str.src_anti_emulation.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14014e240]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.140010e60
ud2