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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov esi, dword [ecx + 0x10]
mov ebp, edx
mov eax, ecx
test esi, esi
je 0x55f321
cmp word [esi + 0x10e], 0xb
jae 0x55f34a
lea edx, [eax + 0x10]
lea ecx, [esp + 0x44]
push ebp
push eax
mov esi, eax
call fcn.0055fa71
mov eax, esi
add esp, 8
jmp 0x55f77a
mov esi, dword [eax + 0xc]
mov ebx, eax
call fcn.0055faca
mov edi, eax
mov ecx, eax
mov edx, ebx
push ebp
call fcn.0055f7cd
pop ecx
mov dword [esi], edi
and dword [esi + 4], 0
mov dword [esi + 8], 1
jmp 0x55f780
mov edx, dword [eax + 0x18]
push 4
pop ecx
cmp edx, 5
mov dword [esp + 8], ebp
jae 0x55f366
mov bl, 1
mov edi, ecx
mov dword [esp], edx
mov dword [esp + 4], ebx
jmp 0x55f39f
je 0x55f381
cmp edx, 6
jne 0x55f38e
mov dword [esp + 4], 0
push 5
pop edi
mov dword [esp], 0
jmp 0x55f39f
mov cl, 1
mov edi, edx
mov dword [esp], edx
mov dword [esp + 4], ecx
jmp 0x55f39f
add edx, 0xfffffff9
mov dword [esp + 4], 0
mov dword [esp], edx
push 6
pop edi
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
call fcn.0055faca
movzx edx, word [esi + 0x10e]
mov ecx, edi
mov dword [esp + 0x1c], edi
not edi
mov dword [esp + 0x20], eax
add edi, edx
mov edx, eax
mov word [eax + 0x10e], di
imul eax, ecx, 0xc
lea ecx, [esp + 0x50]
add edx, 4
lea ebx, [esi + eax + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 4]
mov dword [ecx - 4], eax
movsd xmm0, qword [ebx - 0xc]
movsd qword [ecx - 0xc], xmm0
movsd xmm0, qword [ebx + 0x78]
movsd qword [ecx], xmm0
mov eax, dword [ebx + 0x80]
mov dword [ecx + 8], eax
mov ecx, edi
push 0x63b86c
call fcn.0055f9e0
pop ecx
mov ebp, edx
mov ecx, ebx
mov edx, edi
push ebp
push eax
call fcn.0055f9f9
pop eax
pop ecx
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x20]
mov ecx, edi
lea eax, [esi + eax + 0x94]
mov dword [esp + 0xc], eax
mov eax, 0x88
lea edx, [ebp + eax]
push 0x63b87c
call fcn.0055f9e0
pop ecx
mov ecx, dword [esp + 0xc]
mov ebx, edx
mov edx, edi
push ebx
push eax
call fcn.0055f9f9
pop eax
pop ecx
xor edi, edi
cmp byte [esp + 4], 0
mov eax, dword [esp + 0x1c]
mov ecx, ebp
mov ebx, 0
lea edx, [esp + 0x84]
cmovne ecx, esi
cmovne ebx, dword [esp + 0x10]
mov word [esi + 0x10e], ax
mov dword [edx], ecx
mov ecx, dword [esp]
mov dword [edx + 4], ebx
lea ebx, [esp + 0x2c]
mov dword [edx + 8], ecx
mov ecx, ebx
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.0055fa71
pop eax
pop ecx
lea eax, [esp + 0x50]
movsd xmm0, qword [eax + 4]
movsd xmm1, qword [eax - 0xc]
movsd xmm2, qword [eax - 4]
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0x74], xmm2
movsd qword [esp + 0x6c], xmm1
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm2
movsd qword [ebx], xmm1
mov ebx, dword [esi]
test ebx, ebx
je 0x55f6fb
cmp dword [esp + 0x10], edi
jne 0x55f78b
movzx eax, word [esi + 0x10c]
movzx edi, word [ebx + 0x10e]
movzx edx, ax
cmp edi, 0xb
push 4
pop esi
jb 0x55f761
mov cl, 1
cmp ax, 5
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
mov dword [esp], ecx
jae 0x55f51c
mov dword [esp + 0x14], edx
jmp 0x55f551
movzx esi, ax
je 0x55f53a
cmp esi, 6
jne 0x55f540
mov dword [esp], 0
push 5
pop esi
mov dword [esp + 0x14], 0
jmp 0x55f551
mov dword [esp + 0x14], esi
jmp 0x55f551
add edx, 0xfffffff9
mov dword [esp], 0
mov dword [esp + 0x14], edx
push 6
pop esi
mov dword [esp + 4], esi
call fcn.0055f8e5
movzx ebp, word [ebx + 0x10e]
mov dword [esp + 8], ebx
mov ebx, esi
mov edi, eax
imul ecx, esi, 0xc
not ebx
mov dword [esp + 0x1c], ecx
lea edx, [edi + 4]
add ebx, ebp
mov word [eax + 0x10e], bx
mov eax, dword [esp + 8]
lea esi, [eax + ecx + 0x10]
lea ecx, [esp + 0x50]
mov eax, dword [esi - 4]
mov dword [esp + 0x4c], eax
movsd xmm0, qword [esi - 0xc]
movsd qword [esp + 0x44], xmm0
mov eax, dword [esi + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [esp + 4]
movsd xmm0, qword [esi + 0x78]
movsd qword [ecx], xmm0
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
sub ebp, ecx
mov ecx, ebx
push 0x63b86c
call fcn.0055f9e0
pop ecx
mov dword [esp + 0xc], eax
mov eax, edx
mov ecx, esi
mov edx, ebp
push eax
push dword [esp + 0x10]
call fcn.0055f9f9
pop eax
pop ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + ecx + 0x94]
mov eax, 0x88
mov ecx, ebx
lea edx, [edi + eax]
push 0x63b87c
call fcn.0055f9e0
pop ecx
mov ecx, esi
mov esi, dword [esp + 4]
mov ebx, edx
mov edx, ebp
push ebx
push eax
call fcn.0055f9f9
pop eax
pop ecx
mov eax, dword [esp + 8]
mov word [eax + 0x10e], si
movzx eax, word [edi + 0x10e]
lea ecx, [eax + 1]
cmp eax, 0xc
jae 0x55f79a
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
sub eax, esi
cmp eax, ecx
jne 0x55f7a9
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov esi, 0x110
shl ecx, 2
lea eax, [edx + eax*4]
mov edx, edi
inc ebx
add eax, esi
add edx, esi
push ecx
push eax
push edx
call fcn.00570db0
add esp, 0xc
mov ecx, edi
mov edx, ebx
mov dword [esp + 0x10], ebx
call fcn.0055f911
movsd xmm1, qword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
cmp byte [esp], 0
mov esi, dword [esp + 8]
mov edi, edx
mov edx, dword [esp + 0x14]
mov ecx, eax
mov ebx, eax
movsd qword [esp + 0x74], xmm1
movsd xmm1, qword [esp + 0x54]
movsd qword [esp + 0x6c], xmm0
cmovne ecx, esi
movsd qword [esp + 0x7c], xmm1
push ebp
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0055f946
add esp, 0xc
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x74]
movsd xmm2, qword [esp + 0x7c]
mov ebp, ebx
movsd qword [esp + 0x84], xmm0
movsd qword [esp + 0x2c], xmm0
movsd qword [esp + 0x34], xmm1
movsd qword [esp + 0x3c], xmm2
jmp 0x55f4d2
movsd xmm0, qword [esp + 0x3c]
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x5c], xmm0
movsd qword [esp + 0x54], xmm1
movsd qword [esp + 0x4c], xmm2
mov dword [esp + 0x44], esi
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], edi
cmp dword [esi], 0
je 0x55f7be
mov ecx, esi
lea ebx, [esp + 0x4c]
call fcn.0055f82b
mov ecx, dword [esi]
mov edx, dword [esi + 4]
lea eax, [esp + 0x58]
push edi
push ebp
push eax
push ebx
call fcn.0055f853
add esp, 0x10
jmp 0x55f776
mov ecx, ebx
push ebp
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0055f946
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
inc dword [eax + 8]
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x35
pop edx
mov ecx, str.assertion_failed:_edge.height__self.node.height___1
push 0x63b8d4
jmp 0x55f7b6
push 0xc
pop edx
push 0x63b88c
call fcn.00580eb0
jmp 0x55f7bb
push 0x28
pop edx
mov ecx, str.assertion_failed:_src.len____dst.len__x
push 0x63b85c
call fcn.00580f20
pop eax
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x63b748
jmp 0x55f7b6