Function at 0x50e1e0
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, 0x1c8
movaps xmmword [rsp + 0x1b0], xmm6
mov r14, rdx
mov rsi, rcx
mov r13, qword [rdx]
mov rbx, qword [rdx + 8]
mov r8, qword [r13 + 0xa0]
mov rdi, qword [rdx + 0x10]
mov rcx, rbx
mov rdx, rdi
call fcn.0050d6c0
mov dword [rsp + 0x130], eax
cmp eax, 0x5c
jne 0x50ed21
lea r12, [r13 + 0xa0]
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x30], rax
mov rcx, r14
call fcn.0050e0a0
test al, al
je 0x50e2ea
mov r8, qword [r12]
mov rcx, rbx
mov rdx, rdi
call fcn.0050d6c0
mov r15d, eax
and eax, 0x1ffff8
cmp eax, 0x30
jne 0x50e379
cmp byte [r13 + 0xc1], 0
je 0x50e4e8
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.00519940
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsi + 0x38], rax
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0x20], rax
jmp 0x50e408
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd8], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xc8], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
test rdi, rdi
je 0x50e417
js 0x50e689
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x50e354
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x50e36a
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x50e41d
mov ecx, 1
mov rdx, rdi
call fcn.0044dfd0
ud2
mov eax, r15d
and eax, 0x1ffffe
cmp eax, 0x38
jne 0x50e45a
cmp byte [r13 + 0xc1], 0
je 0x50e634
mov rcx, r14
call fcn.0050e0a0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x68], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
lea eax, [r15 - 0x23]
cmp eax, 0x5b
ja case.0x50e3e3.37
lea rcx, [0x0086dff4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], r15d
mov byte [rsi + 0x3c], 1
mov byte [rsi + 0x70], 2
mov dword [rsi], 0x22
jmp 0x50e6da
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov dword [rsi], 0xa
jmp 0x50e6ce
lea eax, [r15 - 0x44]
cmp eax, 0x34
ja 0x50e398
movabs rcx, 0x8800100088001
bt rcx, rax
jae 0x50e587
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.005191a0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsi + 0x38], rax
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0x20], rax
mov byte [rsi + 0x70], 5
mov dword [rsi], 0x22
jmp 0x50e6da
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.0050dfa0
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x158], rax
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x148], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x140], rax
test rdi, rdi
je 0x50e690
js 0x50e689
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x50e56c
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x50e36a
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x50e696
jmp 0x50e36a
movabs rcx, 0x12000000020000
bt rcx, rax
jae 0x50e6f6
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.00518040
mov eax, dword [rsp + 0xb0]
cmp eax, 0x22
jne 0x50e820
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x164], rcx
movups xmm0, xmmword [rsp + 0xb8]
movups xmm1, xmmword [rsp + 0xc8]
movups xmm2, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x60], xmm2
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rdx
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsi + 0x38], rcx
movups xmmword [rsi + 0x28], xmm2
mov rcx, qword [rsp + 0x50]
mov qword [rsi + 0x18], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsi + 0x20], rcx
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x70], 2
mov dword [rsi], eax
jmp 0x50e6da
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.0050dfa0
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x158], rax
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x148], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x140], rax
test rdi, rdi
je 0x50e690
jns 0x50e541
call fcn.0044df90
ud2
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov dword [rsi], 0x20
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rdi
mov qword [rsi + 0x48], rdi
movaps xmm6, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0x100000001000
bt rcx, rax
jae 0x50e398
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.00518210
mov eax, dword [rsp + 0xb0]
cmp eax, 0x22
jne 0x50e8c7
movups xmm0, xmmword [rsp + 0x118]
movups xmmword [rsp + 0x194], xmm0
movups xmm1, xmmword [rsp + 0x108]
movups xmmword [rsp + 0x184], xmm1
movups xmm2, xmmword [rsp + 0xf8]
movups xmmword [rsp + 0x174], xmm2
movups xmm3, xmmword [rsp + 0xb8]
movups xmm4, xmmword [rsp + 0xc8]
movups xmm5, xmmword [rsp + 0xd8]
movups xmm6, xmmword [rsp + 0xe8]
movups xmmword [rsp + 0x164], xmm6
movaps xmmword [rsp + 0x40], xmm3
movaps xmmword [rsp + 0x50], xmm4
movaps xmmword [rsp + 0x60], xmm5
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x88], rcx
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x78], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x58], xmm0
mov rcx, qword [rsp + 0x80]
mov qword [rsi + 0x48], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsi + 0x50], rcx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x38], xmm3
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi], eax
jmp 0x50e6da
movups xmm0, xmmword [rsp + 0xb4]
movups xmm1, xmmword [rsp + 0xc4]
movups xmm2, xmmword [rsp + 0xd4]
movups xmm3, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x15c], xmm3
movaps xmmword [rsp + 0x150], xmm2
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rsi + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x50], xmm0
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x15c]
movups xmmword [rsi + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rsi + 0x24], xmm2
movups xmmword [rsi + 0x14], xmm1
movups xmmword [rsi + 4], xmm0
mov dword [rsi], eax
jmp 0x50e6da
mov ecx, dword [rsp + 0x124]
mov dword [rsp + 0x1a0], ecx
movups xmm0, xmmword [rsp + 0x114]
movaps xmmword [rsp + 0x190], xmm0
movups xmm1, xmmword [rsp + 0x104]
movaps xmmword [rsp + 0x180], xmm1
movups xmm2, xmmword [rsp + 0xf4]
movaps xmmword [rsp + 0x170], xmm2
movups xmm3, xmmword [rsp + 0xb4]
movups xmm4, xmmword [rsp + 0xc4]
movups xmm5, xmmword [rsp + 0xd4]
movups xmm6, xmmword [rsp + 0xe4]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm5
movaps xmmword [rsp + 0x140], xmm4
movaps xmmword [rsp + 0x130], xmm3
mov rcx, qword [rsp + 0x128]
mov edx, dword [rsp + 0x1a0]
mov dword [rsi + 0x74], edx
movups xmmword [rsi + 0x64], xmm0
movups xmmword [rsi + 0x54], xmm1
movups xmmword [rsi + 0x44], xmm2
movups xmmword [rsi + 0x34], xmm6
movups xmmword [rsi + 0x24], xmm5
movups xmmword [rsi + 0x14], xmm4
movups xmmword [rsi + 4], xmm3
mov qword [rsi + 0x78], rcx
mov dword [rsi], eax
jmp 0x50e6da
mov ecx, r15d
call fcn.005192b0
test al, al
je 0x50e9b2
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], r15d
mov byte [rsi + 0x3c], 2
jmp 0x50e408
add r15d, 0xffffffc4
cmp r15d, 0x3e
ja case.0x50e9ca.61
lea rax, [0x0086e164]
movsxd rcx, dword [rax + r15*4]
add rcx, rax
jmp rcx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 8
jmp 0x50eca0
mov rcx, rdi
call fcn.005283a0
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov dword [rsi], 0xb
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], rdi
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
jmp 0x50e6da
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 9
jmp 0x50eca0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 2
jmp 0x50eca0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 5
jmp 0x50eca0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 7
mov word [rsi + 0x3c], 6
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x150], xmm2
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
mov r8, qword [r12]
mov bpl, 4
cmp r8, rdi
je 0x50eb67
mov rcx, rbx
mov rdx, rdi
call fcn.0050d6c0
cmp eax, 0x7b
jne 0x50eb67
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0x20]
mov rdx, r14
call fcn.00519300
mov eax, dword [rsp + 0xb0]
cmp eax, 0x22
jne 0x50ecaf
movzx eax, byte [rsp + 0xb4]
cmp al, 0xc
je 0x50eb67
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x158], rcx
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x148], xmm0
mov ebp, eax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
mov rax, qword [rsp + 0x150]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x158]
mov qword [rsi + 0x30], rax
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], bpl
jmp 0x50eca0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xc
mov word [rsi + 0x3c], 0x106
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xa
mov word [rsi + 0x3c], 0x306
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xd
mov word [rsi + 0x3c], 0x406
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 9
mov word [rsi + 0x3c], 0x206
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xb
mov word [rsi + 0x3c], 0x506
jmp 0x50e408
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 3
mov byte [rsi + 0x70], 3
mov dword [rsi], 0x22
jmp 0x50e6da
movzx ecx, byte [rsp + 0xb4]
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x115]
movups xmmword [rsi + 0x65], xmm0
movups xmm0, xmmword [rsp + 0x105]
movups xmmword [rsi + 0x55], xmm0
movups xmm0, xmmword [rsp + 0xf5]
movups xmmword [rsi + 0x45], xmm0
movups xmm0, xmmword [rsp + 0xe5]
movups xmmword [rsi + 0x35], xmm0
movups xmm0, xmmword [rsp + 0xd5]
movups xmmword [rsi + 0x25], xmm0
movups xmm0, xmmword [rsp + 0xc5]
movups xmmword [rsi + 0x15], xmm0
movups xmm0, xmmword [rsp + 0xb5]
movups xmmword [rsi + 5], xmm0
mov dword [rsi], eax
mov byte [rsi + 4], cl
jmp 0x50e6da
mov qword [rsp + 0xb0], 0
lea rdx, [0x00911b70]
lea r9, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
lea rcx, [rsp + 0x130]
lea r8, [rsp + 0xb0]
call fcn.00504f70
ud2