Function at 0x1400a9b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
mov qword [rsp + 0x1c8], r9
mov qword [rsp + 0x68], rdx
mov r9, rcx
cmp byte [r8 + 0x10], 2
mov qword [rsp + 0x40], rcx
jne 0x1400a9dc4
cmp qword [r9 + 0x58], 0
je 0x1400a9dc4
mov qword [rsp + 0x48], r8
mov rcx, qword [r9 + 0x60]
mov rdx, qword [r9 + 0x68]
mov rsi, qword [rsp + 0x68]
mov r8, rsi
mov rdi, r9
call fcn.1400a9850
mov rcx, qword [rdi + 0x40]
mov rdx, qword [rdi + 0x48]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx ebx, byte [rsi]
mov r8, qword [rsi + 8]
mov qword [rsp + 0x60], r8
movzx r8d, byte [rsi + 1]
mov byte [rsp + 0x70], r8b
mov r11, qword [rsi + 0x18]
mov rdi, qword [rsi + 0x20]
mov qword [rsp + 0x58], rdi
neg rdi
xor r8d, r8d
mov qword [rsp + 0x50], r8
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x30], rcx
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r10d, xmm3
test r10d, r10d
jne 0x1400a9c5e
mov rcx, qword [rsp + 0x30]
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
jne 0x1400a9dc4
mov r8, qword [rsp + 0x50]
add rax, r8
add rax, 0x10
add r8, 0x10
mov qword [rsp + 0x50], r8
jmp 0x1400a9be9
test r10b, r10b
je 0x1400aaf6b
lea r10d, [r15 - 1]
and r10d, r15d
test r10w, r10w
mov rdx, r8
mov rbx, qword [rsp + 0x78]
je 0x1400a9c03
mov r15d, r10d
tzcnt r10d, r15d
add r10, rax
mov r8, rdx
and r10, rdx
neg r10
lea r10, [r10 + r10*8]
mov rcx, qword [rsp + 0x30]
lea r12, [rcx + r10*8]
cmp ebx, 1
je 0x1400a9d20
cmp ebx, 2
jne 0x1400aaf6b
movzx r10d, byte [r12 - 0x48]
cmp r10b, 2
jne 0x1400a9c40
mov rcx, qword [rsp + 0x60]
mov r10, qword [rcx + 0x10]
mov rsi, qword [r12 - 0x40]
cmp r10, qword [rsi + 0x10]
jne 0x1400a9c49
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rcx + 8]
mov rbx, qword [rsi + 8]
mov r13, r10
neg r13
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
lea r9, [rsi + r13]
cmp r9, 0xffffffffffffffff
je 0x1400a9d50
movzx r9d, byte [rbp + rsi + 1]
movzx r14d, byte [rbx + rsi + 1]
lea ecx, [r9 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea edx, [r14 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or cl, r9b
or dl, r14b
inc rsi
cmp cl, dl
je 0x1400a9cd0
cmp rsi, r10
jb 0x1400a9c49
jmp 0x1400a9d50
movzx r10d, byte [r12 - 0x48]
cmp r10b, 1
jne 0x1400a9c40
movzx r10d, byte [r12 - 0x47]
cmp byte [rsp + 0x70], 0
je 0x1400a9d47
test r10b, r10b
jne 0x1400a9d50
jmp 0x1400a9c49
test r10b, r10b
jne 0x1400a9c49
mov rcx, qword [rsp + 0x58]
cmp rcx, qword [r12 - 0x28]
jne 0x1400a9c49
mov rsi, qword [r12 - 0x30]
mov r10, 0xffffffffffffffff
nop dword [rax]
lea rcx, [rdi + r10]
cmp rcx, 0xffffffffffffffff
je 0x1400a9dba
movzx ecx, byte [r11 + r10 + 1]
movzx edx, byte [rsi + r10 + 1]
lea r9d, [rcx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r9b, cl
or bl, dl
inc r10
cmp r9b, bl
je 0x1400a9d70
cmp r10, qword [rsp + 0x58]
jb 0x1400a9c49
mov rcx, qword [rsp + 0x48]
jmp 0x1400aac85
mov rax, qword [r8 + 0x30]
mov qword [rsp + 0x130], rax
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmm2, xmmword [r8 + 0x20]
movdqa xmmword [rsp + 0x120], xmm2
movdqa xmmword [rsp + 0x110], xmm1
movdqa xmmword [rsp + 0x100], xmm0
lea rcx, [r9 + 0x70]
mov qword [rsp + 0x1d0], rcx
mov rdx, qword [rsp + 0x68]
call fcn.1400a91c0
test rax, rax
je 0x1400aa3fd
mov r15, rax
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1400aa3bf
xor esi, esi
jmp 0x1400a9eb5
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], r14
mov byte [rsp + 0x110], sil
mov eax, dword [rsp + 0x150]
mov ecx, dword [rsp + 0x153]
lea rdx, [rsp + 0x132]
mov dword [rdx - 0x1e], ecx
mov dword [rdx - 0x21], eax
mov qword [rsp + 0x118], rbp
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x128], rbx
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x130], al
mov byte [rsp + 0x131], r12b
movzx eax, word [rsp + 0x3c]
mov word [rdx + 4], ax
mov eax, dword [rsp + 0x38]
mov dword [rdx], eax
xor esi, esi
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x1400aa3bf
mov rcx, qword [r15 + 0x10]
lea rdx, [rcx + 1]
mov r8, qword [r15]
mov r9, qword [r15 + 8]
cmp rdx, r8
cmovb r8, rsi
neg r8
lea rdx, [rcx + r8]
inc rdx
mov qword [r15 + 0x10], rdx
dec rax
mov qword [r15 + 0x18], rax
mov r13, qword [r9 + rcx*8]
movzx eax, byte [r13 + 0x80]
test al, al
je 0x1400a9f50
mov al, 1
xchg byte [r13 + 0x80], al
mov al, 1
xchg byte [r13 + 0x60], al
test al, al
jne 0x1400a9f24
mov rax, qword [r13 + 0x50]
mov rcx, qword [r13 + 0x58]
mov qword [r13 + 0x50], 0
mov edx, 0
xchg byte [r13 + 0x60], dl
test rax, rax
je 0x1400a9f24
call qword [rax + 8]
mov al, 1
xchg byte [r13 + 0x78], al
test al, al
je 0x1400aa000
lock dec qword [r13]
jne 0x1400a9ea8
jmp 0x1400aa029
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rbp
movzx r12d, byte [rsp + 0x131]
mov byte [rsp + 0x131], 2
cmp r12b, 2
je 0x1400aaf85
mov r9, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
movzx esi, byte [rsp + 0x110]
mov rbp, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
movzx r11d, byte [rsp + 0x130]
cmp sil, 2
jne 0x1400aa036
mov byte [rsp + 0x140], r11b
mov byte [rsp + 0x148], sil
test rbp, rbp
je 0x1400aa09e
mov rcx, rbp
mov esi, r12d
mov r12, r9
call qword [rdi + 0x18]
mov r9, r12
mov r12d, esi
lock inc qword [rbx]
jg 0x1400aa0aa
jmp 0x1400aaf83
mov rax, qword [r13 + 0x68]
mov rcx, qword [r13 + 0x70]
mov qword [r13 + 0x68], 0
test rax, rax
je 0x1400aa018
call qword [rax + 0x18]
xor eax, eax
xchg byte [r13 + 0x78], al
lock dec qword [r13]
jne 0x1400a9ea8
mov rcx, r13
call fcn.1400a2770
jmp 0x1400a9ea8
lea r8, [rsp + 0x132]
movzx eax, word [r8 + 4]
mov word [rsp + 0x154], ax
mov ecx, dword [r8]
mov dword [rsp + 0x150], ecx
mov edx, dword [r8 - 0x21]
mov r8d, dword [r8 - 0x1e]
mov dword [rsp + 0x80], edx
mov dword [rsp + 0x83], r8d
mov edx, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x83]
mov dword [rsp + 0x190], edx
mov dword [rsp + 0x193], r8d
mov dword [rsp + 0xf8], ecx
mov word [rsp + 0xfc], ax
jmp 0x1400aa12c
xor eax, eax
lock inc qword [rbx]
jle 0x1400aaf83
lock inc qword [r9]
movzx esi, byte [rsp + 0x148]
movzx r11d, byte [rsp + 0x140]
jle 0x1400aaf83
lock inc qword [r14 + 0x1d0]
lock inc qword [r14]
jle 0x1400aaf83
lea r8, [rsp + 0x132]
movzx ecx, word [r8 + 4]
mov word [rsp + 0x154], cx
mov ecx, dword [r8]
mov dword [rsp + 0x150], ecx
mov qword [rsp + 0x118], rbp
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x128], rbx
mov byte [rsp + 0x130], r11b
mov byte [rsp + 0x110], 2
mov byte [rsp + 0x131], r12b
mov rbp, rax
mov rdi, rdx
mov eax, dword [rsp + 0x190]
mov ecx, dword [rsp + 0x193]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x83], ecx
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x28], eax
movzx eax, word [rsp + 0xfc]
mov word [rsp + 0x2c], ax
movzx eax, byte [r13 + 0x80]
test al, al
jne 0x1400aa17a
mov al, 1
xchg byte [r13 + 0x48], al
test al, al
je 0x1400aa293
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x83]
mov dword [rsp + 0x153], ecx
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x2c]
mov word [rsp + 0x3c], ax
mov byte [rsp + 0x78], r11b
mov qword [rsp + 0x30], r9
mov al, 1
xchg byte [r13 + 0x80], al
mov al, 1
xchg byte [r13 + 0x60], al
test al, al
jne 0x1400aa1e6
mov rax, qword [r13 + 0x50]
mov rcx, qword [r13 + 0x58]
mov qword [r13 + 0x50], 0
mov edx, 0
xchg byte [r13 + 0x60], dl
test rax, rax
je 0x1400aa1e6
call qword [rax + 8]
mov al, 1
xchg byte [r13 + 0x78], al
test al, al
je 0x1400aa22d
lock dec qword [r13]
jne 0x1400aa260
mov rcx, r13
call fcn.1400a2770
movzx ecx, byte [rsp + 0x131]
cmp r12b, 2
mov byte [rsp + 0x48], sil
je 0x1400aa273
cmp cl, 2
je 0x1400a9e32
lea rcx, [rsp + 0x100]
call fcn.1400a27e0
jmp 0x1400a9e32
mov rax, qword [r13 + 0x68]
mov rcx, qword [r13 + 0x70]
mov qword [r13 + 0x68], 0
test rax, rax
je 0x1400aa245
call qword [rax + 0x18]
xor eax, eax
xchg byte [r13 + 0x78], al
lock dec qword [r13]
je 0x1400aa1f7
nop word cs:[rax + rax]
movzx ecx, byte [rsp + 0x131]
cmp r12b, 2
mov byte [rsp + 0x48], sil
jne 0x1400aa212
mov rax, qword [r15 + 0x18]
cmp cl, 2
je 0x1400aa3ba
test rax, rax
mov esi, 0
jne 0x1400a9eb5
jmp 0x1400aa3bf
cmp byte [r13 + 0x41], 2
jne 0x1400aafa2
mov qword [r13 + 0x10], r9
mov qword [r13 + 0x18], r14
mov byte [r13 + 0x20], sil
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x83]
mov dword [r13 + 0x21], eax
mov dword [r13 + 0x24], ecx
mov qword [r13 + 0x28], rbp
mov qword [r13 + 0x30], rdi
mov qword [r13 + 0x38], rbx
mov byte [r13 + 0x40], r11b
mov byte [r13 + 0x41], r12b
mov eax, dword [rsp + 0x28]
mov dword [r13 + 0x42], eax
movzx eax, word [rsp + 0x2c]
mov word [r13 + 0x46], ax
xor eax, eax
xchg byte [r13 + 0x48], al
movzx eax, byte [r13 + 0x80]
mov r12b, 2
test al, al
je 0x1400aa340
mov al, 1
xchg byte [r13 + 0x48], al
test al, al
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x48]
jne 0x1400aa1b2
movzx r12d, byte [r13 + 0x41]
mov byte [r13 + 0x41], 2
cmp r12b, 2
jne 0x1400aa35e
xor eax, eax
xchg byte [r13 + 0x48], al
mov r12b, 2
jmp 0x1400aa1b2
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x48]
jmp 0x1400aa1b2
lea rax, [r13 + 0x21]
lea rcx, [r13 + 0x42]
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x30], rdx
mov r14, qword [r13 + 0x18]
movzx esi, byte [r13 + 0x20]
mov edx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0x153], eax
mov dword [rsp + 0x150], edx
mov rbp, qword [r13 + 0x28]
mov rdi, qword [r13 + 0x30]
mov rbx, qword [r13 + 0x38]
movzx eax, byte [r13 + 0x40]
mov byte [rsp + 0x78], al
movzx eax, word [rcx + 4]
mov word [rsp + 0x3c], ax
mov eax, dword [rcx]
mov dword [rsp + 0x38], eax
xor eax, eax
xchg byte [r13 + 0x48], al
jmp 0x1400aa1b2
test rax, rax
jne 0x1400aa3fd
lea rcx, [rsp + 0x80]
mov rdx, qword [rsp + 0x1d0]
mov r8, qword [rsp + 0x68]
call fcn.1400a9440
movabs rax, 0x7fffffffffffffff
inc rax
cmp qword [rsp + 0x80], rax
je 0x1400aa3fd
lea rcx, [rsp + 0x80]
call fcn.1400a2570
cmp byte [rsp + 0x131], 2
je 0x1400aac8a
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x180], rax
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmm1, xmmword [rsp + 0x110]
movdqa xmm2, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x170], xmm2
movdqa xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
mov r8, qword [rsp + 0x68]
movzx eax, byte [r8]
test rax, rax
je 0x1400aa46b
cmp eax, 1
jne 0x1400aa46f
movzx ecx, byte [r8 + 1]
mov al, 1
jmp 0x1400aa4d6
xor eax, eax
jmp 0x1400aa4d6
movzx eax, byte [0x140222418]
mov rcx, qword [0x140222380]
test rcx, rcx
jne 0x1400aa49a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400aafba
mov rcx, rax
mov qword [0x140222380], rax
mov r8d, 0x20
xor edx, edx
call fcn.140167f74
test rax, rax
je 0x1400aafba
mov r14, rax
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsi + 8]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
mov rcx, r14
call qword [r10]
mov r8, rsi
mov al, 2
mov byte [rsp + 0x80], al
mov byte [rsp + 0x81], cl
mov qword [rsp + 0x88], r14
lea rcx, [rsp + 0x90]
lea rdx, [r8 + 0x28]
mov rax, qword [r8 + 0x10]
mov r9, r8
mov r8, qword [r8 + 0x18]
mov r9, qword [r9 + 0x20]
call qword [rax]
mov rsi, qword [rsp + 0x40]
lea rax, [rsi + 0x40]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsi + 0x60]
mov rdx, qword [rsi + 0x68]
lea r8, [rsp + 0x80]
call fcn.1400a9850
mov r13, rax
mov r11, qword [rsi + 0x40]
mov rcx, qword [rsi + 0x48]
shr rax, 0x39
mov qword [rsp + 0x148], rax
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx edx, byte [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0x81]
mov byte [rsp + 0x70], al
mov r10, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rbx
neg rbx
xor eax, eax
mov qword [rsp + 0x50], rax
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x140], r13
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x78], rcx
and r13, rcx
movdqu xmm2, xmmword [r11 + r13]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r9d, xmm3
test r9d, r9d
jne 0x1400aa618
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
jne 0x1400aab4d
mov rax, qword [rsp + 0x50]
add r13, rax
add r13, 0x10
add rax, 0x10
mov qword [rsp + 0x50], rax
jmp 0x1400aa5ab
cmp edx, 1
je 0x1400aa6d0
test edx, edx
je 0x1400aaf6b
lea r9d, [rbp - 1]
and r9d, ebp
test r9w, r9w
mov r11, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
je 0x1400aa5c6
mov ebp, r9d
tzcnt r9d, ebp
add r9, r13
and r9, rcx
neg r9
lea r9, [r9 + r9*8]
lea rdi, [r11 + r9*8]
movzx r9d, byte [r11 + r9*8 - 0x48]
cmp r9, 1
je 0x1400aa5f0
cmp r9d, 2
jne 0x1400aaf6b
cmp edx, 2
jne 0x1400aa5f9
mov r11, qword [rdi - 0x40]
mov r9, qword [r11 + 0x10]
mov rax, qword [rsp + 0x60]
cmp r9, qword [rax + 0x10]
jne 0x1400aa601
mov rsi, qword [r11 + 8]
mov rax, qword [rsp + 0x60]
mov r12, qword [rax + 8]
mov r15, r9
neg r15
mov r11, 0xffffffffffffffff
nop dword [rax]
lea r8, [r15 + r11]
cmp r8, 0xffffffffffffffff
je 0x1400aa6f0
movzx r8d, byte [rsi + r11 + 1]
movzx r14d, byte [r12 + r11 + 1]
lea ecx, [r8 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea eax, [r14 - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or cl, r8b
or al, r14b
inc r11
cmp cl, al
je 0x1400aa680
cmp r11, r9
jb 0x1400aa601
jmp 0x1400aa6f0
cmp byte [rdi - 0x47], 0
je 0x1400aa6e2
cmp byte [rsp + 0x70], 0
jne 0x1400aa6f0
jmp 0x1400aa601
cmp byte [rsp + 0x70], 0
jne 0x1400aa601
nop dword [rax]
mov rax, qword [rsp + 0x58]
cmp qword [rdi - 0x28], rax
jne 0x1400aa601
mov r11, qword [rdi - 0x30]
mov r9, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [rbx + r9]
cmp rax, 0xffffffffffffffff
je 0x1400aa75e
movzx eax, byte [r11 + r9 + 1]
movzx ecx, byte [r10 + r9 + 1]
lea r8d, [rax - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea esi, [rcx - 0x41]
cmp sil, 0x1a
setb sil
shl sil, 5
or r8b, al
or sil, cl
inc r9
cmp r8b, sil
je 0x1400aa710
cmp r9, qword [rsp + 0x58]
jb 0x1400aa601
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x1b0], xmm2
movdqa xmmword [rsp + 0x1a0], xmm1
movdqa xmmword [rsp + 0x190], xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xb0], rdi
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xb8], rax
movzx eax, byte [rsp + 0x80]
cmp al, 3
je 0x1400aa822
cmp al, 2
jb 0x1400aa7ff
mov r14, qword [rsp + 0x88]
lea rcx, [r14 + 0x18]
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140222380]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
lea rcx, [rsp + 0xa8]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
call qword [rax + 0x10]
mov r9, qword [rsp + 0x40]
mov rax, qword [r9 + 0xa0]
cmp rax, qword [rdi - 8]
jbe 0x1400aac7d
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xb0], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
call fcn.1401164b0
mov r14, rax
mov ebp, edx
mov rdx, qword [rdi - 8]
cmp rdx, qword [rdi - 0x18]
jne 0x1400aa899
lea rcx, [rdi - 0x18]
call fcn.14004fa90
mov rdx, qword [rdi - 8]
mov rax, qword [rdi - 0x10]
lea rcx, [rdx + rdx*8]
mov r8, qword [rsp + 0xb0]
mov qword [rax + rcx*8 + 0x30], r8
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmmword [rsp + 0xa0]
movdqu xmmword [rax + rcx*8 + 0x20], xmm2
movdqu xmmword [rax + rcx*8 + 0x10], xmm1
movdqu xmmword [rax + rcx*8], xmm0
mov qword [rax + rcx*8 + 0x38], r14
mov dword [rax + rcx*8 + 0x40], ebp
inc rdx
mov qword [rdi - 8], rdx
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0xa8], 0
jne 0x1400aac8a
mov esi, dword [rax + 0xb8]
cmp esi, 0x3b9aca00
je 0x1400aac8a
mov r13, qword [rax + 0xb0]
movzx eax, byte [0x140222418]
mov rcx, qword [0x140222380]
test rcx, rcx
jne 0x1400aa941
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400aafc9
mov rcx, rax
mov qword [0x140222380], rax
mov r8d, 0x48
xor edx, edx
call fcn.140167f74
test rax, rax
je 0x1400aafc9
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov byte [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov byte [rax + 0x38], 0
mov word [rax + 0x40], 0
lock inc qword [rax]
jle 0x1400aaf83
mov rax, qword [rsp + 0x40]
mov qword [rax + 0xa8], r14
test r13, r13
jne 0x1400aa9aa
test esi, esi
je 0x1400aafe7
call fcn.1401164b0
mov r8d, edx
lea r9, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.33.0_src_time_interval.rs
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.140147cd0
movzx eax, byte [0x140222418]
mov rcx, qword [0x140222380]
test rcx, rcx
jne 0x1400aa9f4
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400aafd8
mov rcx, rax
mov qword [0x140222380], rax
mov r8d, 0x70
xor edx, edx
call fcn.140167f74
test rax, rax
je 0x1400aafd8
mov r15, rax
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rax + 0x60], xmm0
movups xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x50], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x40], xmm0
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xa0]
movdqu xmm3, xmmword [rsp + 0xb0]
movdqu xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov rax, qword [rsp + 0x1c8]
mov rbp, qword [rax]
mov rdx, qword [rsp + 0x40]
jmp 0x1400aaa7c
pause
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x1400aaa7a
test rax, rax
js 0x1400aaf9d
lea rcx, [rax + 1]
lock cmpxchg qword [rbp + 8], rcx
jne 0x1400aaa80
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x83]
mov dword [rsp + 0x2b], ecx
mov dword [rsp + 0x28], eax
mov rbx, qword [rdx]
test rbx, rbx
je 0x1400aace9
mov rdi, qword [rdx + 8]
mov r12, qword [rdi + 0x10]
movzx eax, byte [0x140222418]
mov rcx, qword [0x140222380]
test rcx, rcx
jne 0x1400aaaf0
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400ab032
mov rcx, rax
mov qword [0x140222380], rax
mov r8d, 0x30
xor edx, edx
call fcn.140167f74
test rax, rax
je 0x1400ab032
dec r12
and r12, 0xfffffffffffffff0
lea rcx, [r12 + rbx]
add rcx, 0x10
mov qword [rax], r13
mov dword [rax + 8], esi
mov qword [rax + 0x10], r15
mov byte [rax + 0x18], 0
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2b]
mov dword [rax + 0x19], edx
mov dword [rax + 0x1c], r8d
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], rbp
lea r8, fcn.1400ab870
mov rdx, rax
call qword [rdi + 0x18]
jmp 0x1400aac8a
mov r9, qword [rsp + 0x40]
cmp qword [r9 + 0x50], 0
je 0x1400aaf4b
movups xmm0, xmmword [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x1b0], xmm2
movdqa xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x140]
and rax, rcx
movdqu xmm0, xmmword [r11 + rax]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400aabc8
mov r8d, 0x10
add rax, r8
and rax, rcx
movdqu xmm0, xmmword [r11 + rax]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400aabb0
tzcnt edx, edx
add rdx, rax
and rdx, rcx
movzx r8d, byte [r11 + rdx]
test r8b, r8b
js 0x1400aabee
movdqa xmm0, xmmword [r11]
pmovmskb eax, xmm0
tzcnt edx, eax
movzx r8d, byte [r11 + rdx]
lea rax, [rdx - 0x10]
and rax, rcx
mov rcx, qword [rsp + 0x148]
mov byte [r11 + rdx], cl
mov byte [rax + r11 + 0x10], cl
neg rdx
lea rax, [rdx + rdx*8]
lea rdi, [r11 + rax*8]
and r8b, 1
movzx ecx, r8b
sub qword [r9 + 0x50], rcx
movdqa xmm0, xmmword [rsp + 0x190]
movdqa xmm1, xmmword [rsp + 0x1a0]
movdqa xmm2, xmmword [rsp + 0x1b0]
movdqu xmmword [r11 + rax*8 - 0x28], xmm2
movdqu xmmword [r11 + rax*8 - 0x38], xmm1
movdqu xmmword [r11 + rax*8 - 0x48], xmm0
mov qword [r11 + rax*8 - 0x18], 0
mov qword [r11 + rax*8 - 0x10], 8
mov qword [r11 + rax*8 - 8], 0
inc qword [r9 + 0x58]
mov rax, qword [r9 + 0xa0]
cmp rax, qword [rdi - 8]
ja 0x1400aa838
lea rcx, [rsp + 0x150]
call fcn.1400a27e0
mov r8, qword [rsp + 0x68]
cmp byte [r8], 2
jb 0x1400aacc1
mov rdi, qword [r8 + 8]
lea rcx, [rdi + 0x18]
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140222380]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov r8, qword [rsp + 0x68]
lea rcx, [r8 + 0x28]
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8 + 0x18]
mov r8, qword [r8 + 0x20]
call qword [rax + 0x10]
nop
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
lock xadd qword [0x14016b2c0], rax
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x88], esi
mov qword [rsp + 0x90], r15
mov byte [rsp + 0x98], 0
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2b]
mov dword [rsp + 0x99], eax
mov dword [rsp + 0x9c], ecx
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rbp
lea rax, [rsp + 0x190]
mov qword [rsp + 0xb0], rax
call fcn.1400a10d0
test rax, rax
je 0x1400ab041
mov rdi, rax
mov rax, qword [rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jae 0x1400ab06b
inc rax
mov qword [rdi], rax
mov rax, qword [rdi + 8]
cmp rax, 2
je 0x1400ab077
mov rcx, qword [rsp + 0x190]
test rax, rax
mov qword [rsp + 0x30], rcx
je 0x1400aae6b
mov r12, qword [rdi + 0x10]
lock inc qword [r12]
jle 0x1400aaf83
movzx eax, byte [0x140222418]
mov ecx, pe_nt_image_headers64
mov edx, pe_nt_image_headers64
call fcn.14007c940
test rax, rax
je 0x1400ab0a4
mov rbx, rax
lea rcx, [r12 + 0x70]
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x1401dd4e0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], r13
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x40], r15
mov byte [rbx + 0x48], 0
mov eax, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2b]
mov dword [rbx + 0x49], eax
mov dword [rbx + 0x4c], edx
mov qword [rbx + 0x50], r14
mov qword [rbx + 0x58], rbp
pxor xmm0, xmm0
movdqa xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], 0
mov rdx, rbx
mov r8, rbx
call fcn.1400a12c0
test rax, rax
je 0x1400aaf24
add r12, 0x10
mov rcx, r12
mov rdx, rax
xor r8d, r8d
call fcn.1401453d0
jmp 0x1400aaf24
mov r12, qword [rdi + 0x10]
lock inc qword [r12]
jle 0x1400aaf83
movzx eax, byte [0x140222418]
mov ecx, pe_nt_image_headers64
mov edx, pe_nt_image_headers64
call fcn.14007c940
test rax, rax
je 0x1400ab0a4
mov rbx, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x1401dd800]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
add r12, 0x60
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], r13
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x40], r15
mov byte [rbx + 0x48], 0
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2b]
mov dword [rbx + 0x49], eax
mov dword [rbx + 0x4c], ecx
mov qword [rbx + 0x50], r14
mov qword [rbx + 0x58], rbp
pxor xmm0, xmm0
movdqa xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], 0
mov rcx, r12
mov rdx, rbx
mov r8, rbx
call fcn.1400a12c0
test rax, rax
je 0x1400aaf24
mov rcx, qword [rdi + 0x10]
mov rdx, rax
call fcn.140144140
dec qword [rdi]
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg qword [rbx], rcx
je 0x1400aac8a
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [rax + 0x20]
jmp 0x1400aac8a
lea rdx, [r9 + 0x60]
mov rcx, qword [rsp + 0x48]
call fcn.1400ab0c0
mov r9, qword [rsp + 0x40]
mov r11, qword [r9 + 0x40]
mov rcx, qword [r9 + 0x48]
jmp 0x1400aab5d
lea rcx, str.internal_error:_entered_unreachable_code_home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_crossbeam_channel_0.5.12_src_channel.rs
lea r8, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.9_src_uri_scheme.rs
mov edx, 0x28
call fcn.140036810
ud2
lea rcx, str.value_already_sent
lea r8, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.27_src_client_pool.rs
mov edx, 0x12
call fcn.14003ce90
call fcn.1400ab810
lea rcx, str.assertion_failed:_slot.is_none___home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_futures_channel_0.3.28_src_oneshot.rs
lea r8, [0x1401da0b8]
mov edx, 0x20
call fcn.140036810
mov ecx, 8
mov edx, 0x20
call fcn.1400315c0
mov ecx, 8
mov edx, 0x48
call fcn.1400315c0
mov ecx, 8
mov edx, 0x70
call fcn.1400315c0
lea rax, [0x1401e84c0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [0x14020d258]
mov qword [rsp + 0x90], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
lea rdx, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.27_src_client_pool.rs
lea rcx, [rsp + 0x80]
call fcn.140034e00
mov ecx, 8
mov edx, 0x30
call fcn.1400315c0
lea rcx, [rsp + 0x80]
call fcn.1400ab870
mov al, 1
mov byte [rsp + 0x80], al
lea rdx, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.27_src_common_exec.rs
lea rcx, [rsp + 0x80]
call fcn.1400a1490
lea rcx, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.33.0_src_runtime_context_current.rs
call fcn.14003a7f0
lea rcx, [rsp + 0x80]
call fcn.1400ab870
dec qword [rdi]
xor eax, eax
mov byte [rsp + 0x80], al
lea rdx, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.27_src_common_exec.rs
lea rcx, [rsp + 0x80]
call fcn.1400a1490
mov ecx, pe_nt_image_headers64
mov edx, pe_nt_image_headers64
call fcn.1400315c0
int3