Function at 0x180015c80
Capabilities:
Inspect section memory permissions
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, 0xb8
mov r12, rcx
mov rsi, qword [rcx]
movzx eax, byte [rsi + 0x81]
mov ebx, 0xc
cmp al, 2
je 0x180015cc7
test al, 1
je 0x180015cc7
mov rax, qword [rsi + 0x2b0]
mov rax, qword [rax + 0x168]
lea rax, [rax + rax*2]
lea rbx, [rax*2 + 0xc]
mov rdi, qword [r12 + 8]
mov rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x40]
sub rax, rdx
cmp rax, rbx
jb 0x180015cf4
test rbx, rbx
je 0x180015d74
mov rax, qword [rdi + 0x38]
cmp rbx, 8
jae 0x180015d1d
mov rcx, rbx
jmp 0x180015d59
lea rcx, [rdi + 0x30]
mov qword [rsp + 0x20], 4
mov r9d, 4
mov r8, rbx
call fcn.18010d440
mov rdx, qword [rdi + 0x40]
mov rax, qword [rdi + 0x38]
cmp rbx, 8
jb 0x180015cef
mov r8, rbx
and r8, 0xfffffffffffffff8
mov ecx, ebx
and ecx, 7
lea r9, [rax + rdx*4]
add r9, 0x10
add rdx, r8
xor r10d, r10d
movaps xmm0, xmmword [0x18012f430]
nop
movups xmmword [r9 + r10*4 - 0x10], xmm0
movups xmmword [r9 + r10*4], xmm0
add r10, 8
cmp r8, r10
jne 0x180015d40
cmp rbx, r8
je 0x180015d74
mov r8, rdx
nop dword [rax]
lea rdx, [r8 + 1]
mov dword [rax + r8*4], 0x80000000
mov r8, rdx
dec rcx
jne 0x180015d60
mov qword [rdi + 0x40], rdx
call fcn.18006ada0
lock inc qword [rax]
jle 0x180016bb0
mov rbx, rax
mov r14, rdx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
mov r15, qword [rdi + 0x28]
mov rdx, qword [rdi + 0x58]
mov rax, rdx
shl rax, 4
mov rcx, qword [rdi + 0x130]
lea r8, [rcx + rcx*4]
mov r9, qword [rdi + 0x40]
add r9, r15
add r9, qword [rdi + 0x70]
add r9, qword [rdi + 0x88]
add r9, qword [rdi + 0xa8]
add r9, qword [rdi + 0xc0]
movzx ecx, byte [rsi + 0x2b8]
mov r10d, 4
shl r10, cl
add r9, qword [rdi + 0xd0]
add rax, r14
add rax, 0x24
lea rax, [rax + r8*4]
add rax, qword [rdi + 0xe8]
add rax, qword [rdi + 0x148]
lea rax, [rax + r9*4]
add rax, r10
cmp rax, qword [rsi + 0x2c0]
jbe 0x180015e80
cmp dword [rsi + 0x40], 1
jne 0x180015e74
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x180015e74
cmp dword [rsi + 0x50], 1
jne 0x180016ceb
mov rax, qword [rsi + 0x58]
mov r8, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x180015e58
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x180015e5a
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016ceb
mov rcx, r12
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jb 0x180015f06
cmp dword [rsi + 0x40], 1
jne 0x180015eed
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x180015eed
cmp dword [rsi + 0x50], 1
jne 0x180016ceb
mov rax, qword [rsi + 0x58]
mov rdx, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x180015ed0
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 8]
mov r9, rcx
sub r9, r8
neg r9
sub rcx, r8
cmovb rcx, r9
jmp 0x180015ed2
xor ecx, ecx
add rcx, rdx
mul qword [rdi + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016ceb
mov rcx, r12
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jae 0x180016bb2
mov qword [rsp + 0x40], r14
test r14, r14
je 0x180016c08
movzx eax, byte [rbx + 0x10]
and eax, 1
mov r14, qword [rsi + 0x2b8]
and r14d, 0x3f
mov r13d, 1
mov ecx, r14d
shl r13, cl
shl eax, 0x1b
mov dword [rsp + 0x3c], eax
mov rax, qword [rdi + 0x18]
sub rax, r15
cmp rax, r13
jb 0x1800166a8
mov rax, r15
or dword [rsp + 0x3c], r15d
mov rcx, qword [rdi + 0x20]
cmp r14d, 2
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], r12
ja 0x180015f85
nop word cs:[rax + rax]
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r13
jne 0x180015f70
jmp 0x180015fb5
and r13, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r13
xor edx, edx
movaps xmm0, xmmword [0x18012f430]
nop dword [rax]
movups xmmword [rcx + rdx*4 - 0x10], xmm0
movups xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r13, rdx
jne 0x180015fa0
mov rdx, rax
or dword [rsp + 0x3c], 0x80000000
mov qword [rdi + 0x28], rdx
lea rbp, [rsi + 0x290]
mov rax, qword [rsi + 0x298]
or rax, qword [rsi + 0x2a8]
mov rcx, qword [rsi + 0x290]
or rcx, qword [rsi + 0x2a0]
or rcx, rax
je 0x1800160a4
mov eax, dword [rsp + 0x3c]
neg eax
jo 0x1800160a4
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x180016bd2
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x180016bc0
or ebx, 0x20000000
xor r12d, r12d
mov r13d, 1
xor r14d, r14d
xor r15d, r15d
jmp 0x18001604a
add r14d, 0x100
inc r15
cmp r15, 0xff
ja 0x1800160a4
xor eax, eax
mov ecx, r15d
shld rax, r13, cl
mov rdx, r15
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test r15b, 0x40
cmovne rax, r8
cmovne r8, r12
and rax, qword [rbp + rdx + 8]
and r8, qword [rbp + rdx]
or r8, rax
je 0x180016040
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov rdx, rdi
mov r8d, dword [rsp + 0x3c]
mov r9d, r14d
call fcn.180016d60
jmp 0x180016040
mov r13, qword [rsp + 0x40]
add qword [rdi + 0x148], r13
mov r12, qword [rsp + 0x50]
lock inc qword [r12]
jle 0x180016bb0
lea rax, [rdi + 0x48]
mov qword [rsp + 0x88], rax
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r15, qword [rdi + 0x58]
cmp r15, qword [rdi + 0x48]
jne 0x1800160ed
mov rcx, qword [rsp + 0x88]
call fcn.180021170
mov rax, qword [rdi + 0x50]
mov rcx, r15
shl rcx, 4
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], r14
inc r15
mov qword [rdi + 0x58], r15
lea rcx, [rdi + 0x118]
mov qword [rsp + 0x90], rcx
mov rdx, rbx
mov r8, r14
mov ebx, dword [rsp + 0x3c]
mov r9d, ebx
call fcn.180021ac0
mov dword [rsp + 0x98], ebx
lock inc qword [r12]
jle 0x180016bb0
mov rbx, r13
add rbx, 0x24
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r13
mov r15, qword [rdi + 0x28]
mov rdx, qword [rdi + 0x58]
mov rax, rdx
shl rax, 4
mov rcx, qword [rdi + 0x130]
lea r8, [rcx + rcx*4]
mov r9, qword [rdi + 0x40]
add r9, r15
add r9, qword [rdi + 0x70]
add r9, qword [rdi + 0x88]
add r9, qword [rdi + 0xa8]
add r9, qword [rdi + 0xc0]
movzx ecx, byte [rsi + 0x2b8]
mov r10d, 4
shl r10, cl
add r9, qword [rdi + 0xd0]
add rax, rbx
lea rax, [rax + r8*4]
add rax, qword [rdi + 0xe8]
add rax, qword [rdi + 0x148]
lea rax, [rax + r9*4]
add rax, r10
cmp rax, qword [rsi + 0x2c0]
jbe 0x180016233
cmp dword [rsi + 0x40], 1
jne 0x180016225
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x180016225
cmp dword [rsi + 0x50], 1
jne 0x180016d04
mov rax, qword [rsi + 0x58]
mov r8, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x180016209
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x18001620b
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016d04
mov rcx, qword [rsp + 0x48]
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jb 0x1800162bb
cmp dword [rsi + 0x40], 1
jne 0x1800162a0
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x1800162a0
cmp dword [rsi + 0x50], 1
jne 0x180016d04
mov rax, qword [rsi + 0x58]
mov rdx, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x180016283
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 8]
mov r9, rcx
sub r9, r8
neg r9
sub rcx, r8
cmovb rcx, r9
jmp 0x180016285
xor ecx, ecx
add rcx, rdx
mul qword [rdi + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016d04
mov rcx, qword [rsp + 0x48]
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jae 0x180016bb2
movzx r13d, byte [r12 + 0x10]
and r13d, 1
mov r14, qword [rsi + 0x2b8]
and r14d, 0x3f
mov r12d, 1
mov ecx, r14d
shl r12, cl
shl r13d, 0x1b
mov rax, qword [rdi + 0x18]
sub rax, r15
cmp rax, r12
jb 0x1800166cf
mov rax, r15
or r13d, r15d
mov rcx, qword [rdi + 0x20]
cmp r14d, 2
mov qword [rsp + 0xb0], rbx
ja 0x180016325
nop dword [rax + rax]
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r12
jne 0x180016310
jmp 0x180016355
and r12, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r12
xor edx, edx
movaps xmm0, xmmword [0x18012f430]
nop dword [rax]
movups xmmword [rcx + rdx*4 - 0x10], xmm0
movups xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r12, rdx
jne 0x180016340
mov rdx, rax
or r13d, 0x40000000
mov qword [rdi + 0x28], rdx
mov rax, qword [rbp + 8]
or rax, qword [rbp + 0x18]
mov rcx, qword [rbp]
or rcx, qword [rbp + 0x10]
or rcx, rax
je 0x18001639f
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x180016bda
or eax, 0x40000000
cmp eax, r13d
jne 0x180016504
mov rax, qword [rsp + 0x40]
add qword [rdi + 0x148], rax
mov r12, qword [rsp + 0x50]
lock inc qword [r12]
jle 0x180016bb0
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r15, qword [rdi + 0x58]
cmp r15, qword [rdi + 0x48]
jne 0x1800163dc
mov rcx, qword [rsp + 0x88]
call fcn.180021170
mov rax, qword [rdi + 0x50]
mov rcx, r15
shl rcx, 4
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], r14
inc r15
mov qword [rdi + 0x58], r15
mov rcx, qword [rsp + 0x90]
mov rdx, rbx
mov r8, r14
mov r9d, r13d
call fcn.180021ac0
mov dword [rsp + 0x9c], r13d
lock inc qword [r12]
jle 0x180016bb0
mov qword [rsp + 0x58], r12
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov r15, qword [rdi + 0x28]
mov rdx, qword [rdi + 0x58]
mov rax, rdx
shl rax, 4
mov rcx, qword [rdi + 0x130]
lea r8, [rcx + rcx*4]
mov r9, qword [rdi + 0x40]
add r9, r15
add r9, qword [rdi + 0x70]
add r9, qword [rdi + 0x88]
add r9, qword [rdi + 0xa8]
add r9, qword [rdi + 0xc0]
movzx ecx, byte [rsi + 0x2b8]
mov r10d, 4
shl r10, cl
add r9, qword [rdi + 0xd0]
add rax, qword [rsp + 0xb0]
lea rax, [rax + r8*4]
add rax, qword [rdi + 0xe8]
add rax, qword [rdi + 0x148]
lea rax, [rax + r9*4]
add rax, r10
cmp rax, qword [rsi + 0x2c0]
jbe 0x1800165c5
cmp dword [rsi + 0x40], 1
jne 0x1800165b7
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x1800165b7
cmp dword [rsi + 0x50], 1
jne 0x180016d1e
mov rax, qword [rsi + 0x58]
mov r8, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x18001659b
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x18001659d
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x180016bc0
or ebx, 0x20000000
mov r12d, 1
xor r14d, r14d
xor r15d, r15d
jmp 0x18001653a
add r14d, 0x100
inc r15
cmp r15, 0xff
ja 0x18001639f
xor eax, eax
mov ecx, r15d
shld rax, r12, cl
mov rdx, r15
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test r15b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [rbp + rdx + 8]
and r8, qword [rbp + rdx]
or r8, rax
je 0x180016530
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov rdx, rdi
mov r8d, r13d
mov r9d, r14d
call fcn.180016d60
jmp 0x180016530
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016d1e
mov rcx, qword [rsp + 0x48]
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jb 0x18001664d
cmp dword [rsi + 0x40], 1
jne 0x180016632
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x180016632
cmp dword [rsi + 0x50], 1
jne 0x180016d1e
mov rax, qword [rsi + 0x58]
mov rdx, qword [rdi + 0x158]
cmp dword [rdi], 1
jne 0x180016615
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 8]
mov r9, rcx
sub r9, r8
neg r9
sub rcx, r8
cmovb rcx, r9
jmp 0x180016617
xor ecx, ecx
add rcx, rdx
mul qword [rdi + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180016d1e
mov rcx, qword [rsp + 0x48]
call fcn.180015580
mov r15, qword [rdi + 0x28]
cmp r15, 0x8000000
jae 0x180016bb2
movzx r12d, byte [r12 + 0x10]
and r12d, 1
mov rbx, qword [rsi + 0x2b8]
and ebx, 0x3f
mov r14d, 1
mov ecx, ebx
shl r14, cl
shl r12d, 0x1b
mov rax, qword [rdi + 0x18]
sub rax, r15
cmp rax, r14
jb 0x1800166f6
mov rax, r15
or r12d, r15d
mov rcx, qword [rdi + 0x20]
cmp ebx, 2
ja 0x180016728
nop
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r14
jne 0x180016690
jmp 0x180016755
lea rcx, [rdi + 0x18]
mov qword [rsp + 0x20], 4
mov r9d, 4
mov rdx, r15
mov r8, r13
call fcn.18010d440
mov rax, qword [rdi + 0x28]
jmp 0x180015f4c
lea rcx, [rdi + 0x18]
mov qword [rsp + 0x20], 4
mov r9d, 4
mov rdx, r15
mov r8, r12
call fcn.18010d440
mov rax, qword [rdi + 0x28]
jmp 0x1800162f3
lea rcx, [rdi + 0x18]
mov qword [rsp + 0x20], 4
mov r9d, 4
mov rdx, r15
mov r8, r14
call fcn.18010d440
mov rax, qword [rdi + 0x28]
or r12d, r15d
mov rcx, qword [rdi + 0x20]
cmp ebx, 2
jbe 0x180016690
and r14, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r14
xor edx, edx
movaps xmm0, xmmword [0x18012f430]
movups xmmword [rcx + rdx*4 - 0x10], xmm0
movups xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r14, rdx
jne 0x180016740
mov rdx, rax
or r12d, 0x20000000
mov qword [rdi + 0x28], rdx
mov rax, qword [rbp + 8]
or rax, qword [rbp + 0x18]
mov rcx, qword [rbp]
or rcx, qword [rbp + 0x10]
or rcx, rax
je 0x1800167ad
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x180016bd2
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x180016bc0
or ebx, 0x20000000
cmp ebx, r12d
jne 0x180016b2e
mov rax, qword [rsp + 0x40]
add qword [rdi + 0x148], rax
mov rax, qword [rsp + 0x50]
lock inc qword [rax]
jle 0x180016bb0
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r15, qword [rdi + 0x58]
cmp r15, qword [rdi + 0x48]
jne 0x1800167e9
mov rcx, qword [rsp + 0x88]
call fcn.180021170
mov rax, qword [rdi + 0x50]
mov rcx, r15
shl rcx, 4
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], r14
inc r15
mov qword [rdi + 0x58], r15
mov rcx, qword [rsp + 0x90]
mov rdx, rbx
mov r8, r14
mov r9d, r12d
call fcn.180021ac0
neg dword [rsp + 0x3c]
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0xa4], 0x80000000
jno 0x180016c18
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x180016c49
or eax, 0x40000000
mov dword [rsp + 0xa8], eax
cmp r13d, eax
jne 0x180016c57
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x180016c88
or eax, 0x20000000
mov dword [rsp + 0xac], eax
cmp r12d, eax
jne 0x180016cba
xor ebx, ebx
xor r9d, r9d
jmp 0x1800168d6
movzx ecx, byte [rsi + r9 + 0x190]
lea r14, [r9 + 1]
xor eax, eax
mov bl, 1
mov ebp, ecx
shl r9d, 8
or r9d, eax
mov dword [rsp + 0x20], 0x80000000
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x80000000
call fcn.180016d60
mov r9, r14
test bl, 1
je 0x180016910
cmp r9, 0x101
mov eax, 0x100
cmovae rax, r9
mov r14, r9
nop
cmp r14, 0x100
jae 0x180016930
mov r9, r14
movzx ecx, byte [rsi + r14 + 0x190]
inc r14
cmp bpl, cl
je 0x1800168f0
jmp 0x1800168ad
cmp r9, 0xff
jbe 0x1800168a0
cmp r9, 0xffffffffffffffff
jne 0x180016939
jmp 0x180016961
mov r9, rax
cmp r9, 0xffffffffffffffff
je 0x180016961
movzx r9d, byte [rsi + 0x28f]
shl r9d, 0x10
add r9d, 0x10001
shr r9d, 8
mov eax, 1
mov r14, 0xffffffffffffffff
jmp 0x1800168b3
xor r9d, r9d
xor ebx, ebx
jmp 0x1800169a0
movzx eax, byte [rsi + r9 + 0x190]
lea r14, [r9 + 1]
xor ecx, ecx
mov bl, 1
mov ebp, eax
shl r9d, 8
or r9d, ecx
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov rdx, rdi
mov r8d, r13d
call fcn.180016d60
mov r9, r14
test bl, 1
je 0x1800169e0
cmp r9, 0x101
mov ecx, 0x100
cmovae rcx, r9
mov r14, r9
nop dword [rax + rax]
cmp r14, 0x100
jae 0x180016a00
mov r9, r14
movzx eax, byte [rsi + r14 + 0x190]
inc r14
cmp bpl, al
je 0x1800169c0
jmp 0x18001697d
cmp r9, 0xff
jbe 0x180016970
cmp r9, 0xffffffffffffffff
jne 0x180016a09
jmp 0x180016a31
mov r9, rcx
cmp r9, 0xffffffffffffffff
je 0x180016a31
movzx r9d, byte [rsi + 0x28f]
shl r9d, 0x10
add r9d, 0x10001
shr r9d, 8
mov ecx, 1
mov r14, 0xffffffffffffffff
jmp 0x180016983
xor r9d, r9d
xor ebx, ebx
jmp 0x180016a70
movzx eax, byte [rsi + r9 + 0x190]
lea r14, [r9 + 1]
xor ecx, ecx
mov bl, 1
mov ebp, eax
shl r9d, 8
or r9d, ecx
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdx, rdi
mov r8d, r12d
call fcn.180016d60
mov r9, r14
test bl, 1
je 0x180016ab0
cmp r9, 0x101
mov ecx, 0x100
cmovae rcx, r9
mov r14, r9
nop dword [rax + rax]
cmp r14, 0x100
jae 0x180016ad0
mov r9, r14
movzx eax, byte [rsi + r14 + 0x190]
inc r14
cmp bpl, al
je 0x180016a90
jmp 0x180016a4d
cmp r9, 0xff
jbe 0x180016a40
cmp r9, 0xffffffffffffffff
jne 0x180016ad9
jmp 0x180016b01
mov r9, rcx
cmp r9, 0xffffffffffffffff
je 0x180016b01
movzx r9d, byte [rsi + 0x28f]
shl r9d, 0x10
add r9d, 0x10001
shr r9d, 8
mov ecx, 1
mov r14, 0xffffffffffffffff
jmp 0x180016a53
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
mov r9d, r13d
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.180021ac0
xor r14d, r14d
xor r15d, r15d
jmp 0x180016b4a
add r14d, 0x100
inc r15
cmp r15, 0xff
ja 0x1800167ad
xor eax, eax
mov ecx, r15d
mov edx, 1
shld rax, rdx, cl
mov rdx, r15
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test r15b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [rbp + rdx + 8]
and r8, qword [rbp + rdx]
or r8, rax
je 0x180016b40
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov rdx, rdi
mov r8d, r12d
mov r9d, r14d
call fcn.180016d60
jmp 0x180016b40
ud2
mov qword [rsp + 0x30], r15
lea rax, [0x18012f7d0]
jmp 0x180016be6
mov qword [rsp + 0x30], 0x8000000
lea rax, [0x18012faf0]
jmp 0x180016be6
mov eax, 1
shl rax, cl
mov qword [rsp + 0x30], rax
lea rax, [0x18012fad8]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012f5b0]
lea r9, [0x18012f590]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.1801127a0
lea r8, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.180112540
mov qword [rsp + 0x58], 0
lea rax, [0x18012f8c0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0xa4]
lea r9, [rsp + 0x58]
xor ecx, ecx
call fcn.18010f4b0
mov qword [rsp + 0x58], rax
lea rax, [0x18012fad8]
jmp 0x180016c98
mov qword [rsp + 0x58], 0
lea rax, [0x18012f8d8]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x9c]
lea r8, [rsp + 0xa8]
lea r9, [rsp + 0x58]
xor ecx, ecx
call fcn.18010f4b0
mov qword [rsp + 0x58], 0x8000000
lea rax, [0x18012faf0]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012f5b0]
lea r9, [0x18012f590]
lea r8, [rsp + 0x58]
mov edx, 0x2b
call fcn.1801127a0
mov qword [rsp + 0x58], 0
lea rax, [0x18012f8f0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xac]
lea r9, [rsp + 0x58]
xor ecx, ecx
call fcn.18010f4b0
lock dec qword [rbx]
jne 0x180016cfb
lea rcx, [rsp + 0x58]
call fcn.180006a40
lea rax, [0x18012f878]
jmp 0x180016d36
lock dec qword [r12]
jne 0x180016d15
lea rcx, [rsp + 0x58]
call fcn.180006a40
lea rax, [0x18012f890]
jmp 0x180016d36
lock dec qword [r12]
jne 0x180016d2f
lea rcx, [rsp + 0x58]
call fcn.180006a40
lea rax, [0x18012f8a8]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012f5b0]
lea r9, [0x18012f570]
lea r8, [rsp + 0x58]
mov edx, 0x2b
call fcn.1801127a0
int3