Function at 0x55f3b4
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 0x55f3ed
cmp word [esi + 0x10e], 0xb
jae 0x55f416
lea edx, [eax + 0x10]
lea ecx, [esp + 0x44]
push ebp
push eax
mov esi, eax
call fcn.0055fb3d
mov eax, esi
add esp, 8
jmp 0x55f846
mov esi, dword [eax + 0xc]
mov ebx, eax
call fcn.0055fb96
mov edi, eax
mov ecx, eax
mov edx, ebx
push ebp
call fcn.0055f899
pop ecx
mov dword [esi], edi
and dword [esi + 4], 0
mov dword [esi + 8], 1
jmp 0x55f84c
mov edx, dword [eax + 0x18]
push 4
pop ecx
cmp edx, 5
mov dword [esp + 8], ebp
jae 0x55f432
mov bl, 1
mov edi, ecx
mov dword [esp], edx
mov dword [esp + 4], ebx
jmp 0x55f46b
je 0x55f44d
cmp edx, 6
jne 0x55f45a
mov dword [esp + 4], 0
push 5
pop edi
mov dword [esp], 0
jmp 0x55f46b
mov cl, 1
mov edi, edx
mov dword [esp], edx
mov dword [esp + 4], ecx
jmp 0x55f46b
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.0055fb96
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 0x63b8ac
call fcn.0055faac
pop ecx
mov ebp, edx
mov ecx, ebx
mov edx, edi
push ebp
push eax
call fcn.0055fac5
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 0x63b8bc
call fcn.0055faac
pop ecx
mov ecx, dword [esp + 0xc]
mov ebx, edx
mov edx, edi
push ebx
push eax
call fcn.0055fac5
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.0055fb3d
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 0x55f7c7
cmp dword [esp + 0x10], edi
jne 0x55f857
movzx eax, word [esi + 0x10c]
movzx edi, word [ebx + 0x10e]
movzx edx, ax
cmp edi, 0xb
push 4
pop esi
jb 0x55f82d
mov cl, 1
cmp ax, 5
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
mov dword [esp], ecx
jae 0x55f5e8
mov dword [esp + 0x14], edx
jmp 0x55f61d
movzx esi, ax
je 0x55f606
cmp esi, 6
jne 0x55f60c
mov dword [esp], 0
push 5
pop esi
mov dword [esp + 0x14], 0
jmp 0x55f61d
mov dword [esp + 0x14], esi
jmp 0x55f61d
add edx, 0xfffffff9
mov dword [esp], 0
mov dword [esp + 0x14], edx
push 6
pop esi
mov dword [esp + 4], esi
call fcn.0055f9b1
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 0x63b8ac
call fcn.0055faac
pop ecx
mov dword [esp + 0xc], eax
mov eax, edx
mov ecx, esi
mov edx, ebp
push eax
push dword [esp + 0x10]
call fcn.0055fac5
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 0x63b8bc
call fcn.0055faac
pop ecx
mov ecx, esi
mov esi, dword [esp + 4]
mov ebx, edx
mov edx, ebp
push ebx
push eax
call fcn.0055fac5
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 0x55f866
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
sub eax, esi
cmp eax, ecx
jne 0x55f875
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.00570e70
add esp, 0xc
mov ecx, edi
mov edx, ebx
mov dword [esp + 0x10], ebx
call fcn.0055f9dd
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.0055fa12
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 0x55f59e
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 0x55f88a
mov ecx, esi
lea ebx, [esp + 0x4c]
call fcn.0055f8f7
mov ecx, dword [esi]
mov edx, dword [esi + 4]
lea eax, [esp + 0x58]
push edi
push ebp
push eax
push ebx
call fcn.0055f91f
add esp, 0x10
jmp 0x55f842
mov ecx, ebx
push ebp
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0055fa12
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 0x63b914
jmp 0x55f882
push 0xc
pop edx
push 0x63b8cc
call fcn.00580f70
jmp 0x55f887
push 0x28
pop edx
mov ecx, str.assertion_failed:_src.len____dst.len__
push 0x63b89c
call fcn.00580fe0
pop eax
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x63b788
jmp 0x55f882