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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1bc
mov dword [ebp - 0x18], edx
mov edx, dword [edx]
mov ebx, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x14], eax
movsd xmm0, qword [edx]
movsd qword [ecx + 0xc], xmm0
cmp dword [edx + 0x24], 0
jne 0x47ac33
lea eax, [edx + 0x24]
mov dword [edx + 0x24], 0xffffffff
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 0x30]
test eax, eax
je 0x47a5ea
dec eax
lea edi, [ebp - 0x150]
mov ecx, 0x1c
mov dword [edx + 0x30], eax
imul eax, eax, 0x70
add eax, dword [edx + 0x28]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x114]
cmp ecx, 3
je 0x47a687
cmp ecx, 4
mov ecx, dword [ebp + 8]
je 0x47a5f4
lea esi, [ebp - 0x12c]
lea edi, [ebp - 0xe0]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 4]
test edi, edi
je 0x47a841
setns al
js 0x47ac88
mov esi, dword [0x56bbf8]
mov byte [ebp - 0x18], al
mov eax, dword [esi]
mov dword [ebp - 0x10], ecx
test eax, eax
jne 0x47a5c1
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a5d7
mov dword [esi], eax
push edi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
mov ecx, dword [ebp - 0x10]
mov esi, eax
test eax, eax
jne 0x47a846
movzx eax, byte [ebp - 0x18]
push eax
push edi
call fcn.004085f0
add esp, 8
jmp 0x47aca3
mov dword [ebp - 0x114], 4
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [ebp - 0x50], xmm1
movsd xmm1, qword [ecx + 8]
test eax, eax
mov dword [ebp - 0x40], eax
movsd qword [ebp - 0x48], xmm0
movsd qword [ebp - 0x60], xmm2
movsd qword [ebp - 0x58], xmm1
je 0x47a76a
cmp eax, 1
jne 0x47a7b0
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x15
mov dword [ebp - 0x10], ecx
je 0x47ac6b
movsd xmm0, qword [eax + 0x10]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0xe0]
mov ecx, 0x17
movsd qword [ebp - 0x2c], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x34], xmm1
movsd qword [ebp - 0x3c], xmm0
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x44], 0
jne 0x47a797
jmp 0x47a7ab
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 8]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [ecx + 0x18]
movsd qword [ebp - 0x24], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [ebp - 0x2c], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x34], xmm1
movsd qword [ebp - 0x3c], xmm0
movsd xmm1, qword [ecx + 0x10]
movsd xmm0, qword [edx]
movsd qword [ebp - 0x30], xmm0
mov eax, dword [edx + 8]
movsd qword [ebp - 0x48], xmm2
movsd qword [ebp - 0x50], xmm1
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x20]
movsd qword [ebp - 0x58], xmm1
movsd qword [ebp - 0x60], xmm2
test eax, eax
mov dword [ebp - 0x40], eax
je 0x47a95e
cmp eax, 1
jne 0x47a9b3
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x15
je 0x47ac8f
movsd xmm0, qword [eax + 0x10]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0xc4]
mov ebx, edx
movsd qword [ebp - 0xd0], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0xd8], xmm1
movsd qword [ebp - 0xe0], xmm0
mov dword [ebp - 0xc8], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x44], 0
jne 0x47a999
jmp 0x47a9a9
movsd xmm0, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x10], 0xb
movsd qword [ebp - 0x2c], xmm0
movsd qword [ebp - 0x34], xmm1
movsd qword [ebp - 0x3c], xmm2
cmp dword [ebp - 0x44], 0
je 0x47a7ab
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
mov edi, edx
call sub.kernel32.dll_HeapFree
mov edx, edi
mov eax, dword [ebp - 0x10]
jmp 0x47a7f1
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [ebp - 0xd0], xmm1
movsd xmm1, qword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov eax, 0x14
movsd qword [ebp - 0xc8], xmm0
movsd qword [ebp - 0xe0], xmm2
movsd qword [ebp - 0xd8], xmm1
movsd xmm1, qword [ebp - 0x34]
movsd xmm0, qword [ebp - 0x3c]
lea edi, [ebp - 0x1ac]
lea esi, [ebp - 0xe0]
mov ecx, 0x17
movsd qword [ebp - 0x1c0], xmm1
movsd xmm1, qword [ebp - 0x2c]
movsd qword [ebp - 0x1c8], xmm0
movsd qword [ebp - 0x1b8], xmm1
mov dword [ebp - 0x1b0], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x47aa74
jmp 0x47aa96
mov esi, 1
push edi
push ecx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x12c]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd xmm2, qword [eax + 0x10]
mov eax, dword [ebp - 0xc8]
movsd qword [ebx + 0x4c], xmm1
movsd qword [ebx + 0x44], xmm0
movsd qword [ebx + 0x54], xmm2
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x40], edi
movsd xmm1, qword [0x51bac0]
mov edi, dword [ebp + 8]
test eax, eax
movsd qword [ebx + 0x18], xmm1
je 0x47a8b9
cmp eax, 1
cmp dword [ebp - 0xa8], 0
je 0x47a8b9
mov eax, dword [ebp - 0xac]
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x9c]
mov ecx, esi
call fcn.00473440
mov eax, dword [0x56bbf8]
push esi
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
mov ecx, dword [ebp - 0x138]
imul ebx, dword [ebp - 0x130], 0x78
mov dword [ebp - 0x18], ecx
nop word cs:[eax + eax]
nop
test ebx, ebx
je 0x47a903
lea esi, [ecx + 0x78]
add ebx, 0xffffff88
call fcn.00473440
mov ecx, esi
jmp 0x47a8f0
cmp dword [ebp - 0x134], 0
je 0x47a91d
push dword [ebp - 0x18]
push 0
mov eax, dword [0x56bbf8]
push dword [eax]
call sub.kernel32.dll_HeapFree
mov eax, dword [ebp - 0x14]
inc dword [eax]
mov ecx, dword [edi + 0x18]
imul ebx, dword [edi + 0x20], 0x78
mov dword [ebp - 0x14], ecx
nop dword [eax]
test ebx, ebx
je 0x47a943
lea esi, [ecx + 0x78]
add ebx, 0xffffff88
call fcn.00473440
mov ecx, esi
jmp 0x47a930
cmp dword [edi + 0x1c], 0
je 0x47ac28
push dword [ebp - 0x14]
push 0
mov eax, dword [0x56bbf8]
push dword [eax]
jmp 0x47ac23
movsd xmm0, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov eax, dword [ebp - 0x48]
mov ebx, edx
movsd qword [ebp - 0xd0], xmm0
movsd qword [ebp - 0xd8], xmm1
movsd qword [ebp - 0xe0], xmm2
mov dword [ebp - 0xc8], 0xb
cmp dword [ebp - 0x44], 0
je 0x47a9a9
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x20]
je 0x47aa03
jmp 0x47aa0e
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
mov ebx, edx
movsd qword [ebp - 0xb4], xmm1
movsd xmm1, qword [ecx + 8]
mov dword [ebp - 0xa4], eax
movsd qword [ebp - 0xac], xmm0
movsd qword [ebp - 0xc4], xmm2
movsd qword [ebp - 0xbc], xmm1
mov dword [ebp - 0xc8], 0x14
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x20]
jne 0x47aa0e
lea ecx, [ebp - 0x24]
call fcn.004766a0
mov edx, dword [ebp - 0x1c]
imul edi, edx, 0x78
lea esi, [ebp - 0xe0]
mov ecx, 0x1e
inc edx
add edi, dword [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18c], edx
mov edx, ebx
movsd xmm1, qword [ebp - 0x34]
mov eax, dword [ebp - 0x68]
movsd xmm0, qword [ebp - 0x3c]
movsd xmm2, qword [ebp - 0x2c]
movsd qword [ebp - 0x1a4], xmm1
movsd xmm1, qword [ebp - 0x24]
mov ebx, eax
movsd qword [ebp - 0x1ac], xmm0
movsd qword [ebp - 0x19c], xmm2
movsd qword [ebp - 0x194], xmm1
mov dword [ebp - 0x1b0], 0x13
mov eax, dword [edx + 0x30]
test eax, eax
je 0x47aa96
dec eax
lea edi, [ebp - 0xe0]
mov ecx, 0x1c
mov dword [edx + 0x30], eax
imul esi, eax, 0x70
add esi, dword [edx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xa4]
cmp eax, 4
jne 0x47aaaf
lea esi, [ebp - 0x1c8]
mov ecx, 0x1e
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x14]
inc dword [eax]
jmp 0x47ac28
cmp eax, 3
mov dword [ebp - 0x64], eax
je 0x47ac55
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0x150]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 4]
test edi, edi
je 0x47ab26
setns al
js 0x47ac81
mov esi, dword [0x56bbf8]
mov byte [ebp - 0x18], al
mov eax, dword [esi]
mov dword [ebp - 0x10], ecx
test eax, eax
jne 0x47ab01
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47ab13
mov dword [esi], eax
push edi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
mov ecx, dword [ebp - 0x10]
mov esi, eax
test eax, eax
jne 0x47ab2b
movzx eax, byte [ebp - 0x18]
push eax
push edi
call fcn.004085f0
add esp, 8
jmp 0x47aca3
mov esi, 1
push edi
push ecx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0xbc]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd xmm2, qword [eax + 0x10]
mov eax, dword [ebp - 0x138]
movsd qword [ebx + 0x4c], xmm1
movsd xmm1, qword [0x51bac0]
test eax, eax
movsd qword [ebx + 0x44], xmm0
movsd qword [ebx + 0x54], xmm2
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x40], edi
movsd qword [ebx + 0x18], xmm1
je 0x47ab9b
cmp eax, 1
cmp dword [ebp - 0x118], 0
je 0x47ab9b
mov eax, dword [ebp - 0x11c]
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x10c]
mov ecx, esi
call fcn.00473440
mov edi, dword [0x56bbf8]
push esi
push 0
push dword [edi]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0x1b0], 0x15
jne 0x47abdb
cmp dword [ebp - 0x18c], 0
je 0x47abe6
push dword [ebp - 0x190]
push 0
push dword [edi]
call sub.kernel32.dll_HeapFree
jmp 0x47abe6
lea ecx, [ebp - 0x1c8]
call fcn.00473440
mov eax, dword [ebp - 0x14]
inc dword [eax]
mov ecx, dword [ebp - 0xc8]
imul ebx, dword [ebp - 0xc0], 0x78
mov dword [ebp - 0x14], ecx
nop dword [eax + eax]
test ebx, ebx
je 0x47ac13
lea esi, [ecx + 0x78]
add ebx, 0xffffff88
call fcn.00473440
mov ecx, esi
jmp 0x47ac00
cmp dword [ebp - 0xc4], 0
je 0x47ac28
push dword [ebp - 0x14]
push 0
push dword [edi]
call sub.kernel32.dll_HeapFree
add esp, 0x1bc
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebp - 0xe0]
push 0x51c438
push 0x51bf9c
push eax
push 0x10
push str.already_borrowed_usr_local_cargo_registry_src_github.com_1ecc6299db9ec823_regex_syntax_0.6.27_src_ast_parse.rs
call fcn.00414e90
add esp, 0x14
jmp 0x47aca3
push 0x51c470
push 0x28
push 0x51c448
call fcn.00414ad0
add esp, 0xc
jmp 0x47aca3
push 0x51d0ac
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
jmp 0x47aca3
call fcn.004085b0
jmp 0x47aca3
call fcn.004085b0
jmp 0x47aca3
push 0x51d0ac
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
ud2