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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x100
mov edi, dword [ebp + 8]
mov ebx, edx
mov esi, ecx
mov ecx, edx
call fcn.00477dc0
cmp eax, 0x28
mov dword [ebp - 0x10c], eax
jne 0x4793fc
lea ecx, [ebp - 0xc4]
mov edx, ebx
call fcn.0047d150
mov edx, dword [ebp - 0xc4]
cmp edx, 2
jne 0x479057
movsd xmm0, qword [ebp - 0x98]
movsd xmm1, qword [ebp - 0xa0]
movsd xmm2, qword [ebp - 0xa8]
movsd xmm3, qword [ebp - 0xb0]
movsd xmm4, qword [ebp - 0xc0]
movsd xmm5, qword [ebp - 0xb8]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x84]
movsd xmm6, qword [ebp - 0x8c]
movsd qword [esi + 0x28], xmm0
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x18], xmm2
movsd qword [esi + 0x10], xmm3
movsd qword [esi + 8], xmm5
movsd qword [esi], xmm4
mov dword [esi + 0x30], eax
movsd qword [esi + 0x34], xmm6
mov dword [esi + 0x3c], ecx
mov ecx, dword [edi + 0x18]
imul esi, dword [edi + 0x20], 0x78
movsd qword [ebp - 0x24], xmm0
movsd qword [ebp - 0x2c], xmm1
movsd qword [ebp - 0x34], xmm2
movsd qword [ebp - 0x3c], xmm3
movsd qword [ebp - 0x44], xmm5
movsd qword [ebp - 0x4c], xmm4
mov dword [ebp - 0x14], ecx
nop dword [eax]
test esi, esi
je 0x4791a6
lea ebx, [ecx + 0x78]
add esi, 0xffffff88
call fcn.00473440
mov ecx, ebx
jmp 0x479040
movsd xmm1, qword [ebp - 0xa0]
movsd xmm2, qword [ebp - 0xa8]
mov dword [ebp - 0x14], esi
movsd xmm0, qword [ebp - 0x98]
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
test edx, edx
movsd qword [ebp - 0x2c], xmm1
movsd xmm1, qword [ebp - 0xb0]
movsd qword [ebp - 0x34], xmm2
movsd xmm2, qword [ebp - 0xc0]
movsd qword [ebp - 0x24], xmm0
movsd qword [ebp - 0x3c], xmm1
movsd xmm1, qword [ebp - 0xb8]
movsd qword [ebp - 0x4c], xmm2
movsd qword [ebp - 0x44], xmm1
je 0x4791c6
movsd xmm1, qword [ebp - 0x2c]
movsd xmm2, qword [ebp - 0x34]
movsd xmm0, qword [ebp - 0x24]
movsd qword [ebp - 0xec], xmm1
movsd xmm1, qword [ebp - 0x3c]
movsd qword [ebp - 0xf4], xmm2
movsd xmm2, qword [ebp - 0x4c]
movsd qword [ebp - 0xe4], xmm0
movsd qword [ebp - 0xfc], xmm1
movsd xmm1, qword [ebp - 0x44]
movsd qword [ebp - 0x10c], xmm2
movsd qword [ebp - 0x104], xmm1
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebx]
cmp dword [ebp - 0xf4], 2
movzx edx, byte [ecx + 0x66]
mov ebx, edx
jne 0x47921a
test esi, esi
mov ebx, edx
je 0x47921a
mov dword [ebp - 0x10], ecx
lea ecx, [esi + esi*8]
add eax, 0x18
xor ebx, ebx
lea ecx, [ecx + ecx*2]
add ecx, esi
jmp 0x479190
mov dh, bl
add eax, 0x1c
add ecx, 0xffffffe4
mov bl, dh
je 0x479215
movzx esi, byte [eax]
mov dh, 1
cmp esi, 6
je 0x479182
cmp esi, 5
jne 0x479180
not bl
and bl, 1
jmp 0x479217
cmp dword [edi + 0x1c], 0
je 0x4793f1
mov eax, dword [0x56bbf8]
push dword [ebp - 0x14]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x4793f1
test ecx, ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ecx
je 0x47932a
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
lea esi, [ecx + 0x18]
lea ecx, [edx + edx*8]
lea ebx, [ecx + ecx*2]
add ebx, edx
xor edx, edx
jmp 0x4791fe
add esi, 0x1c
add ebx, 0xffffffe4
mov edx, ecx
je 0x47932a
movzx edi, byte [esi]
mov cl, 1
cmp edi, 6
je 0x4791f0
cmp edi, 5
je 0x47931d
mov ecx, edx
jmp 0x4791f0
mov ebx, edx
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x24], 0
jne 0x479427
mov dword [ecx + 0x24], 0xffffffff
lea esi, [ebp - 0x10c]
movsd xmm1, qword [edi + 0x10]
mov eax, dword [edi + 0x20]
movsd xmm0, qword [edi + 0x18]
movsd xmm2, qword [edi]
movsd qword [ebp - 0xb4], xmm1
movsd xmm1, qword [edi + 8]
mov dword [ebp - 0xa4], eax
mov eax, ecx
movsd qword [ebp - 0xac], xmm0
movsd qword [ebp - 0xc4], xmm2
lea edi, [ebp - 0xa0]
mov ecx, 0x12
movsd qword [ebp - 0xbc], xmm1
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x58], dl
mov ecx, eax
mov eax, dword [eax + 0x30]
cmp eax, dword [ecx + 0x2c]
mov edx, eax
jne 0x47929d
lea edi, [ecx + 0x24]
mov esi, ecx
add ecx, 0x28
call fcn.004769d0
mov edx, dword [esi + 0x30]
mov ecx, esi
imul edi, edx, 0x70
mov eax, edx
lea esi, [ebp - 0xc4]
mov edx, ecx
add edi, dword [ecx + 0x28]
mov ecx, 0x1c
inc eax
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x30], eax
inc dword [edx + 0x24]
mov byte [edx + 0x66], bl
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov dword [ebp - 0xb0], eax
movsd xmm0, qword [edx]
movsd qword [ebp - 0xb8], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [ebp - 0xb4]
movsd qword [ebp - 0xc4], xmm0
mov eax, dword [edx + 8]
movsd qword [ecx + 4], xmm0
movsd qword [ecx + 0x14], xmm1
mov dword [ebp - 0xbc], eax
movsd xmm0, qword [ebp - 0xbc]
movsd qword [ecx + 0xc], xmm0
xorps xmm0, xmm0
mov dword [ecx + 0x1c], 4
movlps qword [ecx + 0x20], xmm0
jmp 0x4793eb
mov ecx, dword [ebp - 0x1c]
not dl
and dl, 1
mov ecx, dword [ecx]
mov byte [ecx + 0x66], dl
movsd xmm1, qword [ebp - 0x2c]
movsd xmm2, qword [ebp - 0x34]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
movsd qword [ebp - 0x88], xmm1
movsd xmm1, qword [ebp - 0x3c]
movsd qword [ebp - 0x90], xmm2
movsd xmm2, qword [ebp - 0x4c]
mov edx, dword [ebx + 0x20]
movsd qword [ebp - 0x80], xmm0
movsd qword [ebp - 0x98], xmm1
movsd xmm1, qword [ebp - 0x44]
cmp edx, dword [ebx + 0x1c]
movsd qword [ebp - 0xa8], xmm2
movsd qword [ebp - 0xa0], xmm1
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xac], 0xc
jne 0x4793a4
lea ecx, [ebx + 0x18]
call fcn.004766a0
mov edx, dword [ebx + 0x20]
imul edi, edx, 0x78
lea esi, [ebp - 0xc4]
mov ecx, 0x1e
inc edx
add edi, dword [ebx + 0x18]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x20], edx
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebp - 0x14]
movsd xmm0, qword [ebx + 0x18]
movsd xmm1, qword [ebx + 0x10]
movsd xmm2, qword [ebx]
movsd xmm3, qword [ebx + 8]
mov dword [ecx + 0x24], eax
movsd qword [ecx + 0x1c], xmm0
movsd qword [ecx + 0x14], xmm1
movsd qword [ecx + 0xc], xmm3
movsd qword [ecx + 4], xmm2
mov dword [ecx], 0x20
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
mov edx, 0x51c3f0
lea ecx, [ebp - 0x10c]
push 0x51c3f4
push eax
call fcn.00474bc0
add esp, 8
jmp 0x479447
push 0x51c404
push 0x51bf9c
lea eax, [ebp - 0xc4]
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
ud2