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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov eax, dword [ebp + 8]
mov edi, edx
mov esi, ecx
mov ebx, dword [edi + 4]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test ebx, ebx
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
je 0x439115
mov eax, dword [edi]
jmp 0x439148
push 8
push 0x198
call fcn.00401470
add esp, 8
test eax, eax
je 0x439ea7
mov edx, dword [esp + 0x18]
mov ebx, eax
xor eax, eax
mov dword [ebx + 0x108], eax
mov word [ebx + 0x192], 0
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [esp + 0x5c], esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], edi
movzx eax, word [ebx + 0x192]
lea edi, [ebx + 0x10c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
movzx eax, ax
mov dword [esp + 0x20], eax
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4 + 0x10c]
xor ebx, ebx
mov dword [esp + 0x24], eax
mov eax, edi
add edi, 0xc
mov ecx, 0
mov dword [esp + 8], ebx
cmp eax, dword [esp + 0x24]
cmove edi, eax
cmove eax, ecx
xor ebx, ebx
test eax, eax
setne cl
test eax, eax
je 0x4391fb
mov esi, dword [eax + 8]
mov byte [esp + 4], cl
mov ecx, edx
cmp edx, esi
cmova ecx, esi
push ecx
push dword [eax]
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4391d7
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
mov eax, 1
jns 0x4391e9
jmp 0x439201
mov edx, dword [esp + 0x18]
xor eax, eax
cmp edx, esi
setne cl
jb 0x439207
mov esi, dword [ebp + 0xc]
mov al, cl
mov cl, byte [esp + 4]
mov bl, cl
mov ecx, dword [esp + 8]
add ebx, ecx
test eax, eax
jne 0x439183
jmp 0x439233
mov edi, dword [esp + 0x20]
jmp 0x43920e
mov edi, dword [esp + 8]
jmp 0x43920e
mov edi, dword [esp + 8]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x4392c5
mov ebx, dword [ebx + edi*4 + 0x198]
dec ecx
mov dword [esp + 0x1c], ecx
jmp 0x439157
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x43924e
push 1
push eax
push dword [esp + 0x14]
call fcn.00401290
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [esp + 0x14]
lea eax, [ecx + ecx*2]
mov ebx, dword [esp + 0x5c]
movsd xmm0, qword [edx + eax*8]
movsd xmm1, qword [edx + eax*8 + 8]
movsd xmm2, qword [edx + eax*8 + 0x10]
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd xmm2, qword [esi + 0x10]
movsd qword [edx + eax*8 + 0x10], xmm2
movsd qword [edx + eax*8 + 8], xmm1
movsd qword [edx + eax*8], xmm0
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm0, qword [esi + 0x10]
movsd xmm2, qword [esi]
movsd xmm1, qword [esi + 8]
cmp ax, 0xb
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm2
jae 0x43934d
mov ecx, esi
movzx esi, ax
lea eax, [edi + 1]
movsd xmm0, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
cmp eax, esi
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0x30], xmm2
jbe 0x43952c
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
lea eax, [edi + edi*2]
mov dword [ebx + eax*4 + 0x10c], ecx
mov dword [ebx + eax*4 + 0x110], esi
mov dword [ebx + eax*4 + 0x114], edx
mov eax, edi
mov edi, ebx
jmp 0x43959e
lea esi, [esp + 0x30]
push edi
push esi
call fcn.0041ba70
add esp, 8
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
push 8
push 0x198
call fcn.00401470
add esp, 8
test eax, eax
je 0x439ea7
mov dword [eax + 0x108], 0
mov word [eax + 0x192], 0
mov esi, ebx
lea ecx, [edi + edi*2]
mov dword [esp + 8], eax
mov dword [esp + 0x24], edi
movzx edx, word [ebx + 0x192]
mov ebx, edi
not ebx
add ebx, edx
mov word [eax + 0x192], bx
cmp ebx, 0xc
mov eax, dword [esi + ecx*4 + 0x110]
mov edi, dword [esi + ecx*4 + 0x10c]
movsd xmm0, qword [esi + ecx*8]
movsd xmm1, qword [esi + ecx*8 + 8]
movsd xmm2, qword [esi + ecx*8 + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esi + ecx*4 + 0x114]
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x68], xmm0
jae 0x439efb
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], edi
mov dword [esp + 0x64], eax
inc esi
sub edx, esi
cmp edx, ebx
jne 0x439eb3
mov edi, dword [esp + 0x14]
lea edx, [ebx*4]
lea edx, [edx + edx*2]
lea eax, [edi + ecx*4 + 0x118]
mov ecx, dword [esp + 8]
add ecx, 0x10c
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + esi*2]
shl ebx, 3
lea eax, [edi + eax*8]
lea ecx, [ebx + ebx*2]
push ecx
push eax
mov esi, dword [esp + 0x10]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 4]
mov word [edi + 0x192], ax
cmove esi, edi
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x34], xmm0
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x3c], xmm1
movsd qword [esp + 0x44], xmm0
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
mov eax, dword [esp + 0x48]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [esp + 0x88]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
lea eax, [ecx + 1]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x90]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x38], xmm1
movzx ebx, word [esi + 0x192]
movzx edi, bx
cmp eax, edi
jbe 0x4395dd
mov edx, dword [esp + 0xc]
lea eax, [ecx + ecx*2]
mov edi, dword [esp + 0x2c]
mov dword [esi + eax*4 + 0x10c], edx
mov edx, dword [esp + 0x18]
mov dword [esi + eax*4 + 0x110], edi
mov dword [esi + eax*4 + 0x114], edx
jmp 0x43964b
mov dword [esp + 0x20], edi
lea ecx, [edi + edi*2]
mov edi, ebx
lea eax, [eax + eax*2]
sub esi, dword [esp + 0x20]
mov dword [esp + 8], ecx
lea ebx, [ebx + ecx*4 + 0x10c]
mov dword [esp + 4], eax
lea eax, [edi + eax*4 + 0x10c]
lea ecx, [esi*4]
lea ecx, [ecx + ecx*2]
push ecx
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
shl esi, 3
lea edx, [esi + esi*2]
mov dword [ebx], eax
mov eax, dword [esp + 0x2c]
lea ecx, [edi + ecx*8]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 8], eax
mov eax, dword [esp + 8]
lea eax, [edi + eax*8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x2c]
add esp, 0xc
movsd xmm0, qword [esp + 0x40]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
movsd qword [edi + eax*8 + 0x10], xmm0
inc edx
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
movsd qword [edi + eax*8 + 8], xmm1
movsd qword [edi + eax*8], xmm0
mov word [edi + 0x192], dx
jmp 0x439e9c
sub edi, ecx
lea edx, [ecx + ecx*2]
lea eax, [eax + eax*2]
lea ecx, [edi*4]
mov dword [esp + 0x24], edx
lea edx, [esi + edx*4 + 0x10c]
mov dword [esp + 0x1c], eax
lea eax, [esi + eax*4 + 0x10c]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x20], edx
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
shl edi, 3
lea edx, [edi + edi*2]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 0x40]
inc ebx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd qword [esi + eax*8 + 0x10], xmm0
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
movsd qword [esi + eax*8 + 8], xmm1
movsd qword [esi + eax*8], xmm0
mov word [esi + 0x192], bx
mov esi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xb8], xmm2
mov dword [esp + 0xc0], eax
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm0
mov eax, dword [esi + 0x108]
test eax, eax
mov dword [esp + 4], eax
je 0x439d49
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
cmp edx, edx
jne 0x439ec4
movzx eax, word [esi + 0x190]
mov edi, dword [esp + 4]
mov dword [esp + 0x2c], ebx
movzx edx, ax
movzx eax, word [edi + 0x192]
cmp eax, 0xb
mov dword [esp + 0x24], eax
jae 0x43984c
mov dword [esp + 8], ecx
lea ecx, [eax + 1]
lea ebx, [edx + edx*2]
mov dword [esp + 0x14], esi
cmp ax, dx
mov dword [esp + 0xc], ecx
lea ecx, [edx + 1]
lea esi, [edi + ebx*4 + 0x10c]
jbe 0x439adb
lea eax, [ecx + ecx*2]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], eax
lea eax, [edi + eax*4 + 0x10c]
mov edi, dword [esp + 0x24]
sub edi, edx
lea ecx, [edi*4]
lea ecx, [ecx + ecx*2]
push ecx
push esi
push eax
mov dword [esp + 0x1c], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
shl edi, 3
lea edx, [edi + edi*2]
mov edi, dword [esp + 4]
mov dword [esi], eax
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0x110], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov dword [eax + ebx*4 + 0x114], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
lea ebx, [eax + ebx*8]
mov eax, dword [esp + 4]
lea eax, [eax + ecx*8]
push edx
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea eax, [esp + 0x8c]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea ecx, [edi + ecx*4 + 0x1a0]
movsd qword [ebx], xmm0
movsd qword [ebx + 8], xmm1
movsd xmm0, qword [eax + 0x10]
mov eax, dword [esp + 0x28]
movsd qword [ebx + 0x10], xmm0
mov ebx, dword [esp + 0x24]
lea eax, [edi + eax*4 + 0x198]
add ebx, 2
mov edx, ebx
sub edx, dword [esp + 0x10]
lea edx, [edx*4 - 8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x439b24
push edx
lea eax, [esp + 0x34]
push eax
call fcn.0041ba70
add esp, 8
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], eax
movzx eax, word [edi + 0x192]
mov dword [esp + 0x54], eax
push 8
push 0x1c8
call fcn.00401470
add esp, 8
test eax, eax
je 0x439ed5
mov edx, dword [esp + 0xc]
mov dword [eax + 0x108], 0
mov word [eax + 0x192], 0
mov ecx, eax
mov dword [esp + 0x14], eax
mov esi, edi
movzx eax, word [edi + 0x192]
mov dword [esp + 8], ecx
mov edi, edx
not edi
add edi, eax
mov word [ecx + 0x192], di
lea ecx, [edx + edx*2]
cmp edi, 0xc
mov edx, dword [esi + ecx*4 + 0x10c]
movsd xmm0, qword [esi + ecx*8 + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esi + ecx*4 + 0x110]
mov dword [esp + 0x10], edx
mov edx, dword [esi + ecx*4 + 0x114]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esi + ecx*8]
movsd xmm1, qword [esi + ecx*8 + 8]
mov dword [esp + 0x64], edx
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x68], xmm0
jae 0x439ee1
mov edx, dword [esp + 0xc]
lea esi, [edx + 1]
sub eax, esi
cmp eax, edi
jne 0x439eb3
mov eax, dword [esp + 4]
lea edx, [edi*4]
lea edx, [edx + edx*2]
lea eax, [eax + ecx*4 + 0x118]
mov ecx, dword [esp + 0x14]
add ecx, 0x10c
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x50], esi
lea eax, [esi + esi*2]
mov esi, dword [esp + 4]
shl edi, 3
lea ecx, [edi + edi*2]
lea eax, [esi + eax*8]
push ecx
push eax
mov edi, dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov word [esi + 0x192], ax
lea eax, [esp + 0x34]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [eax], xmm0
movsd qword [eax + 0x10], xmm1
movzx edi, word [edi + 0x192]
lea eax, [edi + 1]
cmp edi, 0xc
jae 0x439eee
mov edx, dword [esp + 0x54]
sub edx, dword [esp + 0xc]
cmp edx, eax
jne 0x439eb3
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
inc dword [esp + 0x60]
shl edx, 2
lea eax, [eax + ecx*4 + 0x198]
mov ecx, dword [esp + 0x14]
add ecx, 0x198
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test di, di
setne al
xor ecx, ecx
mov esi, dword [esp + 8]
mov edx, ecx
mov ah, al
mov ecx, dword [esi + ecx*4 + 0x198]
mov dword [ecx + 0x108], esi
mov word [ecx + 0x190], dx
movzx ecx, al
and ecx, 1
add ecx, edx
cmp ecx, edi
setb al
test ah, 1
je 0x439a2f
cmp ecx, edi
jbe 0x4399fd
mov eax, dword [esp + 0x48]
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
cmp dword [esp + 0x84], 0
mov esi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x40]
lea edi, [ebx + ebx*2]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x8c]
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x68], xmm2
cmove esi, dword [esp + 4]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [eax + 0x10]
movsd xmm2, qword [eax]
lea edx, [esi + edi*4 + 0x10c]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x30], xmm2
lea eax, [ebx + 1]
mov dword [esp + 0x14], eax
movsd qword [esp + 0x38], xmm1
movzx ecx, word [esi + 0x192]
cmp eax, ecx
mov dword [esp + 0xc], ecx
jbe 0x439b63
mov eax, dword [esp + 0x1c]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esi + edi*4 + 0x110], eax
mov dword [esi + edi*4 + 0x114], edx
jmp 0x439be2
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x8c]
mov dword [edi + ebx*4 + 0x110], eax
mov eax, dword [esp + 0x20]
mov dword [edi + ebx*4 + 0x114], eax
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + ebx*8 + 0x10], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + ebx*8 + 8], xmm1
movsd qword [edi + ebx*8], xmm0
mov ebx, dword [esp + 0x24]
add ebx, 2
mov eax, dword [esp + 0x2c]
cmp ecx, ebx
mov dword [edi + edx*4 + 0x19c], eax
mov eax, dword [esp + 0xc]
mov word [edi + 0x192], ax
jae 0x439d40
dec ebx
mov eax, edx
mov ecx, dword [edi + eax*4 + 0x19c]
inc eax
cmp ebx, eax
mov dword [ecx + 0x108], edi
mov word [ecx + 0x190], ax
jne 0x439b45
jmp 0x439cca
lea eax, [eax + eax*2]
mov dword [esp + 0x54], eax
lea eax, [esi + eax*4 + 0x10c]
mov dword [esp + 0x50], eax
mov eax, ecx
sub eax, ebx
lea ecx, [eax*4]
mov dword [esp + 0x84], eax
lea ecx, [ecx + ecx*2]
push ecx
push edx
push dword [esp + 0x58]
mov dword [esp + 0x5c], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x84]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
shl edx, 3
lea edx, [edx + edx*2]
mov dword [esi + edi*4 + 0x110], eax
mov eax, dword [esp + 0x20]
lea ecx, [esi + ecx*8]
mov dword [esi + edi*4 + 0x114], eax
lea eax, [esi + edi*8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x18]
add esp, 0xc
movsd xmm0, qword [esp + 0x40]
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
lea eax, [ebx + 2]
movsd qword [esi + edi*8 + 0x10], xmm0
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
movsd qword [esi + edi*8 + 8], xmm1
movsd qword [esi + edi*8], xmm0
lea edi, [ecx + 2]
cmp eax, edi
jae 0x439c46
mov ecx, dword [esp + 0x14]
mov edx, edi
lea eax, [esi + eax*4 + 0x198]
sub edx, ebx
lea edx, [edx*4 - 8]
lea ecx, [esi + ecx*4 + 0x198]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x14], edi
mov edi, dword [esp + 0xc]
mov dword [esi + ebx*4 + 0x19c], eax
mov eax, dword [esp + 0x18]
mov word [esi + 0x192], ax
jae 0x439c83
dec ebx
mov eax, dword [esi + ebx*4 + 0x1a0]
lea ecx, [ebx + 2]
inc ebx
cmp edi, ebx
mov dword [eax + 0x108], esi
mov word [eax + 0x190], cx
jne 0x439c67
movsd xmm1, qword [esp + 0x70]
mov eax, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x68]
mov edi, dword [esp + 0x28]
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [esp + 0x78]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 4]
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0xb8], xmm1
mov dword [esp + 0x14], eax
cmp word [esp + 0x24], 0xb
jb 0x439d40
mov eax, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm2
mov ebx, ecx
mov eax, dword [esi + 0x108]
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x64]
jne 0x439710
jmp 0x439d55
mov ebx, dword [esp + 0x5c]
jmp 0x439e98
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], 0
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x90]
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
mov esi, dword [edi + 4]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x68], xmm1
mov dword [esp + 0x48], eax
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm2
movsd qword [esp + 0x30], xmm1
test esi, esi
je 0x439f08
mov eax, dword [edi]
mov dword [esp + 4], eax
push 8
push 0x1c8
call fcn.00401470
add esp, 8
mov ebx, dword [esp + 0x5c]
test eax, eax
je 0x439ed5
xor ecx, ecx
mov dword [eax + 0x108], 0
mov word [eax + 0x192], cx
mov dword [eax + 0x198], esi
mov dword [esi + 0x108], eax
mov word [esi + 0x190], cx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x60]
lea ecx, [ecx + 1]
mov dword [edi], ecx
mov dword [edi + 4], eax
jne 0x439f19
movzx ecx, word [eax + 0x192]
mov edi, dword [esp + 0x64]
cmp ecx, 0xa
ja 0x439f2a
mov esi, dword [esp + 0x28]
lea edx, [ecx + 1]
mov word [eax + 0x192], dx
lea edx, [ecx + ecx*2]
mov dword [eax + edx*4 + 0x10c], esi
mov esi, dword [esp + 0x10]
mov dword [eax + edx*4 + 0x110], esi
mov dword [eax + edx*4 + 0x114], edi
lea esi, [esp + 0x34]
movsd xmm0, qword [esi + 0x10]
movsd qword [eax + edx*8 + 0x10], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov esi, dword [esp + 8]
movsd qword [eax + edx*8 + 8], xmm1
movsd qword [eax + edx*8], xmm0
mov dword [eax + ecx*4 + 0x19c], esi
inc ecx
mov dword [esi + 0x108], eax
mov word [esi + 0x190], cx
mov ecx, dword [esp + 0x58]
inc dword [ecx + 8]
mov byte [ebx], 6
jmp 0x4392bb
push 8
push 0x198
call fcn.004580e0
push 0x46235c
push 0x28
push str.assertion_failed:_src.len____dst.len__x_F
call fcn.004585e0
push 0x4623c4
push 0x35
push str.assertion_failed:_edge.height__self.node.height___1
call fcn.004585e0
push 8
push 0x1c8
call fcn.004580e0
push 0x46236c
push 0xb
push edi
call fcn.00458700
push 0x46237c
push 0xc
push eax
call fcn.00458700
push 0x46236c
push 0xb
push ebx
call fcn.00458700
push 0x462248
push 0x2b
push 0x462114
call fcn.004585e0
push 0x462314
push 0x30
push str.assertion_failed:_edge.height__self.height___1x_F
call fcn.004585e0
push 0x462324
push 0x20
push str.assertion_failed:_idx___CAPACITY_rustc_c8dfcfe046a7680554bf4eb612bad840e7631c4blibrary_alloc_srccollections_btree_node.rs
call fcn.004585e0
int3