Function at 0x14007a0b0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd28
movaps xmmword [rsp + 0xd10], xmm8
movaps xmmword [rsp + 0xd00], xmm7
movaps xmmword [rsp + 0xcf0], xmm6
mov rbp, rdx
mov qword [rsp + 0x148], rcx
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a112
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
movabs rax, 0xffff0000ffff
mov qword [rsi], rax
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a163
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd0
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov word [rsp + 0x478], 1
mov qword [rsp + 0x438], rsi
mov qword [rsp + 0x440], 2
mov qword [rsp + 0x448], rax
mov qword [rsp + 0x450], 2
mov qword [rsp + 0x458], 0
mov qword [rsp + 0x460], 8
mov qword [rsp + 0x420], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x468], xmm0
movaps xmmword [rsp + 0xab0], xmm0
movaps xmmword [rsp + 0xaa0], xmm0
lea rax, [0x1402a0ef0]
mov qword [rsp + 0x850], rax
lea rax, [0x1402a10f0]
mov qword [rsp + 0x858], rax
mov qword [rsp + 0x860], 3
mov qword [rsp + 0x868], 0
mov byte [rsp + 0x870], 0
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x420]
lea r8, [rsp + 0xaa0]
lea r9, [rsp + 0x850]
call fcn.14019ff30
cmp byte [rsp + 0x1d0], 2
je 0x14007a27a
lea rcx, [rsp + 0x1c8]
mov rax, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1c0]
call qword [rax + 0x10]
movups xmm0, xmmword [rsp + 0x420]
movdqu xmm1, xmmword [rsp + 0x430]
movups xmm2, xmmword [rsp + 0x440]
movups xmm3, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x1b0], xmm0
movdqa xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1e0], xmm3
movups xmm0, xmmword [rsp + 0x460]
movaps xmmword [rsp + 0x1f0], xmm0
movdqu xmm0, xmmword [rsp + 0x470]
movdqa xmmword [rsp + 0x200], xmm0
xor ecx, ecx
call fcn.1401c8bf0
test rax, rax
je 0x14007d7b9
movups xmm6, xmmword [rax]
inc qword [rax]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x150], xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0x170], xmm0
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a33e
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x2320
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
pxor xmm0, xmm0
movdqu xmmword [rax + 0x2310], xmm0
movdqu xmmword [rax + 0x2300], xmm0
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a396
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x280
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rdi, rax
and rdi, 0xffffffffffffff80
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], 1
mov qword [rdi + 0x88], 1
movaps xmm0, xmmword [rsp + 0x420]
movaps xmm1, xmmword [rsp + 0x430]
movaps xmm2, xmmword [rsp + 0x440]
movaps xmm3, xmmword [rsp + 0x450]
movaps xmmword [rdi + 0x90], xmm0
movaps xmmword [rdi + 0xa0], xmm1
movaps xmmword [rdi + 0xb0], xmm2
movaps xmmword [rdi + 0xc0], xmm3
movaps xmm0, xmmword [rsp + 0x460]
movaps xmmword [rdi + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x470]
movaps xmmword [rdi + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x480]
movaps xmmword [rdi + 0xf0], xmm0
mov qword [rdi + 0x100], rsi
mov qword [rdi + 0x108], 0
movaps xmm0, xmmword [rsp + 0x850]
movdqa xmm1, xmmword [rsp + 0x860]
movaps xmm2, xmmword [rsp + 0x870]
movaps xmm3, xmmword [rsp + 0x880]
movaps xmmword [rdi + 0x110], xmm0
movdqa xmmword [rdi + 0x120], xmm1
movaps xmmword [rdi + 0x130], xmm2
movaps xmmword [rdi + 0x140], xmm3
movaps xmm0, xmmword [rsp + 0x890]
movaps xmmword [rdi + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x8a0]
movaps xmmword [rdi + 0x160], xmm0
movdqa xmm0, xmmword [rsp + 0x8b0]
movdqa xmmword [rdi + 0x170], xmm0
mov qword [rdi + 0x180], 0
mov qword [rdi + 0x190], 0
mov qword [rdi + 0x200], rsi
mov qword [rdi + 0x208], rsi
mov qword [rdi + 0x210], 0
mov byte [rdi + 0x218], 0
mov qword [rdi + 0x220], 0
mov byte [rdi + 0x228], 0
pxor xmm0, xmm0
movdqa xmmword [rdi + 0x240], xmm0
movdqa xmmword [rdi + 0x230], xmm0
mov qword [rdi + 0x250], 1
lock inc qword [rdi + 0x80]
jle 0x14007d7b9
sub rdi, 0xffffffffffffff80
mov qword [rsp + 0x198], rdi
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a561
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x48
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov qword [rax + 0x40], 0
lock inc qword [rax]
jle 0x14007d7b9
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a5ce
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x1d
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
movups xmm0, xmmword [0x14029eab5]
movups xmmword [rax + 0xd], xmm0
movups xmm0, xmmword [str.reqwest_internal_sync_runtime]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movdqa xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movaps xmm3, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x420], xmm0
movdqa xmmword [rsp + 0x430], xmm1
movaps xmmword [rsp + 0x440], xmm2
movaps xmmword [rsp + 0x450], xmm3
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x460], xmm0
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x470], xmm0
mov eax, dword [rsp + 0xa9c]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0xa94]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0xa90]
mov dword [rsp + 0x1a8], eax
mov rax, qword [rsp + 0xa88]
mov qword [rsp + 0x1a0], rax
mov eax, dword [rsp + 0xa84]
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0xa7c]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0xa78]
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0xa70]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0xa6c]
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0xa64]
mov qword [rsp + 0x110], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x300], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x9d0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x3a0], xmm0
movdqu xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xb0], xmm0
movzx eax, byte [rsp + 0x11f]
mov byte [rsp + 0x52], al
movzx eax, word [rsp + 0x11d]
mov word [rsp + 0x50], ax
call fcn.1401c1a50
mov r12, rax
lea rcx, [rsi + 7]
and rcx, 0xfffffffffffffff8
xor eax, eax
sub rcx, rsi
je 0x14007a785
je 0x14007a785
xor eax, eax
nop word [rax + rax]
cmp byte [rsi + rax], 0
je 0x14007d7b9
inc rax
cmp rcx, rax
jne 0x14007a770
mov rax, rcx
mov rcx, rax
or rcx, 0x10
movdqu xmm0, xmmword [rsi + rax]
movdqa xmm1, xmmword [0x1401f9ae0]
paddq xmm1, xmm0
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
movabs r8, 0x8080808080808080
test rdx, r8
cmovne rcx, rax
cmp byte [rsi + rcx], 0
je 0x14007d7b9
inc rcx
cmp rcx, 0x1d
jne 0x14007a7c0
mov qword [rsp + 0x850], rsi
mov qword [rsp + 0x858], 0x1d
mov qword [rsp + 0x860], 0x1d
lea rcx, [rsp + 0x850]
call fcn.1400367a0
mov rsi, rax
mov r13, rdx
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a831
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x30
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov r15, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r13
mov rax, qword [0x1402d9138]
nop dword [rax + rax]
mov rcx, rax
inc rcx
je 0x14007d7b9
lock cmpxchg qword [0x1402d9138], rcx
jne 0x14007a870
mov qword [r15 + 0x10], rcx
mov byte [r15 + 0x28], 0
lock inc qword [r15]
jle 0x14007d7b9
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a8c5
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x30
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
pxor xmm0, xmm0
movdqu xmmword [rax + 0x10], xmm0
mov qword [rsp + 0x850], rax
lock inc qword [rax]
jle 0x14007d7b9
movzx eax, byte [0x1402d90f8]
test al, al
je 0x14007a964
mov byte [0x1402d90f8], 1
call fcn.1401ca390
test rax, rax
je 0x14007d7b9
mov r13, qword [rax]
mov qword [rax], 0
test r13, r13
je 0x14007a964
lock inc qword [r13]
jle 0x14007d7b9
mov byte [0x1402d90f8], 1
call fcn.1401ca390
test rax, rax
je 0x14007d795
mov rcx, qword [rax]
mov qword [rax], r13
test rcx, rcx
jne 0x14007a99a
jmp 0x14007a9a5
movzx eax, byte [0x1402d90f8]
test al, al
je 0x14007af7d
mov byte [0x1402d90f8], 1
call fcn.1401ca390
test rax, rax
je 0x14007d7b9
mov rcx, qword [rax]
mov qword [rax], 0
xor r13d, r13d
test rcx, rcx
je 0x14007a9a5
lock dec qword [rcx]
jne 0x14007a9a5
call fcn.1400892a0
mov rbx, qword [rsp + 0x850]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14007a9c1
lock inc qword [rcx + 0x18]
jle 0x14007d786
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007a9ec
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x1c0
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov qword [rax], r15
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r13
movaps xmm0, xmmword [rsp + 0x420]
movdqa xmm1, xmmword [rsp + 0x430]
movaps xmm2, xmmword [rsp + 0x440]
movaps xmm3, xmmword [rsp + 0x450]
movups xmmword [rax + 0x18], xmm0
movdqu xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x38], xmm2
movups xmmword [rax + 0x48], xmm3
movaps xmm0, xmmword [rsp + 0x460]
movups xmmword [rax + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x470]
movups xmmword [rax + 0x68], xmm0
mov qword [rax + 0x78], 1
mov qword [rax + 0x80], 0xa
mov dword [rax + 0x90], 0
mov dword [rax + 0x98], 0
mov dword [rax + 0xa0], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0xa4], rcx
mov ecx, dword [rsp + 0xe8]
mov dword [rax + 0xac], ecx
mov dword [rax + 0xb0], 0x3b9aca00
mov qword [rax + 0xb8], 0x5a
mov dword [rax + 0xc0], 0
mov ecx, dword [rsp + 0x1a8]
mov dword [rax + 0xcc], ecx
mov rcx, qword [rsp + 0x1a0]
mov qword [rax + 0xc4], rcx
mov dword [rax + 0xd0], 0x3b9aca00
mov ecx, dword [rsp + 0x138]
mov dword [rax + 0xdc], ecx
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0xd4], rcx
mov dword [rax + 0xe0], 0x3b9aca00
mov ecx, dword [rsp + 0x128]
mov dword [rax + 0xec], ecx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0xe4], rcx
mov dword [rax + 0xf0], 0x3b9aca00
mov ecx, dword [rsp + 0x118]
mov dword [rax + 0xfc], ecx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0xf4], rcx
mov dword [rax + 0x100], 0x3b9aca00
mov qword [rax + 0x108], 8
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rax + 0x110], xmm0
mov qword [rax + 0x120], 8
movaps xmm0, xmmword [rsp + 0x9d0]
movups xmmword [rax + 0x128], xmm0
movups xmm0, xmmword [str._._]
movups xmmword [rax + 0x138], xmm0
movups xmm0, xmmword [0x1402a2e40]
movups xmmword [rax + 0x148], xmm0
movups xmmword [rax + 0x158], xmm6
mov qword [rax + 0x168], 0xffffffffffffffff
movaps xmm0, xmmword [rsp + 0x3a0]
movups xmmword [rax + 0x170], xmm0
mov dword [rax + 0x188], 0x1000101
mov word [rax + 0x18c], 0x101
mov qword [rax + 0x18e], 0
mov dword [rax + 0x196], 0x2000001
mov byte [rax + 0x19a], 2
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [rax + 0x19b], xmm0
mov word [rax + 0x1ab], 0x404
movzx ecx, word [rsp + 0x50]
mov word [rax + 0x1ad], cx
movzx ecx, byte [rsp + 0x52]
mov byte [rax + 0x1af], cl
mov qword [rax + 0x1b0], rdi
mov qword [rax + 0x1b8], r14
lea r8, [0x14029e938]
mov rcx, r12
mov rdx, rax
call fcn.1401cb2b0
mov r12, rdx
test rax, rax
mov qword [rsp + 0x30], rbp
je 0x14007ad89
lock dec qword [rbx]
jne 0x14007ac8b
lea rcx, [rsp + 0x850]
call fcn.140062830
lock dec qword [r15]
je 0x14007ac91
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007acc4
jmp 0x14007acac
lock dec qword [r15]
jne 0x14007ac76
mov rcx, r15
call fcn.1401db090
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007acc4
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
mov qword [rax], r12
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007ad0b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rbp, rax
mov dword [rax], 2
mov qword [rax + 0x58], rsi
lea rax, [0x1402a0310]
mov qword [rbp + 0x60], rax
mov word [rbp + 0x68], 0
mov rax, qword [r14 + 0x40]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [r14 + 0x40], rcx
jne 0x14007ad50
and eax, 0xa
cmp eax, 8
jne 0x14007ad72
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x14007b053
mov rcx, r14
call fcn.14014e3a0
jmp 0x14007b053
mov qword [rsp + 0xaa0], r15
mov qword [rsp + 0xaa8], rbx
mov qword [rsp + 0xab0], r12
call fcn.1401ca2d0
test rax, rax
je 0x14007d7b9
mov rbp, rax
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007addd
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
xor r13d, r13d
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
mov qword [rsi], 1
mov qword [rsi + 8], 1
add rsi, 0x10
mov qword [rax + 0x10], rbp
jmp 0x14007ae2d
mov rcx, rsi
call fcn.1401827d0
call fcn.1401c0530
xor ebp, ebp
xor ecx, ecx
call fcn.14019bb60
test rax, rax
je 0x14007ae80
movzx ebp, byte [rax + 0x4c]
movzx ebx, byte [rax + 0x4d]
test bpl, bpl
je 0x14007ae4c
test bl, bl
je 0x14007ae20
mov ecx, ebx
sub cl, 1
movzx ecx, cl
cmovb ecx, r13d
test bpl, bpl
movzx edx, bl
cmovne edx, ecx
mov byte [rax + 0x4d], dl
mov rax, qword [r14 + 0x40]
test al, 2
je 0x14007ae8e
jmp 0x14007afa4
xor ebx, ebx
mov rax, qword [r14 + 0x40]
test al, 2
jne 0x14007afa4
test al, 4
jne 0x14007af9a
test al, 1
jne 0x14007aeb0
test al, 1
je 0x14007af22
jmp 0x14007af53
cmp rsi, qword [r14 + 0x38]
jne 0x14007aef0
mov rcx, qword [r14 + 0x30]
lea rdx, [fcn.1401826f0]
cmp qword [rcx], rdx
jne 0x14007aef0
lea rdx, [0x140182710]
cmp qword [rcx + 8], rdx
jne 0x14007aef0
lea rdx, [fcn.1401827d0]
cmp qword [rcx + 0x10], rdx
jne 0x14007aef0
lea rdx, [fcn.140182880]
cmp qword [rcx + 0x18], rdx
je 0x14007ae9a
nop dword [rax]
mov rax, qword [r14 + 0x40]
nop word cs:[rax + rax]
mov rcx, rax
and rcx, 0xfffffffffffffffe
lock cmpxchg qword [r14 + 0x40], rcx
jne 0x14007af00
test al, 2
jne 0x14007af9e
mov rax, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x38]
call qword [rax + 0x18]
mov rcx, rsi
call fcn.1401826f0
mov qword [r14 + 0x30], rax
mov qword [r14 + 0x38], rdx
mov rax, qword [r14 + 0x40]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r14 + 0x40], rcx
jne 0x14007af40
test al, 2
jne 0x14007afa4
test bpl, bpl
je 0x14007ae28
xor ecx, ecx
call fcn.1401d91c0
test rax, rax
je 0x14007ae28
mov byte [rax + 0x4c], 1
mov byte [rax + 0x4d], bl
call fcn.1401c0530
jmp 0x14007ae2d
xor r13d, r13d
mov rbx, qword [rsp + 0x850]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x14007a9b6
jmp 0x14007a9c1
xor ebx, ebx
jmp 0x14007afc4
lock or qword [r14 + 0x40], 1
mov rax, qword [r14 + 0x10]
mov rbp, qword [r14 + 0x18]
mov qword [r14 + 0x10], 0
xor rax, 1
test rax, rax
sete bl
je 0x14007b0ac
mov rax, qword [r14 + 0x40]
nop dword [rax + rax]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [r14 + 0x40], rcx
jne 0x14007afd0
and eax, 0xa
cmp eax, 8
jne 0x14007aff2
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x14007d7a6
mov rcx, r14
call fcn.14014e3a0
mov rcx, rsi
call fcn.140182880
test bl, bl
je 0x14007d7bd
test rbp, rbp
je 0x14007b0c7
mov rcx, r12
call sub.kernel32.dll_CloseHandle
lock dec qword [r15]
jne 0x14007b038
mov rcx, qword [rsp + 0xaa0]
call fcn.1401db090
mov rax, qword [rsp + 0xaa8]
lock dec qword [rax]
jne 0x14007b053
lea rcx, [rsp + 0xaa8]
call fcn.140062830
lea rcx, [rsp + 0x198]
call fcn.1401ab590
mov rax, qword [rsp + 0x198]
lock dec qword [rax]
jne 0x14007b07b
mov rcx, qword [rsp + 0x198]
call fcn.14014e130
mov eax, 0x3b9aca01
movd xmm0, eax
movd esi, xmm0
cmp esi, 0x3b9aca01
jne 0x14007b14c
mov rax, qword [rsp + 0x148]
mov qword [rax + 8], rbp
mov qword [rax], 3
jmp 0x14007eb09
lock dec qword [r14]
je 0x14007affc
mov rcx, rsi
call fcn.140182880
test rbp, rbp
jne 0x14007b01d
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007b0f2
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x30
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rbp, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rdi
movdqu xmm0, xmmword [rsp + 0xaa0]
movdqu xmmword [rax + 0x18], xmm0
mov rax, qword [rsp + 0xab0]
mov qword [rbp + 0x28], rax
pxor xmm0, xmm0
movd esi, xmm0
cmp esi, 0x3b9aca01
je 0x14007b094
mov qword [rsp + 0x9b8], rbp
mov qword [rsp + 0x9c0], 0x1e
movq qword [rsp + 0x9c8], xmm0
lea rcx, [rsp + 0x850]
mov r8d, 0x89
mov rdx, qword [rsp + 0x30]
call fcn.1401aa990
mov eax, dword [rsp + 0x850]
cmp eax, 2
jne 0x14007b19f
mov ecx, 2
mov rdx, qword [rsp + 0x858]
jmp 0x14007b28b
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x850]
movdqu xmm1, xmmword [rsp + 0x860]
movups xmm2, xmmword [rsp + 0x870]
movups xmm3, xmmword [rsp + 0x880]
movups xmmword [rsp + 0x426], xmm0
movdqu xmmword [rsp + 0x436], xmm1
movups xmmword [rsp + 0x446], xmm2
movups xmmword [rsp + 0x456], xmm3
movups xmm0, xmmword [rsp + 0x890]
movups xmmword [rsp + 0x466], xmm0
mov rcx, qword [rsp + 0x8a0]
mov qword [rsp + 0x476], rcx
movups xmm0, xmmword [rsp + 0x420]
movaps xmmword [rsp + 0xaa0], xmm0
movups xmm0, xmmword [rsp + 0x430]
movaps xmmword [rsp + 0xab0], xmm0
movups xmm0, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0xac0], xmm0
movups xmm0, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0xad0], xmm0
movdqu xmm0, xmmword [rsp + 0x460]
movdqa xmmword [rsp + 0xae0], xmm0
mov rcx, qword [rsp + 0x46e]
mov qword [rsp + 0xaee], rcx
mov rcx, qword [rsp + 0x476]
mov qword [rsp + 0xaf6], rcx
xor ecx, ecx
lock inc qword [rbp]
jle 0x14007d7b9
mov qword [rsp + 0x2e8], rbp
mov qword [rsp + 0x2f0], 0x1e
mov dword [rsp + 0x2f8], esi
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rdx
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x1c0], xmm0
mov rcx, qword [rsp + 0x180]
mov qword [rsp + 0x1d0], rcx
mov qword [rsp + 0x1d8], 0
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], 2
mov qword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], 8
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], 8
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x220], xmm0
mov word [rsp + 0x230], 0
movaps xmm0, xmmword [rsp + 0xaa0]
movaps xmm1, xmmword [rsp + 0xab0]
movaps xmm2, xmmword [rsp + 0xac0]
movaps xmm3, xmmword [rsp + 0xad0]
movups xmmword [rsp + 0x232], xmm0
movups xmmword [rsp + 0x242], xmm1
movups xmmword [rsp + 0x252], xmm2
movups xmmword [rsp + 0x262], xmm3
movaps xmm0, xmmword [rsp + 0xae0]
movups xmmword [rsp + 0x272], xmm0
movups xmm0, xmmword [rsp + 0xaee]
movups xmmword [rsp + 0x280], xmm0
mov dword [rsp + 0x298], 0x3b9aca00
mov byte [rsp + 0x2a0], 1
mov dword [rsp + 0x2a1], 0
mov dword [rsp + 0x2a4], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2a8], xmm0
mov byte [rsp + 0x2b8], 2
mov qword [rsp + 0x2c0], 2
movdqu xmm0, xmmword [rsp + 0x150]
movdqu xmm1, xmmword [rsp + 0x160]
movdqu xmmword [rsp + 0x2c8], xmm0
movdqu xmmword [rsp + 0x2d8], xmm1
cmp eax, 2
je 0x14007b530
mov r9d, dword [rsp + 0x264]
mov rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x258]
mov rdx, rcx
test r9, r9
je 0x14007b466
mov rdx, rcx
sub rdx, r9
jbe 0x14007b460
cmp byte [rax + r9], 0xbf
jg 0x14007b466
jmp 0x14007d7b9
jne 0x14007d7b9
cmp rdx, 3
jb 0x14007b530
movzx edx, word [rax + r9]
xor edx, 0x2f3a
movzx r8d, byte [rax + r9 + 2]
xor r8d, 0x2f
or r8w, dx
jne 0x14007b530
mov r8, rcx
test r9, r9
je 0x14007b4b1
mov r8, rcx
sub r8, r9
jbe 0x14007b4ab
cmp byte [rax + r9], 0xbf
jg 0x14007b4b1
jmp 0x14007d7b9
jne 0x14007d7b9
lea rdx, str.combase.dll
cmp r8, 3
jb 0x14007b50f
movzx r8d, word [rax + r9]
xor r8d, 0x2f3a
movzx r10d, byte [rax + r9 + 2]
xor r10d, 0x2f
or r10w, r8w
jne 0x14007b50f
mov r8d, dword [rsp + 0x268]
add r9d, 3
cmp r8d, r9d
jbe 0x14007b50f
mov edx, r9d
test r9d, r9d
je 0x14007b6b1
cmp rcx, rdx
jbe 0x14007b6ab
cmp byte [rax + rdx], 0xc0
jge 0x14007b6b1
jmp 0x14007d7b9
xor r8d, r8d
add r8, rdx
lea rdi, [rsp + 0x420]
mov rcx, rdi
call fcn.1400848b0
cmp qword [rsp + 0x420], 0
je 0x14007b576
lea rcx, [rsp + 0xba0]
lea rdx, [rsp + 0x1b0]
mov r8d, 0x150
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0xba0]
mov rsi, qword [rsp + 0xba8]
cmp r12, 2
jne 0x14007bc23
mov rax, qword [rsp + 0x148]
mov qword [rax + 8], rsi
jmp 0x14007eacc
mov r13, qword [rsp + 0x428]
mov r12, qword [rsp + 0x430]
mov rsi, qword [rsp + 0x438]
test r13, r13
jne 0x14007b5f7
test rsi, rsi
je 0x14007b5e0
js 0x14007d7b9
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007b5c9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r13, rax
test rax, rax
jne 0x14007b5e6
jmp 0x14007d7b9
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov r12, rsi
lea rbp, [rsp + 0x238]
mov rcx, rbp
call fcn.1401df350
mov r14b, 1
test rax, rax
je 0x14007b630
mov r8, rdx
add r8, rax
lea rcx, [rsp + 0x420]
mov rdx, rax
call fcn.1400848b0
cmp qword [rsp + 0x420], 0
je 0x14007b638
xor r15d, r15d
jmp 0x14007b6f8
mov r15, qword [rsp + 0x428]
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x30], rax
mov rbx, qword [rsp + 0x438]
test r15, r15
jne 0x14007b6f1
test rbx, rbx
je 0x14007b6d6
js 0x14007d7b9
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007b694
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapAlloc
mov r15, rax
test rax, rax
jne 0x14007b6dc
jmp 0x14007d7b9
jne 0x14007d7b9
cmp rcx, r8
jbe 0x14007b6c2
cmp byte [rax + r8], 0xbf
jg 0x14007b6c8
jmp 0x14007d7b9
jne 0x14007d7b9
add rax, rdx
sub r8, rdx
mov rdx, rax
jmp 0x14007b512
mov r15d, 1
mov rcx, r15
mov rdx, qword [rsp + 0x30]
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x30], rbx
test r15, r15
sete r14b
test rsi, rsi
jne 0x14007b721
test r14b, r14b
je 0x14007b721
test r12, r12
je 0x14007b530
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapFree
jmp 0x14007b530
lea rdx, str.combase.dll
mov rcx, rbp
call fcn.1401e0bf0
test al, al
jne 0x14007d7b9
mov rcx, rbp
call fcn.1401e0a50
test al, al
jne 0x14007d7b9
test r13, r13
je 0x14007b530
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0x100], rsi
lea rcx, [rsp + 0x850]
lea rdx, [rsp + 0x1b0]
mov r8d, 0x150
call sub.msvcrt.dll_memcpy
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007b7af
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 6
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov word [rax + 4], 0x2063
mov dword [rax], 0x69736142
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 6
mov qword [rsp + 0xc0], 6
mov byte [rsp + 0x842], 0
mov word [rsp + 0x840], 0
mov r8d, 0x400
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [0x14029f7de]
mov qword [rsp + 0x838], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x820], rax
mov byte [rsp + 0x843], 0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x828], xmm0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x90], rax
lea rbp, [0x1400023b0]
mov qword [rsp + 0x98], rbp
lea rax, str.combase.dll
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x308], 2
mov qword [rsp + 0x320], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x318], 1
mov qword [rsp + 0x3a0], rdi
mov qword [rsp + 0x3a8], 0
lea rdx, [0x14029f758]
lea rsi, [rsp + 0x3a0]
lea r8, [rsp + 0x300]
mov rcx, rsi
call fcn.140038a20
mov rcx, qword [rsp + 0x3a8]
test al, al
je 0x14007b918
test rcx, rcx
lea rax, str.0__
cmovne rax, rcx
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14007b977
test rcx, rcx
je 0x14007b977
lea r12, [rax - 1]
mov r13, qword [rax - 1]
mov r14, qword [rax + 7]
jmp 0x14007b93d
test rcx, rcx
je 0x14007b977
mov eax, ecx
and eax, 3
lea rdx, [rax - 2]
cmp rdx, 2
jb 0x14007b977
test rax, rax
je 0x14007b977
lea r12, [rcx - 1]
mov r13, qword [rcx - 1]
mov r14, qword [rcx + 7]
mov rcx, r13
call qword [r14]
cmp qword [r14 + 8], 0
je 0x14007b966
cmp qword [r14 + 0x10], 0x11
jb 0x14007b955
mov r13, qword [r13 - 8]
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
test r15, r15
je 0x14007badb
mov qword [rsp + 0x3a0], r15
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x3b0], rbx
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rbp
lea rax, str._b___
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x308], 1
mov qword [rsp + 0x320], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x318], 1
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], 0
lea rdx, [0x14029f758]
lea rcx, [rsp + 0x90]
lea r8, [rsp + 0x300]
call fcn.140038a20
mov rcx, qword [rsp + 0x98]
test al, al
je 0x14007ba5c
test rcx, rcx
lea rax, str.0__
cmovne rax, rcx
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14007baba
test rcx, rcx
je 0x14007baba
lea rsi, [rax - 1]
mov rdi, qword [rax - 1]
mov rbx, qword [rax + 7]
jmp 0x14007ba81
test rcx, rcx
je 0x14007baba
mov eax, ecx
and eax, 3
lea rdx, [rax - 2]
cmp rdx, 2
jb 0x14007baba
test rax, rax
je 0x14007baba
lea rsi, [rcx - 1]
mov rdi, qword [rcx - 1]
mov rbx, qword [rcx + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x14007baa9
cmp qword [rbx + 0x10], 0x11
jb 0x14007ba98
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x3a8], 0
je 0x14007badb
mov r8, qword [rsp + 0x3a0]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea rcx, [rsp + 0x420]
call fcn.1401752e0
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
xor eax, eax
cmp r8, rax
je 0x14007bb26
movzx r10d, byte [rdx + rax]
cmp r10b, 0x20
setae cl
cmp r10b, 0x7f
setne r9b
inc rax
cmp r10b, 9
je 0x14007bafa
and cl, r9b
jne 0x14007bafa
jmp 0x14007d7b9
lea rcx, [rsp + 0x420]
call fcn.140037770
movdqu xmm0, xmmword [rsp + 0x420]
movdqu xmm1, xmmword [rsp + 0x430]
movdqa xmmword [rsp + 0x9e0], xmm1
movdqa xmmword [rsp + 0x9d0], xmm0
mov eax, dword [rsp + 0x441]
mov dword [rsp + 0x9f1], eax
mov eax, dword [rsp + 0x444]
mov dword [rsp + 0x9f4], eax
mov byte [rsp + 0x9f0], 1
cmp qword [rsp + 0xb8], 0
je 0x14007bb9c
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xf8], 0
je 0x14007bbbd
mov r8, qword [rsp + 0xf0]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp dword [rsp + 0x850], 2
jne 0x14007d160
lea rcx, [rsp + 0xba0]
lea rdx, [rsp + 0x850]
mov r8d, 0x150
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x9e8]
mov rax, qword [rsp + 0x9d0]
mov rdx, qword [rsp + 0x9d8]
mov r8, qword [rsp + 0x9e0]
call qword [rax + 0x10]
mov r12, qword [rsp + 0xba0]
mov rsi, qword [rsp + 0xba8]
cmp r12, 2
je 0x14007b565
lea rdx, [rsp + 0xbb0]
lea rcx, [rsp + 0xaa0]
mov r8d, 0x100
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0xcb0]
mov rax, qword [rsp + 0xcb8]
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0xcc0]
mov qword [rsp + 0x390], rax
mov r15, qword [rsp + 0xcc8]
mov r14, qword [rsp + 0xcd0]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007bca1
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd0
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rbx, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 4
lock inc qword [rax]
jle 0x14007d7b9
mov qword [rsp + 0x420], r12
mov qword [rsp + 0x428], rsi
lea rcx, [rsp + 0x430]
lea rdx, [rsp + 0xaa0]
mov r8d, 0x100
call sub.msvcrt.dll_memcpy
cmp rdi, 2
jne 0x14007bd23
mov eax, 2
mov qword [rsp + 0x78], rax
jmp 0x14007c044
test rdi, rdi
mov qword [rsp + 0x188], rbx
je 0x14007bd74
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
mov dword [rsp + 0x9d0], eax
mov dword [rsp + 0x9d3], ecx
mov edi, 2
mov rdx, r15
mov rax, r14
mov qword [rsp + 0x30], r14
mov r13, r15
mov rsi, qword [rsp + 0x390]
mov rbp, qword [rsp + 0x398]
jmp 0x14007bea1
lea rcx, [rsp + 0x850]
mov rdx, 0xfffffffffffffffe
xor r8d, r8d
call fcn.140063650
movaps xmm6, xmmword [rsp + 0x850]
movaps xmm7, xmmword [rsp + 0x860]
movzx ebx, byte [rsp + 0x870]
mov eax, dword [rsp + 0x871]
mov dword [rsp + 0x300], eax
mov eax, dword [rsp + 0x874]
mov dword [rsp + 0x303], eax
movups xmm0, xmmword [rsp + 0x878]
movaps xmmword [rsp + 0x1b0], xmm0
movups xmm0, xmmword [rsp + 0x888]
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rsp + 0x898]
movaps xmmword [rsp + 0x1d0], xmm0
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007be1a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x30
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rsi, rax
mov byte [rsp + 0x3f], bl
movdqa xmm0, xmmword [rsp + 0x1b0]
movdqa xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movups xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
mov dword [rsp + 0x9d0], eax
mov dword [rsp + 0x9d3], ecx
lea r13, [0x1402a10b8]
xor eax, eax
mov qword [rsp + 0x30], rax
mov rdx, r14
mov rdi, r15
mov ebp, 0
mov qword [rsp + 0x78], r15
test r15, r15
je 0x14007bf34
mov r15, r14
lea rbx, [rsp + 0x448]
movups xmm0, xmmword [0x1402a07c0]
movaps xmmword [rsp + 0x310], xmm0
movdqu xmm0, xmmword [0x1402a07b0]
movdqa xmmword [rsp + 0x300], xmm0
lea r14, [rsp + 0x850]
mov rcx, r14
call fcn.14005b440
lea rcx, [rsp + 0x1b0]
lea r8, [rsp + 0x300]
mov rdx, rbx
mov r9, r14
call fcn.14019ff30
cmp byte [rsp + 0x1d0], 2
je 0x14007bf24
lea rcx, [rsp + 0x1c8]
mov rax, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1c0]
call qword [rax + 0x10]
mov r12, qword [rsp + 0x420]
mov qword [rsp + 0x78], rdi
mov r14, r15
test r12, r12
je 0x14007c005
mov rax, qword [rsp + 0x428]
test rax, rax
je 0x14007bf6a
lea rcx, [rsp + 0x440]
mov rdx, qword [rsp + 0x430]
mov r8, qword [rsp + 0x438]
call qword [rax + 0x10]
jmp 0x14007c005
mov rbx, qword [rsp + 0x430]
mov rdi, qword [rsp + 0x438]
mov rcx, rbx
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14007bfa2
cmp qword [rdi + 0x10], 0x11
jb 0x14007bf91
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsp + 0x440]
test rbx, rbx
je 0x14007c005
mov rcx, rbx
call fcn.1401d9770
lea rcx, [rbx + 8]
cmp qword [rbx], 0
je 0x14007bfd1
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14007bfdf
call fcn.14014d110
jmp 0x14007bfdf
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14007bfdf
call fcn.140062fd0
mov rax, qword [rbx + 0x48]
test rax, rax
je 0x14007bfef
mov rcx, qword [rbx + 0x50]
call qword [rax + 0x18]
mov r8, qword [rsp + 0x440]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov qword [rsp + 0x420], 1
mov qword [rsp + 0x428], rbp
mov qword [rsp + 0x430], rsi
mov qword [rsp + 0x438], r13
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x440], rax
mov r12d, 1
mov rbx, qword [rsp + 0x188]
lea r15, [rsp + 0x428]
movups xmm0, xmmword [r15 + 0x70]
movaps xmmword [rsp + 0x410], xmm0
movups xmm0, xmmword [r15 + 0x60]
movaps xmmword [rsp + 0x400], xmm0
movups xmm0, xmmword [r15 + 0x50]
movaps xmmword [rsp + 0x3f0], xmm0
movups xmm0, xmmword [r15 + 0x40]
movaps xmmword [rsp + 0x3e0], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x3d0], xmm3
movaps xmmword [rsp + 0x3c0], xmm2
movaps xmmword [rsp + 0x3b0], xmm1
movaps xmmword [rsp + 0x3a0], xmm0
mov eax, dword [rsp + 0x4a8]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4ac]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4b0]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x4b4]
mov dword [rsp + 0x64], eax
mov rsi, qword [rsp + 0x4b8]
mov rcx, qword [rsp + 0x4c0]
mov rdi, qword [rsp + 0x4c8]
movzx eax, word [rsp + 0x4d0]
mov word [rsp + 0x2c], ax
movzx eax, word [rsp + 0x4d2]
mov word [rsp + 0x2e], ax
mov eax, dword [rsp + 0x4d4]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x4d8]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x4dc]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x4e0]
mov dword [rsp + 0x88], eax
movzx eax, byte [rsp + 0x4f8]
mov byte [rsp + 0xa0], al
mov eax, dword [rsp + 0x4fc]
mov dword [rsp + 0x113], eax
mov eax, dword [rsp + 0x4f9]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x52c]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x9d3]
mov dword [rsp + 0x123], eax
mov eax, dword [rsp + 0x9d0]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x4e4]
mov dword [rsp + 0x60], eax
movups xmm0, xmmword [rsp + 0x4e8]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsp + 0x51c]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x50c]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0x30], rax
mov ebp, dword [rsp + 0x508]
test rdi, rdi
mov qword [rsp + 0x9b0], rcx
je 0x14007c239
js 0x14007d7b9
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007c225
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x14007c23e
jmp 0x14007d7b9
mov eax, 1
mov qword [rsp + 0x140], rax
mov rcx, rax
mov qword [rsp + 0x9a8], rsi
mov rdx, rsi
mov r8, rdi
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x180], al
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x170], xmm0
mov esi, ebp
mov rax, qword [rsp + 0x30]
cmp ebp, 0x3b9aca00
jne 0x14007c299
mov esi, dword [rsp + 0xce8]
mov rax, qword [rsp + 0xce0]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0xcd8]
mov qword [rsp + 0x48], rax
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14007d7b9
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmm1, xmmword [rsp + 0x3b0]
movaps xmm2, xmmword [rsp + 0x3c0]
movaps xmm3, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x420], xmm0
movaps xmmword [rsp + 0x430], xmm1
movaps xmmword [rsp + 0x440], xmm2
movaps xmmword [rsp + 0x450], xmm3
movaps xmm0, xmmword [rsp + 0x3e0]
movaps xmmword [rsp + 0x460], xmm0
movaps xmm0, xmmword [rsp + 0x3f0]
movaps xmmword [rsp + 0x470], xmm0
movaps xmm0, xmmword [rsp + 0x400]
movaps xmmword [rsp + 0x480], xmm0
movaps xmm0, xmmword [rsp + 0x410]
movaps xmmword [rsp + 0x490], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1b0], xmm0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x1c0], al
mov eax, dword [rsp + 0x110]
mov edx, dword [rsp + 0x113]
mov dword [rsp + 0x303], edx
mov dword [rsp + 0x300], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x870], eax
movdqa xmm0, xmmword [rsp + 0xb0]
movdqa xmm1, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x860], xmm1
movdqa xmmword [rsp + 0x850], xmm0
mov rax, qword [rcx + 0x1c8]
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x40], rdi
nop dword [rax + rax]
test al, 1
jne 0x14007c424
cmp rax, 0xfffffffffffffffe
je 0x14007d7b0
lea rdx, [rax + 2]
lock cmpxchg qword [rcx + 0x1c8], rdx
jne 0x14007c3c0
mov qword [rsp + 0x9a0], r14
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
mov r14d, 1
lock xadd qword [r15 + 0x88], r14
mov rsi, r14
and rsi, 0xffffffffffffffe0
mov rdx, qword [r15 + 0x80]
mov rax, rsi
sub rax, qword [rdx + 0x2300]
jne 0x14007c4db
and r14d, 0x1f
jmp 0x14007c66a
cmp r12, 2
mov r13, qword [rsp + 0x78]
jne 0x14007d7b9
cmp r13, 2
jne 0x14007c8a0
cmp esi, 0x3b9aca00
jne 0x14007c450
mov r14d, 0x3b9aca00
jmp 0x14007ca1e
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14007eb43
mov rsi, qword [rsp + 0x420]
mov rcx, qword [0x1402d9130]
test rcx, rcx
jne 0x14007c4be
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14007eb43
mov rcx, qword [rsp + 0x420]
mov qword [0x1402d9130], rcx
test rcx, rcx
je 0x14007d7b9
mov rax, rsi
or rax, rcx
shr rax, 0x20
je 0x14007c953
mov rax, rsi
xor edx, edx
div rcx
jmp 0x14007c959
mov qword [rsp + 0x188], rbx
shr rax, 5
and r14d, 0x1f
cmp rax, r14
seta dil
xorps xmm8, xmm8
jmp 0x14007c511
xor edi, edi
pause
cmp qword [rdx + 0x2300], rsi
je 0x14007c65d
mov rbx, rdx
mov rdx, qword [rdx + 0x2308]
test rdx, rdx
jne 0x14007c600
mov r13, qword [rbx + 0x2300]
movzx eax, byte [0x1402d9160]
mov rax, qword [0x1402d9150]
test rax, rax
jne 0x14007c553
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov qword [0x1402d9150], rax
mov r8d, 0x2320
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov rcx, rax
add r13, 0x20
mov qword [rax + 0x2300], r13
movups xmmword [rax + 0x2308], xmm8
mov qword [rax + 0x2318], 0
xor eax, eax
lock cmpxchg qword [rbx + 0x2308], rcx
jne 0x14007c59f
mov rdx, rcx
jmp 0x14007c600
mov rdx, rax
mov rax, qword [rax + 0x2300]
add rax, 0x20
mov qword [rcx + 0x2300], rax
xor eax, eax
lock cmpxchg qword [rdx + 0x2308], rcx
je 0x14007c600
mov r8, rax
nop word cs:[rax + rax]
pause
mov rax, qword [r8 + 0x2300]
add rax, 0x20
mov qword [rcx + 0x2300], rax
xor eax, eax
lock cmpxchg qword [r8 + 0x2308], rcx
mov r8, rax
jne 0x14007c5d0
nop word cs:[rax + rax]
mov rax, qword [rbx + 0x2310]
cmp eax, 0xffffffff
sete al
test dil, al
je 0x14007c500
mov rax, rbx
lock cmpxchg qword [r15 + 0x80], rdx
jne 0x14007c500
mfence
mov rax, qword [r15 + 0x88]
mov qword [rbx + 0x2318], rax
movabs rax, 0x100000000
lock or qword [rbx + 0x2310], rax
mov dil, 1
pause
cmp qword [rdx + 0x2300], rsi
jne 0x14007c511
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x188]
imul rax, r14, 0x118
mov qword [rdx + rax], r12
movaps xmm0, xmmword [rsp + 0x420]
movaps xmm1, xmmword [rsp + 0x430]
movaps xmm2, xmmword [rsp + 0x440]
movaps xmm3, xmmword [rsp + 0x450]
movups xmmword [rdx + rax + 8], xmm0
movups xmmword [rdx + rax + 0x18], xmm1
movups xmmword [rdx + rax + 0x28], xmm2
movups xmmword [rdx + rax + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x460]
movups xmmword [rdx + rax + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x470]
movups xmmword [rdx + rax + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x480]
movups xmmword [rdx + rax + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x490]
movups xmmword [rdx + rax + 0x78], xmm0
mov ecx, dword [rsp + 0x54]
mov dword [rdx + rax + 0x88], ecx
mov ecx, dword [rsp + 0x58]
mov dword [rdx + rax + 0x8c], ecx
mov ecx, dword [rsp + 0x5c]
mov dword [rdx + rax + 0x90], ecx
mov ecx, dword [rsp + 0x64]
mov dword [rdx + rax + 0x94], ecx
mov rcx, qword [rsp + 0x9a8]
mov qword [rdx + rax + 0x98], rcx
mov rcx, qword [rsp + 0x9b0]
mov qword [rdx + rax + 0xa0], rcx
mov qword [rdx + rax + 0xa8], rdi
movzx ecx, word [rsp + 0x2c]
mov word [rdx + rax + 0xb0], cx
movzx ecx, word [rsp + 0x2e]
mov word [rdx + rax + 0xb2], cx
mov ecx, dword [rsp + 0x68]
mov dword [rdx + rax + 0xb4], ecx
mov ecx, dword [rsp + 0x6c]
mov dword [rdx + rax + 0xb8], ecx
mov ecx, dword [rsp + 0x80]
mov dword [rdx + rax + 0xbc], ecx
mov ecx, dword [rsp + 0x88]
mov dword [rdx + rax + 0xc0], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rdx + rax + 0xc4], ecx
movzx ecx, byte [rsp + 0x1c0]
mov byte [rdx + rax + 0xd8], cl
movaps xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rdx + rax + 0xc8], xmm0
mov ecx, dword [rsp + 0x300]
mov r8d, dword [rsp + 0x303]
mov dword [rdx + rax + 0xd9], ecx
mov dword [rdx + rax + 0xdc], r8d
mov rcx, qword [rsp + 0x30]
mov qword [rdx + rax + 0xe0], rcx
mov dword [rdx + rax + 0xe8], ebp
movdqa xmm0, xmmword [rsp + 0x850]
movdqa xmm1, xmmword [rsp + 0x860]
movdqu xmmword [rdx + rax + 0xec], xmm0
movdqu xmmword [rdx + rax + 0xfc], xmm1
mov ecx, dword [rsp + 0x870]
mov dword [rdx + rax + 0x10c], ecx
mov qword [rdx + rax + 0x110], rbx
mov eax, 1
mov ecx, r14d
shl rax, cl
lock or qword [rdx + 0x2310], rax
mov rax, qword [r15 + 0x110]
mov esi, dword [rsp + 0x70]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 2
lock cmpxchg qword [r15 + 0x110], rcx
jne 0x14007c840
test rax, rax
mov r14, qword [rsp + 0x9a0]
mov r13, qword [rsp + 0x78]
jne 0x14007c88e
mov rax, qword [r15 + 0x100]
mov rcx, qword [r15 + 0x108]
mov qword [r15 + 0x100], 0
lock and qword [r15 + 0x110], 0xfffffffffffffffd
test rax, rax
je 0x14007c88e
call qword [rax + 8]
lea r15, [rsp + 0x428]
cmp r13, 2
je 0x14007c43d
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x123]
mov dword [rsp + 0x133], ecx
mov dword [rsp + 0x130], eax
cmp esi, 0x3b9aca00
jne 0x14007c8cf
mov r12d, 0x3b9aca00
jmp 0x14007ccb9
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14007eb43
mov rsi, qword [rsp + 0x420]
mov rcx, qword [0x1402d9130]
test rcx, rcx
jne 0x14007c93d
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14007eb43
mov rcx, qword [rsp + 0x420]
mov qword [0x1402d9130], rcx
test rcx, rcx
je 0x14007d7b9
mov rax, rsi
or rax, rcx
shr rax, 0x20
je 0x14007c982
mov rax, rsi
xor edx, edx
div rcx
jmp 0x14007c988
mov eax, esi
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
mov r9d, dword [rsp + 0x70]
je 0x14007c9b8
xor edx, edx
div rcx
mov r14, rax
jmp 0x14007c9bf
mov eax, esi
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
mov r9d, dword [rsp + 0x70]
je 0x14007cc4c
xor edx, edx
div rcx
mov r12, rax
jmp 0x14007cc53
xor edx, edx
div ecx
mov r14d, eax
add r14, r8
mov rax, r14
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
shr rdx, 0xb
mov rbp, rdx
add rbp, qword [rsp + 0x190]
jb 0x14007d7b9
imul rax, rdx, 0x3b9aca00
sub r14, rax
add r14d, r9d
cmp r14d, 0x3b9aca00
jb 0x14007ca1e
inc rbp
je 0x14007d7b9
add r14d, 0xc4653600
cmp r14d, 0x3b9aca00
je 0x14007d7b9
call fcn.1401ca2d0
test rax, rax
je 0x14007d7b9
mov rsi, rax
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007ca5a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rsi
lea rax, fcn.1401826f0
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x308], rcx
lea rax, [rsp + 0x300]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x1b0], rbx
lea rdi, [rsp + 0x1b8]
mov byte [rsp + 0x1c0], 0
mov eax, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf3]
mov dword [rsp + 0x1c1], eax
mov dword [rsp + 0x1c4], ecx
cmp r14d, 0x3b9aca00
jne 0x14007cb7f
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x420]
lea r8, [rsp + 0x150]
mov rdx, rdi
call fcn.140182c50
mov r13, qword [rsp + 0x420]
cmp r13, 5
jne 0x14007d091
mov byte [rsp + 0x1c0], 3
lea rsi, [rsp + 0x420]
lea rbx, [rsp + 0x150]
nop word cs:[rax + rax]
call fcn.1401c0530
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140182c50
mov r13, qword [rsp + 0x420]
cmp r13, 5
jne 0x14007d091
mov byte [rsp + 0x1c0], 3
jmp 0x14007cb50
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x420]
lea r8, [rsp + 0x150]
mov rdx, rdi
call fcn.140182c50
mov r13, qword [rsp + 0x420]
cmp r13, 5
jne 0x14007d091
mov byte [rsp + 0x1c0], 3
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14007eb43
mov rsi, qword [rsp + 0x420]
mov rcx, qword [0x1402d9130]
test rcx, rcx
jne 0x14007cc2f
mov qword [rsp + 0x420], 0
lea rcx, [rsp + 0x420]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14007eb43
mov rcx, qword [rsp + 0x420]
mov qword [0x1402d9130], rcx
test rcx, rcx
je 0x14007d7b9
mov rax, rsi
or rax, rcx
shr rax, 0x20
je 0x14007ce07
mov rax, rsi
xor edx, edx
div rcx
jmp 0x14007ce0d
xor edx, edx
div ecx
mov r12d, eax
add r12, r8
mov rax, r12
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
shr rdx, 0xb
mov rax, rdx
add rax, qword [rsp + 0x190]
mov qword [rsp + 0x30], rax
jb 0x14007d7b9
imul rax, rdx, 0x3b9aca00
sub r12, rax
add r12d, r9d
cmp r12d, 0x3b9aca00
jb 0x14007ccb9
inc qword [rsp + 0x30]
je 0x14007d7b9
add r12d, 0xc4653600
cmp r12d, 0x3b9aca00
je 0x14007d7b9
call fcn.1401ca2d0
test rax, rax
je 0x14007d7b9
mov rsi, rax
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007ccf5
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rsi
lea rax, fcn.1401826f0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x420], rbx
movups xmmword [rsp + 0x428], xmm6
movups xmmword [rsp + 0x438], xmm7
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x448], al
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x133]
mov dword [rsp + 0x449], eax
mov dword [rsp + 0x44c], ecx
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x460], r13
mov qword [rsp + 0x468], r14
mov byte [rsp + 0x471], 0
lea rbp, [rsp + 0x472]
lea rdx, [rsp + 0x850]
mov r8d, 0x146
mov rcx, rbp
call sub.msvcrt.dll_memcpy
lea r13, [rsp + 0x478]
lea rdi, [rsp + 0x4c0]
xor eax, eax
movzx eax, al
lea rcx, [0x1401f9af0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, esi
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14007ce31
xor edx, edx
div rcx
mov rcx, rax
jmp 0x14007ce37
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
cmp rdx, rbp
jb 0x14007ce6e
jne 0x14007d021
cmp r14d, ecx
jbe 0x14007d021
mov qword [rsp + 0x850], rbp
mov dword [rsp + 0x858], r14d
mov qword [rsp + 0x420], rdx
mov dword [rsp + 0x428], ecx
lea rcx, [rsp + 0x850]
lea r15, [rsp + 0x420]
mov rdx, r15
call fcn.1401c9ca0
xor esi, esi
cmp edx, 0x3b9aca00
cmove edx, esi
mov ecx, 0
cmovne rcx, rax
call fcn.1401c0630
lea r12, [rsp + 0x150]
jmp 0x14007cf16
mov qword [rsp + 0x850], rbp
mov dword [rsp + 0x858], r14d
mov qword [rsp + 0x420], rdx
mov dword [rsp + 0x428], ecx
lea rcx, [rsp + 0x850]
mov rdx, r15
call fcn.1401c9ca0
cmp edx, 0x3b9aca00
cmove edx, esi
mov ecx, 0
cmovne rcx, rax
call fcn.1401c0630
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.140182c50
mov r13, qword [rsp + 0x420]
cmp r13, 5
jne 0x14007d091
mov byte [rsp + 0x1c0], 3
mov qword [rsp + 0x420], 0
mov rcx, r15
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14007eb43
mov rbx, qword [rsp + 0x420]
mov r8, qword [0x1402d9130]
test r8, r8
jne 0x14007cfa2
mov qword [rsp + 0x420], 0
mov rcx, r15
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14007eb43
mov r8, qword [rsp + 0x420]
mov qword [0x1402d9130], r8
test r8, r8
je 0x14007d7b9
mov rax, rbx
or rax, r8
shr rax, 0x20
je 0x14007cfbb
mov rax, rbx
xor edx, edx
div r8
mov rcx, rax
jmp 0x14007cfc4
mov eax, ebx
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x14007cfde
xor edx, edx
div r8
jmp 0x14007cfe3
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
cmp rdx, rbp
jb 0x14007ced0
jne 0x14007d021
cmp r14d, ecx
ja 0x14007ced0
mov rsi, qword [rsp + 0x1b8]
mov r13d, 4
test rsi, rsi
je 0x14007d14c
mov rax, qword [rsi + 0x30]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x14007d050
and eax, 0xa
cmp eax, 8
jne 0x14007d072
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x14007d15b
mov rcx, qword [rsp + 0x1b8]
call fcn.14014da20
xor r14d, r14d
jmp 0x14007d12a
mov r14, qword [rsp + 0x428]
lea rdx, [rsp + 0x430]
lea rcx, [rsp + 0x850]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x1b8]
test rsi, rsi
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
je 0x14007d105
mov rax, qword [rsi + 0x30]
nop
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x14007d0d0
and eax, 0xa
cmp eax, 8
jne 0x14007d0f2
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x14007d105
mov rcx, qword [rsp + 0x1b8]
call fcn.14014da20
cmp r13d, 4
je 0x14007d7bd
lea rcx, [rsp + 0x9d0]
lea rdx, [rsp + 0x850]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x308]
call qword [rax + 0x18]
cmp r13d, 3
jne 0x14007e886
jmp 0x14007e895
xor r14d, r14d
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
jmp 0x14007d12a
xor r14d, r14d
jmp 0x14007d12a
movups xmm0, xmmword [0x1402a1320]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x1402a1310]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x9f0]
mov qword [rsp + 0x440], rax
movdqa xmm0, xmmword [rsp + 0x9d0]
movdqa xmm1, xmmword [rsp + 0x9e0]
movdqa xmmword [rsp + 0x430], xmm1
movdqa xmmword [rsp + 0x420], xmm0
movdqa xmmword [rsp + 0x3b0], xmm1
movdqa xmmword [rsp + 0x3a0], xmm0
lea rsi, [rsp + 0x878]
mov rcx, rsi
call fcn.14016df60
lea rdx, [rsp + 0xb0]
mov rcx, rsi
call fcn.14016dc90
mov esi, eax
movzx r15d, word [rsp + 0x8d0]
mov r13d, r15d
and r13d, esi
mov r12, qword [rsp + 0x890]
mov rbp, qword [rsp + 0x898]
mov r9, qword [rsp + 0x8b0]
mov r8, qword [rsp + 0x8a0]
mov r10, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x70], rax
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0x48], al
mov r11, qword [rsp + 0xc0]
xor ebx, ebx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], r8
jmp 0x14007d270
movzx ecx, byte [rsp + 0x48]
cmp byte [rax + 8], cl
je 0x14007d330
inc rbx
inc r13
mov rax, r13
nop word cs:[rax + rax]
mov r13, rax
mov eax, 0
cmp r13, rbp
jae 0x14007d280
movzx r14d, word [r12 + r13*4]
cmp r14, 0xffff
je 0x14007d415
movzx eax, word [r12 + r13*4 + 2]
mov ecx, r15d
and ecx, eax
mov edx, r13d
sub edx, ecx
and edx, r15d
cmp rdx, rbx
jb 0x14007d51a
cmp ax, si
jne 0x14007d26a
cmp r9, r14
jbe 0x14007d7b9
test r10, r10
sete al
imul rdi, r14, 0x68
mov rcx, qword [r8 + rdi + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x14007d26a
lea rax, [r8 + rdi]
add rax, 0x40
test rcx, rcx
je 0x14007d25c
cmp qword [rax + 0x10], r11
jne 0x14007d26a
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x70]
mov r8, r11
call sub.msvcrt.dll_memcmp
mov r8, qword [rsp + 0x80]
mov r11, qword [rsp + 0x88]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x30]
test eax, eax
jne 0x14007d26a
lea r15, [r8 + rdi]
lea rcx, [rsp + 0x8b8]
cmp qword [r8 + rdi], 0
je 0x14007d6b6
mov rbx, qword [r15 + 0x10]
mov rsi, qword [rsp + 0x8c8]
mov rax, rsi
cmp rsi, qword [rsp + 0x8c0]
jne 0x14007d37c
mov rdx, rsi
mov rdi, r10
mov r12, r11
call fcn.140126d50
mov r11, r12
mov r10, rdi
mov rax, qword [rsp + 0x8c8]
mov rcx, qword [rsp + 0x8b8]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 1
mov qword [rcx + rdx*8 + 8], rbx
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r14
movdqa xmm0, xmmword [rsp + 0x3a0]
movdqa xmm1, xmmword [rsp + 0x3b0]
movdqu xmmword [rcx + rdx*8 + 0x20], xmm0
movdqu xmmword [rcx + rdx*8 + 0x30], xmm1
mov byte [rcx + rdx*8 + 0x40], 1
lea r9, [rsp + 0x441]
mov r8d, dword [r9]
mov r9d, dword [r9 + 3]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x8c8], rax
cmp rbx, rax
jae 0x14007d7b9
lea rax, [rbx + rbx*8]
mov qword [rcx + rax*8 + 0x10], 1
mov qword [rcx + rax*8 + 0x18], rsi
mov qword [r15], 1
mov qword [r15 + 0x10], rsi
jmp 0x14007d764
cmp r9, 0x8000
jae 0x14007d7b9
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
mov rax, r9
cmp r9, qword [rsp + 0x8a8]
jne 0x14007d47c
lea rcx, [rsp + 0x8a0]
mov rdx, r9
call fcn.14004a8d0
mov r9, qword [rsp + 0x30]
mov rax, qword [rsp + 0x8b0]
mov rbp, qword [rsp + 0x898]
mov r8, qword [rsp + 0x8a0]
imul rcx, rax, 0x68
mov qword [r8 + rcx], 0
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmm1, xmmword [rsp + 0x3b0]
movups xmmword [r8 + rcx + 0x18], xmm0
movups xmmword [r8 + rcx + 0x28], xmm1
mov byte [r8 + rcx + 0x38], 1
lea rdx, [rsp + 0x441]
mov r10, r8
mov r8, rdx
mov edx, dword [rdx]
mov r8d, dword [r8 + 3]
mov dword [r10 + rcx + 0x39], edx
mov dword [r10 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x300]
movdqa xmm1, xmmword [rsp + 0x310]
movdqu xmmword [r10 + rcx + 0x40], xmm0
movdqu xmmword [r10 + rcx + 0x50], xmm1
mov word [r10 + rcx + 0x60], si
inc rax
mov qword [rsp + 0x8b0], rax
cmp r13, rbp
jae 0x14007d7b9
mov rax, qword [rsp + 0x890]
mov word [rax + r13*4], r9w
mov word [rax + r13*4 + 2], si
jmp 0x14007d6a1
cmp rbx, 0x200
setae r14b
cmp qword [rsp + 0x878], 2
setne bl
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
cmp r9, 0x8000
jae 0x14007d7b9
mov rax, r9
cmp r9, qword [rsp + 0x8a8]
jne 0x14007d5a0
lea rcx, [rsp + 0x8a0]
mov rdx, r9
call fcn.14004a8d0
mov r9, qword [rsp + 0x30]
mov rax, qword [rsp + 0x8b0]
mov r8, qword [rsp + 0x8a0]
mov r12, qword [rsp + 0x890]
mov rbp, qword [rsp + 0x898]
and r14b, bl
imul rcx, rax, 0x68
mov qword [r8 + rcx], 0
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmm1, xmmword [rsp + 0x3b0]
movups xmmword [r8 + rcx + 0x18], xmm0
movups xmmword [r8 + rcx + 0x28], xmm1
mov byte [r8 + rcx + 0x38], 1
lea rdx, [rsp + 0x441]
mov r10, r8
mov r8, rdx
mov edx, dword [rdx]
mov r8d, dword [r8 + 3]
mov dword [r10 + rcx + 0x39], edx
mov dword [r10 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x300]
movdqa xmm1, xmmword [rsp + 0x310]
movdqu xmmword [r10 + rcx + 0x40], xmm0
movdqu xmmword [r10 + rcx + 0x50], xmm1
mov word [r10 + rcx + 0x60], si
inc rax
mov qword [rsp + 0x8b0], rax
xor eax, eax
nop word cs:[rax + rax]
mov rcx, r13
mov r13d, 0
cmp rcx, rbp
jae 0x14007d630
movzx edx, word [r12 + rcx*4]
cmp dx, 0xffff
je 0x14007d66b
inc rax
movzx r8d, word [r12 + rcx*4 + 2]
mov word [r12 + rcx*4], r9w
mov word [r12 + rcx*4 + 2], si
inc rcx
mov esi, r8d
mov r9d, edx
mov r13, rcx
jmp 0x14007d630
mov word [r12 + rcx*4], r9w
mov word [r12 + rcx*4 + 2], si
mov rcx, qword [rsp + 0x878]
test rcx, rcx
mov edx, 1
cmovne rdx, rcx
cmp rax, 0x7f
cmova rcx, rdx
test r14b, r14b
cmovne rcx, rdx
mov qword [rsp + 0x878], rcx
lea rcx, [rsp + 0xba0]
lea rdx, [rsp + 0x850]
jmp 0x14007b540
mov rbx, r11
mov rdi, r10
mov rsi, qword [rsp + 0x8c8]
mov rax, rsi
cmp rsi, qword [rsp + 0x8c0]
jne 0x14007d6e1
mov rdx, rsi
call fcn.140126d50
mov rax, qword [rsp + 0x8c8]
mov rcx, qword [rsp + 0x8b8]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 0
mov qword [rcx + rdx*8 + 8], r14
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r14
movdqa xmm0, xmmword [rsp + 0x3a0]
movdqa xmm1, xmmword [rsp + 0x3b0]
movdqu xmmword [rcx + rdx*8 + 0x20], xmm0
movdqu xmmword [rcx + rdx*8 + 0x30], xmm1
mov byte [rcx + rdx*8 + 0x40], 1
lea r9, [rsp + 0x441]
mov r8d, dword [r9]
mov r9d, dword [r9 + 3]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x8c8], rax
mov qword [r15], 1
mov qword [r15 + 8], rsi
mov qword [r15 + 0x10], rsi
mov r10, rdi
mov r11, rbx
test r10, r10
je 0x14007d6a1
lea rcx, [rsp + 0xc8]
mov rdx, qword [rsp + 0x70]
mov r8, r11
call qword [r10 + 0x10]
jmp 0x14007d6a1
add rcx, 0x10
xor edx, edx
call fcn.1401c1580
ud2
lock dec qword [r13]
jne 0x14007d7b9
mov rcx, r13
call fcn.1401bf890
jmp 0x14007d7b9
mov rcx, rsi
call fcn.140182880
jmp 0x14007d7bd
mov ecx, 7
int 0x29
ud2
ud2
call fcn.14003bc00
ud2
cmp r13d, 4
jne 0x14007e8fc
test r14, r14
je 0x14007e97b
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x420], xmm0
movzx eax, byte [rsp + 0x180]
mov byte [rsp + 0x430], al
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
mov dword [rsp + 0x1b3], ecx
mov dword [rsp + 0x1b0], eax
cmp dword [r14], 2
je 0x14007ea1a
cmp qword [r14 + 0x18], 0
je 0x14007ea1a
mov r8, qword [r14 + 0x10]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x14007ea1a
lock inc qword [rbx]
jle 0x14007d7b9
mov rsi, qword [rsp + 0x148]
mov qword [rsi], r13
mov qword [rsi + 8], r14
lea rcx, [rsi + 0x10]
lea rdx, [rsp + 0x9d0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x190]
mov qword [rsi + 0x98], rax
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0xa0], eax
mov qword [rsi + 0xa8], 0
mov qword [rsi + 0xb8], rbx
test rdi, rdi
je 0x14007ead3
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, qword [rsp + 0x140]
call sub.kernel32.dll_HeapFree
jmp 0x14007ead3
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007e9a6
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14007d7b9
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14007d7b9
mov r14, rax
mov dword [rax], 2
mov qword [rax + 0x58], 1
lea rax, [0x1402a0478]
mov qword [r14 + 0x60], rax
mov word [r14 + 0x68], 1
mov eax, dword [rsp + 0x300]
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x303]
mov dword [rsp + 0x1b3], eax
movzx eax, byte [rsp + 0x180]
mov byte [rsp + 0x430], al
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x420], xmm0
mov eax, dword [rsp + 0x54]
mov dword [r14], eax
mov eax, dword [rsp + 0x58]
mov dword [r14 + 4], eax
mov eax, dword [rsp + 0x5c]
mov dword [r14 + 8], eax
mov eax, dword [rsp + 0x64]
mov dword [r14 + 0xc], eax
mov rax, qword [rsp + 0x140]
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rdi
mov qword [r14 + 0x20], rdi
movzx eax, word [rsp + 0x2c]
mov word [r14 + 0x28], ax
movzx eax, word [rsp + 0x2e]
mov word [r14 + 0x2a], ax
mov eax, dword [rsp + 0x68]
mov dword [r14 + 0x2c], eax
mov eax, dword [rsp + 0x6c]
mov dword [r14 + 0x30], eax
mov eax, dword [rsp + 0x80]
mov dword [r14 + 0x34], eax
mov eax, dword [rsp + 0x88]
mov dword [r14 + 0x38], eax
mov eax, dword [rsp + 0x60]
mov dword [r14 + 0x3c], eax
movdqa xmm0, xmmword [rsp + 0x420]
movdqu xmmword [r14 + 0x40], xmm0
movzx eax, byte [rsp + 0x430]
mov byte [r14 + 0x50], al
mov eax, dword [rsp + 0x1b0]
mov ecx, dword [rsp + 0x1b3]
mov dword [r14 + 0x51], eax
mov dword [r14 + 0x54], ecx
mov rax, qword [rsp + 0x148]
mov qword [rax + 8], r14
mov qword [rax], 3
mov rax, qword [rsp + 0xcd8]
lock dec qword [rax]
jne 0x14007eaee
lea rcx, [rsp + 0xcd8]
call fcn.14014df30
mov rax, qword [rsp + 0x9b8]
lock dec qword [rax]
jne 0x14007eb09
lea rcx, [rsp + 0x9b8]
call fcn.140077b00
movaps xmm6, xmmword [rsp + 0xcf0]
movaps xmm7, xmmword [rsp + 0xd00]
movaps xmm8, xmmword [rsp + 0xd10]
add rsp, 0xd28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.kernel32.dll_GetLastError
ud2