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

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0xdc
mov eax, dword [edi]
cmp byte [ecx + 0x6d], 0
mov esi, dword [edi + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xb8], eax
movzx eax, byte [ecx + 0xdd]
mov byte [ecx + 0xdd], 1
mov byte [ebp - 0x9d], al
je 0x4565f8
mov eax, dword [ebx + 0x14]
cmp eax, 0xb0
je 0x456410
jle 0x4566a0
cmp eax, 0xd6
jg 0x4566e0
cmp eax, 0xb7
jle 0x4566bd
sub eax, 0xb8
mov edx, 0x6e434009
bt edx, eax
jae 0x4566bd
mov edx, dword [ebx + 0xc]
movd xmm3, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebp - 0x9c]
movd xmm0, edx
movd xmm4, dword [ebx + 0x1c]
punpckldq xmm0, xmm3
sub ecx, edx
mov eax, dword [edi]
movq qword [ebp - 0x88], xmm0
movd xmm0, ecx
mov ecx, edi
punpckldq xmm0, xmm4
mov eax, dword [eax + 0x8c]
movq qword [ebp - 0x80], xmm0
mov byte [esp + 0x14], 0
mov byte [esp + 0x10], 0xe
movdqu xmm5, xmmword [ebp - 0x88]
movups xmmword [esp], xmm5
call eax
lea eax, [ebx + 0xc]
mov ecx, eax
sub esp, 0x18
mov dword [ebp - 0xa4], eax
call fcn.00451070
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [ebx + 0x14]
cmp eax, 0x3c
je 0x456680
cmp eax, 0xc2
je 0x456630
cmp eax, 0x7b
je 0x456448
mov ecx, dword [ebx + 0x60]
movd xmm0, dword [ebp - 0xb8]
lea edx, [ebp - 0x78]
movd xmm7, dword [ebx + 0x28]
mov eax, dword [ecx]
punpckldq xmm0, xmm7
movq qword [ebp - 0x78], xmm0
mov dword [esp + 4], edx
mov dword [esp], 0xac
call dword [eax + 8]
sub esp, 8
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx]
call dword [eax + 0x78]
movzx eax, byte [ebp - 0x9d]
mov byte [ebx + 0xdd], al
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0xc
cmp byte [ebx + 0xcb], 0
je 0x456328
mov ecx, dword [ebx + 0x60]
movq xmm7, qword [ebx + 0xc]
lea edx, [ebp - 0x78]
mov eax, dword [ecx]
movq qword [ebp - 0x78], xmm7
mov dword [esp + 4], edx
mov dword [esp], 0x37
call dword [eax + 8]
sub esp, 8
jmp 0x456328
movd xmm6, dword [ebp - 0x9c]
movd xmm0, dword [ebp - 0xb8]
movd xmm1, ebx
movd xmm7, esi
movq xmm3, qword [ebx + 0xc]
mov ecx, dword [ebp - 0xa4]
lea edi, [ebx + 0x80]
punpckldq xmm1, xmm6
punpckldq xmm0, xmm7
movdqa xmm6, xmm1
movq qword [ebp - 0xc0], xmm3
punpcklqdq xmm6, xmm0
movups xmmword [ebp - 0xb8], xmm6
call fcn.00451070
mov eax, dword [ebx + 0x14]
lea esi, cs:[esi]
cmp eax, 0x7d
je 0x4565e3
movzx eax, word [0x58cab0]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x34], edi
movdqu xmm2, xmmword [ebp - 0xb8]
mov byte [ebp - 0x48], 0
mov word [ebp - 0x68], ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0x78], xmm2
call fcn.00451ee0
test al, al
jne 0x456541
lea ecx, [ebp - 0x78]
call fcn.00452320
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x456567
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov dword [esp + 8], 4
mov edx, dword [ebp - 0x2c]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call dword [esi + 0xc]
sub esp, 0xc
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4565d0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx]
mov dword [esp + 8], 4
mov edx, dword [ebp - 0x3c]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call dword [esi + 0xc]
mov eax, dword [ebx + 0x14]
sub esp, 0xc
cmp eax, 0x80
jne 0x4564a0
mov ecx, dword [ebx + 0x60]
movq xmm5, qword [ebp - 0xc0]
lea esi, [ebp - 0x78]
mov eax, dword [ecx]
movq qword [ebp - 0x78], xmm5
mov dword [esp + 4], esi
mov dword [esp], 0x175
call dword [eax + 8]
sub esp, 8
jmp 0x4563e8
mov eax, dword [ebx + 0x14]
cmp eax, 0x80
je 0x45659b
cmp eax, 0x7d
jne 0x4564a9
mov ecx, dword [ebp - 0xa4]
call fcn.00451070
jmp 0x4563e8
mov ecx, dword [ecx + 0x60]
movd xmm0, dword [ebp - 0xb8]
movd xmm4, esi
lea edx, [ebp - 0x78]
mov eax, dword [ecx]
punpckldq xmm0, xmm4
movq qword [ebp - 0x78], xmm0
mov dword [esp + 4], edx
mov dword [esp], 0x14c
call dword [eax + 8]
sub esp, 8
jmp 0x4562eb
mov ecx, dword [ebp - 0xa4]
call fcn.00451070
mov dword [ebp - 0xc0], esi
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xa4]
jmp 0x456657
mov ecx, esi
call fcn.00451070
mov dword [esp + 4], 8
mov ecx, ebx
mov dword [esp], edi
call fcn.00451370
mov eax, dword [ebx + 0x14]
sub esp, 8
cmp eax, 0x2c
je 0x456650
mov esi, dword [ebp - 0xc0]
jmp 0x4563b0
mov eax, dword [ebp - 0x9c]
mov ecx, ebx
mov dword [esp], eax
call fcn.00419d30
mov eax, dword [ebx + 0x14]
sub esp, 4
jmp 0x4563a5
cmp eax, 0xaa
jg 0x456700
cmp eax, 0xa8
jg 0x456328
cmp eax, 0x81
je 0x456328
mov dword [esp + 8], str.parse_and_visit_typescript_interface
mov ecx, ebx
mov dword [esp + 4], 0x887
mov dword [esp], str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_fe_parse_class.cpp
call fcn.004258f0
lea esi, cs:[esi]
sub eax, 0xdc
cmp eax, 0x18
ja 0x4566bd
mov edx, 0x1200d87
bt edx, eax
jb 0x456328
jmp 0x4566bd
sub eax, 0xac
cmp eax, 3
jbe 0x456328
jmp 0x4566bd