Function at 0x14015dc70
Capabilities:
Authenticate hmac
Encode data using base64
Resolve function by parsing pe exports
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4d8
movaps xmmword [rsp + 0x4c0], xmm13
movdqa xmmword [rsp + 0x4b0], xmm12
movdqa xmmword [rsp + 0x4a0], xmm11
movdqa xmmword [rsp + 0x490], xmm10
movdqa xmmword [rsp + 0x480], xmm9
movdqa xmmword [rsp + 0x470], xmm8
movdqa xmmword [rsp + 0x460], xmm7
movdqa xmmword [rsp + 0x450], xmm6
call sub.KERNEL32.dll_GetCurrentProcessId
mov dword [rsp + 0x274], eax
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 8
mov qword [rsp + 0x30], 0
lea rax, [0x141a6cccf]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x75542b0122086052
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159070
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0xc5
mov ecx, edi
shr ecx, 8
xor cl, 0x42
xor dil, 0x9a
movabs rdx, 0x8479c79fa5e96c4f
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015dd9d
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a73548]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xe20c4758924f5be2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a460
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x141af8129]
mov edx, 0x11
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xfa738ddb3149310f
xor rdi, rax
movabs rax, 0xfdecb981cebdd787
xor rbx, rax
xor bpl, 0xdf
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov byte [rsi + 0x10], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015de61
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x11
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6d721]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x1a5985b4c3d9d9f
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159cd0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0x6f
xor dil, 0x34
movabs rcx, 0x2229f7dd70366606
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015df1a
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a78f91]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x82cca29c3d58f008
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159230
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x55
mov ecx, edi
shr ecx, 8
xor cl, 0x7a
xor dil, 0x9c
movabs rdx, 0x703445531535182b
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015dfe7
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a723a6]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xeb81de80cbc31054
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159520
mov edi, dword [rax]
movzx ebx, word [rax + 4]
movzx ebp, byte [rax + 6]
movzx eax, byte [0x141af8129]
mov edx, 7
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or ebx, ebp
mov eax, ebx
shr eax, 0x10
xor al, 0xec
movzx eax, al
mov byte [rsi + 6], al
shl rax, 0x30
mov ecx, ebx
shr ecx, 8
xor cl, 0xb
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor bl, 0xb7
movzx eax, bl
shl rax, 0x20
or rax, rcx
xor edi, 0x518c2b23
mov dword [rsi], edi
shr rax, 0x20
mov word [rsi + 4], ax
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e0c6
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 7
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 7
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a76e00]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x439427a8e613e147
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159e20
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x73
mov ecx, edi
shr ecx, 8
xor cl, 0x5a
xor dil, 6
movabs rdx, 0x7f5af24f3b2e39a2
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e193
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a707b7]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xf80289484ba33e5c
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a270
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x75
mov ecx, edi
shr ecx, 8
xor cl, 0x2e
xor dil, 0xd
movabs rdx, 0x2a700e726b52581a
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e260
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a76a89]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x945b06f0045f2c2a
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159b90
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0xe8
xor dil, 0x4f
movabs rcx, 0x6e45b1948a469fcb
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e319
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a74ba7]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xc0eb012a90ed7ce0
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159e60
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x91
mov ecx, edi
shr ecx, 8
xor cl, 0x57
xor dil, 0x88
movabs rdx, 0x5f8a81589aa7daa1
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e3e6
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a71eee]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xb5337aedfb9697f2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159950
mov rdi, qword [rax]
movzx eax, byte [0x141af8129]
mov edx, 8
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xa7060320467b510d
xor rdi, rax
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e489
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 8
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 8
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7b46d]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xffcf07c087ac67fa
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159120
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x4f
mov ecx, edi
shr ecx, 8
xor cl, 0x16
xor dil, 0xf4
movabs rdx, 0x182e3712ae8e289c
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e556
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6f215]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x9f708aef4b83c4ac
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401597d0
mov rdi, qword [rax]
mov ebx, dword [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xc
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0x36d0d7a595d35c8
xor rdi, rax
xor ebx, 0xfa819f7b
mov qword [rsi], rdi
mov dword [rsi + 8], ebx
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e605
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xc
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xc
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a73bbe]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x62504124f9eb8b56
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a400
mov rbx, qword [rax]
mov edi, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x141af8129]
mov edx, 0xd
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
xor edi, 0x64b216ec
movabs rax, 0xa80178e2fbb1016c
xor rbx, rax
xor bpl, 0xbb
mov qword [rsi], rbx
mov dword [rsi + 8], edi
mov byte [rsi + 0xc], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e6c0
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xd
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7ab8c]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xd605a6f2695b556a
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a160
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0x8c
xor dil, 0x93
movabs rcx, 0x29ddbdc1421733d7
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e779
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a71502]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xfaec737ae1786f9d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a1c0
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov edi, dword [rax + 0x10]
movzx eax, byte [0x141af8129]
mov edx, 0x14
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
xor edi, 0x4a67708
movabs rax, 0x15a9f5021dbd83e
xor rbx, rax
movabs rax, 0x88a374e144911f7e
xor r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
mov dword [rsi + 0x10], edi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e83d
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x14
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x14
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a750b0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xf193ab4320f102db
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159390
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x89
mov ecx, edi
shr ecx, 8
xor cl, 0x4d
xor dil, 0x11
movabs rdx, 0x9a9aacb7a599ae7c
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e90a
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a75a2b]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x7d10e8d126c0ee9c
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159e00
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xccdb05571024928d
xor rdi, rax
movabs rax, 0x98592998456c7fd3
xor rbx, rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015e9c2
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7640f]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x640e7e018a52c2f9
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401596b0
mov rbx, qword [rax]
mov edi, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x141af8129]
mov edx, 0xd
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
xor edi, 0x39e72908
movabs rax, 0xa4794ed957c10ab2
xor rbx, rax
xor bpl, 0xb
mov qword [rsi], rbx
mov dword [rsi + 8], edi
mov byte [rsi + 0xc], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ea7d
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xd
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6d761]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x7fb9610e4ace9bfb
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159eb0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x36
mov ecx, edi
shr ecx, 8
xor cl, 0x42
xor dil, 0x63
movabs rdx, 0x84595578f62489f5
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015eb4a
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7ad89]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x23847af69e7dabf1
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159bf0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0x1b
xor dil, 0xe1
movabs rcx, 0x967fd5a475815e04
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ec03
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a74d9a]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x5df19b125471ab2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a510
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xffb1f668bcb1fa99
xor rdi, rax
movabs rax, 0x5ab4886595181bf6
xor rbx, rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ecbb
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6cf99]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2b4e2a96a8e62df7
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159840
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x141af8129]
mov edx, 0x11
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xcf2836168cce8298
xor rdi, rax
movabs rax, 0xb6960a743bfa6ff6
xor rbx, rax
xor bpl, 0x83
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov byte [rsi + 0x10], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ed7f
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x11
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a74b77]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x5860bcfe27bc1680
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159dd0
mov r14, qword [rax]
mov ebx, dword [rax + 8]
movzx edi, word [rax + 0xc]
movzx ebp, byte [rax + 0xe]
movzx eax, byte [0x141af8129]
mov edx, 0xf
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0xd0
mov ecx, edi
shr ecx, 8
xor cl, 0xb5
xor dil, 0xb
xor ebx, 0x433890f8
movabs rdx, 0x1373173200056f88
xor r14, rdx
mov qword [rsi], r14
mov dword [rsi + 8], ebx
mov byte [rsi + 0xc], dil
mov byte [rsi + 0xd], cl
mov byte [rsi + 0xe], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ee58
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xf
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a768a3]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x26f742cb25a03d11
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a330
mov rbx, qword [rax]
mov edi, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x141af8129]
mov edx, 0xd
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
xor edi, 0x726ba51b
movabs rax, 0xb7b29820864c1ee8
xor rbx, rax
xor bpl, 0x9f
mov qword [rsi], rbx
mov dword [rsi + 8], edi
mov byte [rsi + 0xc], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015ef13
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xd
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a72ba8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xe118f80f43549d3d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401595e0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0x5c
xor dil, 0x7b
movabs rcx, 0x209778dda088256f
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015efcc
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7a874]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xacf371c39ce4b66f
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401590c0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x141af8129]
mov edx, 0x11
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0xd2fdd3f280ea41da
xor rdi, rax
movabs rax, 0x8465cc6e7e3ce833
xor rbx, rax
xor bpl, 0xd3
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov byte [rsi + 0x10], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f090
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x11
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a74a04]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xb8e192126c247b2b
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a060
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0x888da50409896733
xor rdi, rax
movabs rax, 0x983909bbdb5efdc
xor rbx, rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f148
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a70189]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x47de96f7f4de67c1
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159000
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx ebp, word [rax + 0x10]
movzx eax, byte [0x141af8129]
mov edx, 0x12
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0x32397a448ddc620a
xor rdi, rax
movabs rax, 0xbf33ea7468ca22ba
xor rbx, rax
mov eax, ebp
shr eax, 8
xor al, 0x6b
xor bpl, 0x7c
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov byte [rsi + 0x10], bpl
mov byte [rsi + 0x11], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f216
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x12
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a75acf]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x158660ae1ed37f60
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a090
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0x48
xor dil, 0x14
movabs rcx, 0x6a39b4c4f32936bb
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f2cf
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6badf]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xac43e3163e3142ab
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.14015a430
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0xa
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0xa7
xor dil, 0x60
movabs rcx, 0x9275dfa00ef28490
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f388
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6fbc9]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x1eeb39653490672e
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401598f0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0xc7
mov ecx, edi
shr ecx, 8
xor cl, 0x1f
xor dil, 0x93
movabs rdx, 0xf8c76b222938b879
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f455
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7412b]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xc7ec2d9af1f699e2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.1401590a0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0x5b2143dcbec10748
xor rdi, rax
movabs rax, 0x8c4c4ca468efc056
xor rbx, rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f50d
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a6e8c8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xef17e9ea2bcfab4e
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140159b10
mov rbx, qword [rax]
mov edi, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x141af8129]
mov edx, 0xd
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
xor edi, 0x21b6219f
movabs rax, 0x2e88b21affcf71a7
xor rbx, rax
xor bpl, 0xfd
mov qword [rsi], rbx
mov dword [rsi + 8], edi
mov byte [rsi + 0xc], bpl
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f5c8
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xd
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a761d1]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x750a58b261100a2b
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140158f60
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx ebp, byte [rax + 0xa]
movzx eax, byte [0x141af8129]
mov edx, 0xb
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0x2c
mov ecx, edi
shr ecx, 8
xor cl, 4
xor dil, 0xda
movabs rdx, 0x9a46b1a39d448f98
xor rbx, rdx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], cl
mov byte [rsi + 0xa], al
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f695
lea rcx, [rsp + 0x20]
call fcn.14001c780
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xb
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xb
inc rdi
mov qword [rsp + 0x30], rdi
lea rax, [0x141a7290f]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rax, 0xf5eeda174c6b8854
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
call fcn.140158f80
mov rdi, qword [rax]
movzx eax, byte [0x141af8129]
mov edx, 8
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
movabs rax, 0x137a643f8016d2fb
xor rdi, rax
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x30]
cmp rdi, qword [rsp + 0x20]
jne 0x14015f738
lea rcx, [rsp + 0x20]
call fcn.14001c780
movabs rbx, 0x8000000000000000
mov rax, qword [rsp + 0x28]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 8
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 8
inc rdi
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x38]
call fcn.140148ef0
mov r14, qword [rsp + 0x38]
cmp r14, rbx
jne 0x14015f80c
mov rsi, qword [rsp + 0x40]
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14015f7e6
test rax, rax
je 0x14015f7e6
mov rdi, qword [rsi - 1]
mov rbx, qword [rsi + 7]
mov rax, qword [rbx]
test rax, rax
je 0x14015f7af
mov rcx, rdi
call rax
dec rsi
cmp qword [rbx + 8], 0
je 0x14015f7d5
cmp qword [rbx + 0x10], 0x11
jb 0x14015f7c4
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov eax, 1
mov qword [rsp + 0x168], rax
xor eax, eax
mov qword [rsp + 0x178], rax
xor eax, eax
mov qword [rsp + 0x170], rax
jmp 0x14015f973
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140155f40
test rax, rax
je 0x14015f861
mov rbx, rax
mov r15, rdx
test rdx, rdx
je 0x14015f893
test r15, r15
js 0x14016320e
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r15
call fcn.140146820
test rax, rax
je 0x14016320e
mov rsi, rax
mov rax, r15
mov qword [rsp + 0x170], r15
jmp 0x14015f8a2
mov eax, 1
mov qword [rsp + 0x168], rax
test r14, r14
je 0x14015f7f3
mov rcx, qword [0x141af8068]
xor eax, eax
mov qword [rsp + 0x178], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
jmp 0x14015f7fd
mov esi, 1
xor eax, eax
mov qword [rsp + 0x170], rax
mov rcx, rsi
mov rdx, rbx
mov qword [rsp + 0x178], r15
mov r8, r15
call sub.msvcrt.dll_memcpy
test r14, r14
je 0x14015f8ce
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x178]
test rax, rax
je 0x14015f96b
add rax, rsi
mov rdx, rsi
jmp 0x14015f908
add rdx, 2
cmp rcx, rax
cmovne rcx, rdx
nop word cs:[rax + rax]
mov rdx, rcx
cmp rcx, rax
je 0x14015f96b
lea rcx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jns 0x14015f900
cmp r8b, 0xe0
jb 0x14015f8e7
cmp r8b, 0xed
jne 0x14015f942
cmp rcx, rax
je 0x14015f96b
lea rcx, [rdx + 2]
cmp rcx, rax
je 0x14015f96b
cmp byte [rdx + 1], 0x9f
ja 0x140163108
add rdx, 3
mov rcx, rdx
jmp 0x14015f900
add rdx, 2
cmp rcx, rax
cmove rdx, rcx
xor ecx, ecx
cmp rdx, rax
setne cl
add rcx, rdx
cmp r8b, 0xf0
jb 0x14015f900
xor edx, edx
cmp rcx, rax
setne dl
add rcx, rdx
jmp 0x14015f900
mov qword [rsp + 0x168], rsi
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
lea r12, [rsp + 0x280]
lea r15, [rsp + 0xe0]
movdqa xmm6, xmmword [0x14021b450]
movdqa xmm7, xmmword [0x14021b460]
pxor xmm8, xmm8
movdqa xmm9, xmmword [0x14021b470]
movdqa xmm10, xmmword [0x14021b480]
movdqa xmm11, xmmword [0x14021b490]
mov qword [rsp + 0x3d0], rax
cmp rcx, rax
je 0x14016302b
mov r14, qword [rcx + 8]
mov qword [rsp + 0x3e8], rcx
mov rsi, qword [rcx + 0x10]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
test rsi, rsi
jne 0x14015fea0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x288], rax
mov qword [rsp + 0xe0], r12
lea rax, [0x140001a60]
mov qword [rsp + 0xe8], rax
lea rax, [0x141a7b530]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 1
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x38]
call fcn.140034eb0
cmp qword [rsp + 0x280], 0
je 0x14015faa7
mov r8, qword [rsp + 0x288]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x3e0], rax
mov r12, qword [rsp + 0x378]
mov rsi, qword [rsp + 0x380]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 8
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 0x200000
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x50], 0xa00000
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x78], 2
mov byte [rsp + 0xa0], 3
mov byte [rsp + 0xa8], 0
movabs rax, 0x202020202020202
mov qword [rsp + 0xaa], rax
mov byte [rsp + 0xb2], 3
mov dword [rsp + 0xd0], 0xfa
mov byte [rsp + 0xd4], 0xa
lea rax, [rsp + 0xd5]
mov word [rax + 4], 0
mov dword [rax], 0
mov word [rsp + 0xdb], 0x101
mov byte [rsp + 0xdd], 0
mov edi, 1
mov r8d, 1
lea rcx, [rsp + 0xb8]
xor edx, edx
call fcn.140068c90
mov r14, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov r15d, 0
test rsi, rsi
je 0x14015fbe8
js 0x14016320e
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rsi
call fcn.140146820
test rax, rax
je 0x14016320e
mov rdi, rax
mov r15, rsi
mov rcx, rdi
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
lea rax, [rbx + rbx*2]
mov qword [r14 + rax*8], r15
mov qword [r14 + rax*8 + 8], rdi
mov qword [r14 + rax*8 + 0x10], rsi
test rbx, rbx
jne 0x14016320e
mov qword [rsp + 0x3d8], r12
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x130], rax
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x218], rax
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x210], rax
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x180], rax
movzx edx, byte [rsp + 0xa0]
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x260], al
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0x12d], al
movss xmm13, dword [rsp + 0xac]
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x1e0], al
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x268], al
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x144], al
movzx r10d, byte [rsp + 0xd4]
movzx ebp, byte [rsp + 0xd5]
movd xmm12, dword [rsp + 0xd6]
movzx r9d, byte [rsp + 0xd8]
movzx r11d, byte [rsp + 0xd9]
movzx eax, byte [rsp + 0xda]
mov byte [rsp + 0x12f], al
mov byte [rsp + 0x12e], dl
and dl, 0xfe
movzx ebx, byte [rsp + 0xdb]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x1e8], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x418], rcx
mov rcx, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0xd0]
mov dword [rsp + 0x278], r8d
mov r8d, dword [rsp + 0xdc]
mov dword [rsp + 0x27c], r8d
cmp dl, 2
je 0x14015fda0
lock inc qword [rax]
jle 0x14016320e
xor r13d, r13d
test r14, r14
setne r13b
cmp r14, 2
mov qword [rsp + 0x400], r14
cmove r13, r14
xor r15d, r15d
test rdi, rdi
setne r15b
cmp rdi, 2
mov r14, rdi
cmove r15, rdi
xor r12d, r12d
test rsi, rsi
setne r12b
cmp rsi, 2
mov qword [rsp + 0x408], rsi
cmove r12, rsi
xor esi, esi
mov r8, qword [rsp + 0x138]
test r8, r8
setne sil
cmp r8, 2
cmove rsi, r8
mov r8, qword [rsp + 0x160]
mov rdi, qword [r8 + 0x10]
test rdi, rdi
js 0x14016320e
mov byte [rsp + 0x12c], bl
mov qword [rsp + 0x3f8], rcx
mov byte [rsp + 0x12b], dl
mov qword [rsp + 0x1c0], rax
movabs rcx, 0x8000000000000000
lea rax, [rcx - 0x18]
cmp rdi, rax
ja 0x14016320e
mov byte [rsp + 0x129], r11b
mov byte [rsp + 0x128], r9b
mov byte [rsp + 0x12a], r10b
mov rax, qword [rsp + 0x160]
mov rbx, qword [rax + 8]
lea rdx, [rdi + 0x17]
lea rax, [rcx - 8]
and rdx, rax
je 0x1401600d0
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
jne 0x1401600d5
jmp 0x14016320e
lea rcx, [rsp + 0x38]
xor edx, edx
mov r8, rsi
call fcn.140106b90
add rsi, r14
jmp 0x14015fee3
lea rcx, [rsp + 0x38]
call fcn.14004e1c0
mov rax, qword [rsp + 0x40]
mov byte [rax + rdi], bl
inc rdi
mov qword [rsp + 0x48], rdi
cmp r14, rsi
je 0x14015fa0a
movzx ecx, byte [r14]
test cl, cl
js 0x14015ff40
inc r14
mov ebx, ecx
lea eax, [rbx - 0x23]
cmp eax, 0x5b
ja case.default.0x14015ff0a
lea rcx, [0x14021b4a0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rdi, qword [rsp + 0x48]
cmp rdi, qword [rsp + 0x38]
jne 0x14015ff22
lea rcx, [rsp + 0x38]
call fcn.14004e1c0
mov rax, qword [rsp + 0x40]
mov byte [rax + rdi], 0x5c
inc rdi
mov qword [rsp + 0x48], rdi
cmp rdi, qword [rsp + 0x38]
jne 0x14015feca
jmp 0x14015fec0
mov ebx, ecx
and ebx, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp cl, 0xdf
jbe 0x14015ff82
movzx eax, byte [r14 + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
cmp cl, 0xf0
jb 0x14015ffbd
movzx ecx, byte [r14 + 3]
add r14, 4
and ebx, 7
shl ebx, 0x12
shl eax, 6
and ecx, 0x3f
or ecx, eax
or ecx, ebx
jmp 0x14015feee
add r14, 2
shl ebx, 6
or ebx, edx
lea eax, [rbx - 0x23]
cmp eax, 0x5b
jbe 0x14015fefc
cmp ebx, 0x110000
je 0x14015fa0a
cmp ebx, 0x7f
ja 0x14015ffd6
mov rdi, qword [rsp + 0x48]
cmp rdi, qword [rsp + 0x38]
jne 0x14015feca
jmp 0x14015fec0
add r14, 3
shl ebx, 0xc
or eax, ebx
mov ebx, eax
lea eax, [rbx - 0x23]
cmp eax, 0x5b
jbe 0x14015fefc
jmp case.default.0x14015ff0a
mov dword [rsp + 0x280], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x140160003
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x280], al
mov edi, 2
mov eax, 1
jmp 0x140160069
cmp ebx, 0x10000
jae 0x140160033
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x280], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x281], al
mov edi, 3
mov eax, 2
jmp 0x140160069
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x280], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x281], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x282], al
mov edi, 4
mov eax, 3
and bl, 0x3f
or bl, 0x80
mov byte [rsp + rax + 0x280], bl
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x48]
sub rax, rbx
cmp rax, rdi
jb 0x1401600b1
mov rcx, qword [rsp + 0x40]
add rcx, rbx
mov rdx, r12
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
mov qword [rsp + 0x48], rbx
cmp r14, rsi
jne 0x14015fee3
jmp 0x14015fa0a
lea rcx, [rsp + 0x38]
mov rdx, rbx
mov r8, rdi
call fcn.140106b90
mov rbx, qword [rsp + 0x48]
jmp 0x140160088
mov eax, 8
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rsp + 0x368], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x3f0], rcx
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x78], 2
mov byte [rsp + 0xa0], 3
mov byte [rsp + 0xa8], 0
movabs rax, 0x202020202020202
mov qword [rsp + 0xaa], rax
mov byte [rsp + 0xb2], 3
mov dword [rsp + 0xc0], 0xfa
mov word [rsp + 0xc4], 0
mov byte [rsp + 0xc6], 0
mov byte [rsp + 0xb8], 1
lea rax, [rsp + 0xd5]
mov word [rax - 0x18], 0x202
mov dword [rax - 0x1c], 0x2020202
cmp qword [rsp + 0x400], 2
jne 0x1401601ac
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x218], rax
cmp r14, 2
mov rbx, qword [rsp + 0x1c0]
movzx r9d, byte [rsp + 0x128]
movzx r10d, byte [rsp + 0x129]
jne 0x140160210
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x210], rax
xor eax, eax
cmp qword [rsp + 0x410], 0
setne cl
je 0x140160220
cmp qword [rsp + 0x408], 2
jne 0x140160238
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x180], rdx
cmp qword [rsp + 0x138], 2
je 0x140160243
jmp 0x140160253
xor eax, eax
cmp qword [rsp + 0x410], 0
setne cl
jne 0x1401601e9
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x130], rdx
cmp qword [rsp + 0x408], 2
je 0x1401601f4
cmp qword [rsp + 0x138], 2
jne 0x140160253
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x1b8], rdx
mov r14d, dword [rsp + 0x27c]
shr r14d, 8
movzx r11d, byte [rsp + 0x260]
test r11b, r11b
mov byte [rsp + 0xbf], 0xa
movzx edx, byte [rsp + 0x12d]
movzx r8d, byte [rsp + 0xa9]
cmovne r8d, edx
mov al, cl
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r13
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r15
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r12
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rsi
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rbx
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x418]
mov qword [rsp + 0x98], rax
movzx eax, byte [rsp + 0x12e]
mov byte [rsp + 0xa0], al
mov eax, dword [rsp + 0x373]
lea rcx, [rsp + 0xd5]
mov dword [rcx - 0x31], eax
mov eax, dword [rsp + 0x370]
mov dword [rcx - 0x34], eax
mov byte [rsp + 0xa8], r11b
mov byte [rsp + 0xa9], r8b
mov word [rsp + 0xaa], 0x101
movss dword [rsp + 0xac], xmm13
movzx eax, byte [rsp + 0x1e0]
mov byte [rsp + 0xb0], al
movzx eax, byte [rsp + 0x268]
mov byte [rsp + 0xb1], al
movzx eax, byte [rsp + 0x144]
mov byte [rsp + 0xb2], al
mov eax, dword [rsp + 0xe0]
mov dword [rcx - 0x22], eax
movzx eax, byte [rsp + 0xe4]
mov byte [rcx - 0x1e], al
movzx eax, byte [rsp + 0x12f]
mov byte [rsp + 0xc4], al
mov eax, dword [rsp + 0x278]
mov dword [rsp + 0xc0], eax
mov byte [rsp + 0xc5], r14b
movzx eax, bpl
movd xmm0, eax
movzx eax, r10b
movd xmm1, eax
cmp byte [rsp + 0x12c], 0
setne al
add al, al
mov byte [rsp + 0xbd], al
cmp r9b, 1
mov eax, 0
adc al, 1
mov byte [rsp + 0xbe], al
movzx eax, byte [rsp + 0x12a]
mov byte [rsp + 0xbf], al
movdqa xmm2, xmm6
pandn xmm2, xmm0
pslld xmm12, 8
por xmm12, xmm2
pslld xmm1, 0x18
movdqa xmm0, xmm7
pandn xmm0, xmm1
pand xmm12, xmm7
por xmm12, xmm0
pcmpeqb xmm12, xmm8
movdqa xmm0, xmm9
psubb xmm0, xmm12
movd dword [rsp + 0xb9], xmm0
mov byte [rsp + 0xb8], 1
lea r12, [rsp + 0x280]
mov rcx, r12
lea rdx, [rsp + 0x38]
mov r8, qword [rsp + 0x3f0]
mov r9, rdi
call fcn.14008ce40
mov r15, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x288]
movabs rax, 0x8000000000000000
add rax, 2
mov r13, qword [rsp + 0x290]
cmp r15, rax
jne 0x1401604e0
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], r13
mov r13, qword [rsp + 0x368]
lea rsi, [rsp + 0xe0]
movzx eax, byte [rsp + 0xa0]
cmp al, 3
jne 0x140160dd5
jmp 0x140160e00
mov rsi, qword [rsp + 0x298]
mov rbx, qword [rsp + 0x2a0]
lea rax, [rsp + 0x2a8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x370], xmm0
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x390], xmm2
movaps xmmword [rsp + 0x3a0], xmm3
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x3b0], xmm0
movups xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x3c0], xmm0
mov rcx, qword [rsp + 0x368]
lock dec qword [rcx]
jne 0x140160563
mov r12, rdx
mov rdx, rdi
call fcn.140068c60
mov rdx, r12
lea r12, [rsp + 0x280]
mov qword [rsp + 0x280], r15
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x298], rsi
mov qword [rsp + 0x2a0], rbx
movaps xmm0, xmmword [rsp + 0x3c0]
lea rax, [rsp + 0x2a8]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x370]
movdqa xmm1, xmmword [rsp + 0x380]
movdqa xmm2, xmmword [rsp + 0x390]
movaps xmm3, xmmword [rsp + 0x3a0]
movups xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
movabs rax, 0x8000000000000000
lea rbx, [rax + 1]
cmp r15, rbx
jne 0x140160612
movabs rcx, 0x8000000000000000
lea rax, [rcx + 5]
mov qword [rsp + 0x130], rcx
cmp rdx, rax
je 0x140160d1d
cmp r15, rbx
jne 0x140160682
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0xf0], 0
mov r8d, 0x12
lea rcx, [rsp + 0xe0]
lea rdx, [0x141a217a8]
call fcn.140001a00
test al, al
jne 0x14016320e
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x130], rax
mov r13, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
jmp 0x140160d15
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 1
mov qword [rsp + 0x1d8], 0
movabs rax, 0x8000000000000000
cmp r15, rax
jne 0x1401607e3
mov qword [rsp + 0x230], r13
mov qword [rsp + 0x238], rsi
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x240], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], 0
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x230]
call fcn.1400e7d60
mov rax, qword [rsp + 0x230]
mov r10, qword [rsp + 0x238]
cmp r10, 0xf
ja 0x1401609b7
test r10, r10
lea r15, [rsp + 0xe0]
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x188]
je 0x140160762
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0xa
je 0x140162292
inc rdx
cmp r10, rdx
jne 0x140160750
mov r8d, 0x13
lea rdx, [0x141a35aa0]
call fcn.140001a00
test al, al
jne 0x140163160
mov rcx, r15
lea rdx, [rsp + 0x230]
call fcn.1400e7d60
mov rcx, rsi
mov rdx, r15
call fcn.1400e72d0
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
je 0x140160815
mov rdi, qword [rsp + 0xe8]
add rdi, 8
jmp 0x1401607c9
add rdi, 0x18
dec rsi
je 0x140160815
cmp qword [rdi - 8], 0
je 0x1401607c0
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x1401607c0
lea rax, [rsp + 0x2a0]
cmp esi, 0x11
je 0x1401609eb
cmp esi, 0xe
lea r15, [rsp + 0xe0]
je 0x1401609f3
cmp esi, 0xd
je 0x1401609f3
xor eax, eax
jmp 0x1401609f3
cmp qword [rsp + 0xe0], 0
je 0x140160836
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xf8], 0
lea rsi, [rsp + 0x1c8]
je 0x14016085f
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rax, [rsp + 0x188]
mov qword [rsp + 0x148], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x150], rax
lea rax, [0x141ab5c80]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
lea rdi, [rsp + 0x148]
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], 1
mov rcx, rsi
lea r14, [0x141a1ea68]
mov rdx, r14
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016313f
lea rax, [rsp + 0x240]
mov qword [rsp + 0x148], rax
lea rax, [0x1400d71f0]
mov qword [rsp + 0x150], rax
lea rax, [0x141a35ac0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016313f
cmp qword [rsp + 0x188], 0
je 0x14016096f
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x318]
test rsi, rsi
je 0x140160cb3
mov rdi, qword [rsp + 0x310]
add rdi, 8
jmp 0x14016099d
add rdi, 0x18
dec rsi
je 0x140160cb3
cmp qword [rdi - 8], 0
je 0x140160990
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140160990
lea rdx, [rax + 7]
and rdx, 0xfffffffffffffff8
sub rdx, rax
lea r15, [rsp + 0xe0]
jne 0x1401621d3
lea r8, [r10 - 0x10]
xor edx, edx
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x188]
jmp 0x140162240
lea r15, [rsp + 0xe0]
mov qword [rsp + 0x230], rdx
mov qword [rsp + 0x238], r13
lea rcx, [rsp + 0x298]
mov qword [rsp + 0x240], rcx
lea rcx, [rsp + 0x2d0]
mov qword [rsp + 0x248], rcx
mov qword [rsp + 0x250], rax
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x230]
call fcn.1400e7d60
mov rax, qword [rsp + 0x230]
mov r10, qword [rsp + 0x238]
cmp r10, 0xf
ja 0x140162187
test r10, r10
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x188]
je 0x140160a92
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0xa
je 0x140162852
inc rdx
cmp r10, rdx
jne 0x140160a80
mov r8d, 0x13
lea rdx, [0x141a35aa0]
call fcn.140001a00
test al, al
jne 0x1401631bf
mov rcx, r15
lea rdx, [rsp + 0x230]
call fcn.1400e7d60
mov rcx, rsi
mov rdx, r15
call fcn.1400e72d0
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
je 0x140160b13
mov rdi, qword [rsp + 0xe8]
add rdi, 8
jmp 0x140160af9
add rdi, 0x18
dec rsi
je 0x140160b13
cmp qword [rdi - 8], 0
je 0x140160af0
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140160af0
cmp qword [rsp + 0xe0], 0
je 0x140160b34
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xf8], 0
lea rsi, [rsp + 0x1c8]
je 0x140160b5d
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rax, [rsp + 0x188]
mov qword [rsp + 0x148], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x150], rax
lea rax, [0x141ab5c80]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
lea rdi, [rsp + 0x148]
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], 1
mov rcx, rsi
lea r14, [0x141a1ea68]
mov rdx, r14
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016319e
lea rax, [rsp + 0x240]
mov qword [rsp + 0x148], rax
lea rax, [0x1400ea6e0]
mov qword [rsp + 0x150], rax
lea rax, [0x141a35ac0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016319e
cmp qword [rsp + 0x188], 0
je 0x140160c6d
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x318]
test rsi, rsi
je 0x140160cb3
mov rdi, qword [rsp + 0x310]
add rdi, 8
jmp 0x140160c99
add rdi, 0x18
dec rsi
je 0x140160cb3
cmp qword [rdi - 8], 0
je 0x140160c90
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140160c90
cmp qword [rsp + 0x308], 0
je 0x140160cd4
mov r8, qword [rsp + 0x310]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x320], 0
je 0x140160cf5
mov r8, qword [rsp + 0x328]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x130], rax
mov r13, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x280]
mov rcx, r12
cmp rax, rbx
movabs r8, 0x8000000000000000
jne 0x1401610d0
mov rax, qword [rsp + 0x288]
lea rcx, [r8 + rax]
dec rcx
mov rdx, rax
xor rdx, r8
cmp rcx, 7
mov ecx, 0
cmovae rdx, rcx
lea rcx, [rsp + 0x288]
test rdx, rdx
je 0x1401610d0
cmp rdx, 1
lea rsi, [rsp + 0xe0]
mov rbx, qword [rsp + 0x1c0]
jne 0x140160db7
mov rcx, qword [rsp + 0x290]
lea rdx, [r8 + 4]
lea rax, [rsp + 0x290]
cmp rcx, rdx
jl 0x140160db7
nop dword [rax]
test rcx, rcx
je 0x140160db7
mov r8, qword [rax + 8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
xor eax, eax
mov qword [rsp + 0x138], rax
mov rdi, qword [rsp + 0x258]
movzx eax, byte [rsp + 0xa0]
cmp al, 3
je 0x140160e00
cmp al, 2
je 0x140160e00
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x140160e00
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
call fcn.14019a660
nop dword [rax]
mov rax, qword [rsp + 0x160]
cmp qword [rax], 0
je 0x140160e28
mov rax, qword [rsp + 0x160]
mov r8, qword [rax + 8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x3f8], 0
je 0x140160e49
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x160]
call sub.KERNEL32.dll_HeapFree
cmp byte [rsp + 0x12b], 2
je 0x140160e69
lock dec qword [rbx]
jne 0x140160e69
mov rcx, rbx
mov rdx, qword [rsp + 0x1e8]
call fcn.14019a660
lea rax, [0x141a7751d]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movabs rdx, 0x19e2ea431778aea7
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x38]
call fcn.140159d30
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov ecx, dword [rax + 0x10]
movzx eax, byte [rax + 0x14]
mov rax, qword [rsp + 0x138]
test rax, rax
mov rbp, qword [rsp + 0x130]
je 0x14016320e
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], rbp
mov qword [rsp + 0x380], r13
mov qword [rsp + 0x388], rdi
mov rcx, rsi
call fcn.1401632c0
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
mov qword [rsp + 0x1b8], rsi
mov qword [rsp + 0x258], rdi
je 0x1401610a0
xor edx, edx
cmp rax, r8
sete dl
lea rax, [rcx + rdx*8]
mov rcx, qword [rcx + rdx*8]
lea rsi, [rsp + 0xe0]
mov rbx, qword [rsp + 0x1c0]
test rcx, rcx
jne 0x140160da5
jmp 0x140160db7
lea rdx, [rax + 7]
and rdx, 0xfffffffffffffff8
sub rdx, rax
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x188]
jne 0x140162209
lea r8, [r10 - 0x10]
xor edx, edx
jmp 0x140162805
cmp rdx, r10
cmovae rdx, r10
xor r8d, r8d
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x188]
nop dword [rax]
cmp byte [rax + r8], 0xa
je 0x140162292
inc r8
cmp rdx, r8
jne 0x1401621f0
lea r8, [r10 - 0x10]
jmp 0x140162278
cmp rdx, r10
cmovae rdx, r10
xor r8d, r8d
nop word cs:[rax + rax]
cmp byte [rax + r8], 0xa
je 0x140162852
inc r8
cmp rdx, r8
jne 0x140162220
lea r8, [r10 - 0x10]
jmp 0x140162800
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm1, xmm0
pxor xmm1, xmm10
paddq xmm1, xmm11
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
movabs r11, 0x8080808080808080
test r9, r11
jne 0x140162283
add rdx, 0x10
cmp rdx, r8
jbe 0x140162240
jmp 0x140162283
inc rdx
cmp r10, rdx
je 0x140160762
cmp byte [rax + rdx], 0xa
jne 0x140162280
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0xf0], 0
mov r8d, 0x4f
mov rcx, r15
xor edx, edx
call fcn.140106b90
mov rsi, 0xffffffffffffffb1
mov rdi, qword [rsp + 0xf0]
jmp 0x1401622f3
mov rax, qword [rsp + 0xe8]
mov byte [rax + rdi], 0x7e
inc rdi
mov qword [rsp + 0xf0], rdi
inc rsi
je 0x140162307
cmp rdi, qword [rsp + 0xe0]
jne 0x1401622d7
mov rcx, r15
call fcn.14004e1c0
jmp 0x1401622d7
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x200], rax
movdqu xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x1f0], xmm0
mov r8d, 0x13
lea rdi, [rsp + 0x1c8]
mov rcx, rdi
lea rdx, [0x141a35aa0]
call fcn.140001a00
test al, al
lea rsi, [0x140001a60]
lea r14, [rsp + 0x188]
lea r13, [0x141a1ea68]
jne 0x140163262
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rsi
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x140163262
lea rbp, [rsp + 0x350]
mov rcx, rbp
lea rdx, [rsp + 0x308]
call fcn.1400e72d0
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x190], rsi
lea rax, [0x141ab5c80]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x140163241
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x188], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x190], rax
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x140163241
mov rax, qword [rsp + 0x330]
test rax, rax
je 0x140162745
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 8
mov qword [rsp + 0x158], 0
mov rdi, qword [rsp + 0x328]
add rdi, 0x20
shl rax, 4
lea r14, [rax + rax*2]
mov r12d, 8
xor r15d, r15d
xor esi, esi
jmp 0x140162545
mov rax, qword [rsp + 0x430]
mov qword [r12 + r15*2 + 0x10], rax
movdqu xmm0, xmmword [rsp + 0x420]
movdqu xmmword [r12 + r15*2], xmm0
inc rsi
mov qword [rsp + 0x158], rsi
add r15, 0xc
add rdi, 0x30
add r14, 0xffffffffffffffd0
je 0x14016262b
lea rax, [rdi - 0x18]
lea rcx, [rdi - 0x10]
mov rdx, qword [rdi + 8]
dec rdx
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0xe0], rax
lea rax, [0x140040fe0]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x220]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
lea rax, [0x141a35af0]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], 5
mov qword [rsp + 0x1a8], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], 4
lea rcx, [rsp + 0x420]
lea rdx, [rsp + 0x188]
call fcn.140034eb0
cmp rsi, qword [rsp + 0x148]
jne 0x14016250c
lea rcx, [rsp + 0x148]
call fcn.14001c780
mov r12, qword [rsp + 0x150]
jmp 0x14016250c
mov rdi, qword [rsp + 0x150]
lea r14, [rsp + 0x188]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.1400e8220
mov qword [rsp + 0x220], r14
lea rax, [0x140001a60]
mov qword [rsp + 0x228], rax
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x220]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rcx, [rsp + 0x1c8]
lea rdx, [0x141a1ea68]
lea r15, [rsp + 0xe0]
mov r8, r15
call fcn.1400ae470
mov r14d, eax
cmp qword [rsp + 0x188], 0
je 0x1401626f6
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov rcx, rdi
mov rdx, rsi
call fcn.1400e6da0
cmp qword [rsp + 0x148], 0
lea r12, [rsp + 0x280]
je 0x140162725
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
test r14b, r14b
lea rdi, [rsp + 0x1c8]
lea r14, [rsp + 0x188]
lea r13, [0x141a1ea68]
jne 0x140163241
lea rax, [rsp + 0x240]
mov qword [rsp + 0x188], rax
lea rax, [0x1400d71f0]
mov qword [rsp + 0x190], rax
lea rax, [0x141a35ac0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x140163241
cmp qword [rsp + 0x350], 0
je 0x1401627d6
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x1f0], 0
je 0x14016096f
mov r8, qword [rsp + 0x1f8]
jmp 0x140160961
cmp rdx, r8
ja 0x140162843
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm1, xmm0
pxor xmm1, xmm10
paddq xmm1, xmm11
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
movabs r11, 0x8080808080808080
test r9, r11
jne 0x140162843
add rdx, 0x10
jmp 0x140162800
inc rdx
cmp r10, rdx
je 0x140160a92
cmp byte [rax + rdx], 0xa
jne 0x140162840
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0xf0], 0
mov r8d, 0x4f
mov rcx, r15
xor edx, edx
call fcn.140106b90
mov rsi, 0xffffffffffffffb1
mov rdi, qword [rsp + 0xf0]
jmp 0x1401628b3
mov rax, qword [rsp + 0xe8]
mov byte [rax + rdi], 0x7e
inc rdi
mov qword [rsp + 0xf0], rdi
inc rsi
je 0x1401628c7
cmp rdi, qword [rsp + 0xe0]
jne 0x140162897
mov rcx, r15
call fcn.14004e1c0
jmp 0x140162897
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x200], rax
movdqu xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x1f0], xmm0
mov r8d, 0x13
lea rdi, [rsp + 0x1c8]
mov rcx, rdi
lea rdx, [0x141a35aa0]
call fcn.140001a00
test al, al
lea rsi, [0x140001a60]
lea r14, [rsp + 0x188]
lea r13, [0x141a1ea68]
jne 0x14016329f
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rsi
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016329f
lea rbp, [rsp + 0x350]
mov rcx, rbp
lea rdx, [rsp + 0x308]
call fcn.1400e72d0
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x190], rsi
lea rax, [0x141ab5c80]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016327e
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x188], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x190], rax
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016327e
mov rax, qword [rsp + 0x330]
test rax, rax
je 0x140162d05
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 8
mov qword [rsp + 0x158], 0
mov rdi, qword [rsp + 0x328]
add rdi, 0x20
shl rax, 4
lea r14, [rax + rax*2]
mov r12d, 8
xor r15d, r15d
xor esi, esi
jmp 0x140162b05
mov rax, qword [rsp + 0x430]
mov qword [r12 + r15*2 + 0x10], rax
movdqu xmm0, xmmword [rsp + 0x420]
movdqu xmmword [r12 + r15*2], xmm0
inc rsi
mov qword [rsp + 0x158], rsi
add r15, 0xc
add rdi, 0x30
add r14, 0xffffffffffffffd0
je 0x140162beb
lea rax, [rdi - 0x18]
lea rcx, [rdi - 0x10]
mov rdx, qword [rdi + 8]
dec rdx
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0xe0], rax
lea rax, [0x140040fe0]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x220]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
lea rax, [0x141a35af0]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], 5
mov qword [rsp + 0x1a8], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], 4
lea rcx, [rsp + 0x420]
lea rdx, [rsp + 0x188]
call fcn.140034eb0
cmp rsi, qword [rsp + 0x148]
jne 0x140162acc
lea rcx, [rsp + 0x148]
call fcn.14001c780
mov r12, qword [rsp + 0x150]
jmp 0x140162acc
mov rdi, qword [rsp + 0x150]
lea r14, [rsp + 0x188]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.1400e8220
mov qword [rsp + 0x220], r14
lea rax, [0x140001a60]
mov qword [rsp + 0x228], rax
lea rax, [0x141a7b790]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x220]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rcx, [rsp + 0x1c8]
lea rdx, [0x141a1ea68]
lea r15, [rsp + 0xe0]
mov r8, r15
call fcn.1400ae470
mov r14d, eax
cmp qword [rsp + 0x188], 0
je 0x140162cb6
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov rcx, rdi
mov rdx, rsi
call fcn.1400e6da0
cmp qword [rsp + 0x148], 0
lea r12, [rsp + 0x280]
je 0x140162ce5
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
test r14b, r14b
lea rdi, [rsp + 0x1c8]
lea r14, [rsp + 0x188]
lea r13, [0x141a1ea68]
jne 0x14016327e
lea rax, [rsp + 0x240]
mov qword [rsp + 0x188], rax
lea rax, [0x1400ea6e0]
mov qword [rsp + 0x190], rax
lea rax, [0x141a35ac0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], 1
mov rcx, rdi
mov rdx, r13
mov r8, r15
call fcn.14003a1f0
test al, al
jne 0x14016327e
cmp qword [rsp + 0x350], 0
je 0x140162d96
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x1f0], 0
je 0x140160c6d
mov r8, qword [rsp + 0x1f8]
jmp 0x140160c5f
cmp qword [rsp + 0x170], 0
je 0x14016304c
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x168]
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x30]
test rsi, rsi
je 0x140163093
mov rdi, qword [rsp + 0x28]
add rdi, 8
jmp 0x140163079
add rdi, 0x18
dec rsi
je 0x140163093
cmp qword [rdi - 8], 0
je 0x140163070
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140163070
cmp qword [rsp + 0x20], 0
je 0x1401630ae
mov r8, qword [rsp + 0x28]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x450]
movaps xmm7, xmmword [rsp + 0x460]
movaps xmm8, xmmword [rsp + 0x470]
movaps xmm9, xmmword [rsp + 0x480]
movaps xmm10, xmmword [rsp + 0x490]
movaps xmm11, xmmword [rsp + 0x4a0]
movaps xmm12, xmmword [rsp + 0x4b0]
movaps xmm13, xmmword [rsp + 0x4c0]
add rsp, 0x4d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
mov qword [rsp + 0x168], rax
cmp qword [rsp + 0x170], 0
je 0x14015f7f3
mov rcx, qword [0x141af8068]
xor eax, eax
mov qword [rsp + 0x178], rax
xor edx, edx
mov r8, rsi
jmp 0x14015f889
cmp qword [rsp + 0x188], 0
je 0x140163160
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x318]
test rsi, rsi
je 0x1401631cc
mov rdi, qword [rsp + 0x310]
add rdi, 8
jmp 0x140163184
add rdi, 0x18
dec rsi
je 0x1401631cc
cmp qword [rdi - 8], 0
je 0x14016317b
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14016317b
cmp qword [rsp + 0x188], 0
je 0x1401631bf
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x318]
test rsi, rsi
jne 0x140163210
cmp qword [rsp + 0x308], 0
je 0x1401631ed
mov r8, qword [rsp + 0x310]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x320], 0
je 0x14016320e
mov r8, qword [rsp + 0x328]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
ud2
mov rdi, qword [rsp + 0x310]
add rdi, 8
jmp 0x140163227
add rdi, 0x18
dec rsi
je 0x1401631cc
cmp qword [rdi - 8], 0
je 0x14016321e
mov r8, qword [rdi]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14016321e
cmp qword [rsp + 0x350], 0
je 0x140163262
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x1f0], 0
je 0x140163160
mov r8, qword [rsp + 0x1f8]
jmp 0x140163152
cmp qword [rsp + 0x350], 0
je 0x14016329f
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x1f0], 0
je 0x1401631bf
mov r8, qword [rsp + 0x1f8]
jmp 0x1401631b1