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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5a0
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 8]
imul ecx, dword [ebp + 0xc], 0x138
and dword [esp + 0x3c], 0
and dword [esp + 0x30], 0
mov dword [esp + 0x34], 4
and dword [esp + 0x38], 0
mov dword [esp + 0x44], edx
mov dword [edx + 0xc], 2
add ecx, eax
cmp eax, ecx
je 0x433792
mov esi, eax
add eax, 0x138
test byte [esi + 0x11], 0x10
jne 0x432e35
mov ebx, dword [esi + 0xc0]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
cmp edi, ebx
jbe 0x432eac
mov eax, dword [esp + 0x34]
mov ecx, ebx
shl ecx, 4
mov eax, dword [eax + ecx]
and dword [esp + 0x364], 0
and dword [esp + 0x36c], 0
test eax, eax
je 0x432f28
mov ecx, dword [esp + 0x34]
mov edx, edi
push 0x502eb4
push ebx
call fcn.0042cfc0
pop ecx
pop edx
lea ecx, [esp + 0x364]
mov dword [esp + 0x10], eax
call fcn.0042cada
jmp 0x433031
mov eax, dword [esp + 0x30]
mov dword [esp], ebx
inc ebx
and dword [esp + 0x364], 0
and dword [esp + 0x36c], 0
mov ecx, ebx
sub ecx, edi
mov edx, eax
sub edx, edi
cmp edx, ecx
jae 0x432f22
add ecx, edi
jb 0x433961
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, eax
cmp eax, ebx
cmovbe eax, ebx
xor edx, edx
cmp eax, 0x8000000
setb byte [esp + 0xc]
cmp eax, 5
push 4
pop ecx
cmovb eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
test eax, eax
je 0x432f2e
mov ecx, dword [esp + 0x34]
shl eax, 4
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d8], eax
push 4
pop ecx
jmp 0x432f30
mov ecx, dword [esp + 0x34]
jmp 0x432f86
mov ecx, dword [esp + 0x34]
jmp 0x432fa1
xor ecx, ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x1d4], ecx
lea ecx, [esp + 0x460]
shl eax, 4
mov dword [esp + 4], eax
mov al, byte [esp + 0xc]
mov dl, al
lea eax, [esp + 0x1d0]
shl edx, 2
push eax
push dword [esp + 8]
call fcn.004b20e8
pop eax
pop ecx
cmp dword [esp + 0x460], 0
jne 0x43394e
mov ecx, dword [esp + 0x464]
mov eax, dword [esp + 8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov eax, edi
shl eax, 4
add eax, ecx
cmp ebx, edi
je 0x432f9a
and dword [eax], 0
inc edi
add eax, 0x10
jmp 0x432f8d
mov ebx, dword [esp]
mov dword [esp + 0x38], edi
mov dword [esp], ecx
mov edx, edi
push 0x502e84
push ebx
call fcn.00465a45
pop ecx
pop edx
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x1d8], edx
test ecx, ecx
movsd xmm0, qword [eax + 4]
movsd qword [esp + 0x1d0], xmm0
mov dword [eax], 1
mov edx, dword [esp + 0x36c]
mov dword [eax + 0xc], edx
movsd xmm0, qword [esp + 0x364]
movsd qword [eax + 4], xmm0
jne 0x432ff3
inc dword [esp + 0x3c]
mov eax, dword [esp + 0x1d8]
movsd xmm0, qword [esp + 0x1d0]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x7c]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
lea ecx, [esp + 0x78]
call fcn.0042cac7
mov ecx, dword [esp]
mov edx, edi
push 0x502ea4
push ebx
call fcn.0042cfc0
pop ecx
pop edx
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x44]
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x50]
mov edi, dword [ebx + 0xc]
call fcn.00432500
cmp edi, eax
lea ecx, [esp + 0x68]
cmova eax, edi
mov dword [ebx + 0xc], eax
mov edx, dword [esi + 0x4c]
push dword [esi + 0x50]
call fcn.0041f550
pop eax
lea ecx, [esp + 0x460]
mov edx, esi
call fcn.0042c00e
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x433131
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea ebx, [eax + 0xd6c]
mov dword [esp + 0xc], eax
movzx eax, word [eax + 0xdf2]
imul esi, eax, 0xc
xor edi, edi
mov dword [esp + 0x1c], eax
dec edi
test esi, esi
je 0x4330dc
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
lea eax, [ebx + 0xc]
mov dword [esp], eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.0042812b
pop ecx
pop edx
mov ebx, dword [esp]
add esi, 0xfffffff4
inc edi
cmp al, 1
je 0x4330a9
movzx eax, al
test eax, eax
jne 0x4330e0
jmp 0x4330fe
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
sub ecx, 1
jb 0x433217
mov eax, dword [eax + edi*4 + 0xdf8]
mov dword [esp + 0x14], ecx
jmp 0x43308e
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 4]
mov dword [esp + 0x48], 0x80000000
call fcn.004b2152
jmp 0x433158
movsd xmm0, qword [esp + 0x68]
mov eax, dword [esp + 0x70]
movsd qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edi
and dword [esp + 0x58], 0
cmp dword [esp + 0x48], 0x80000000
jne 0x43319e
imul esi, edi, 0x138
mov ebx, 0x138
add esi, dword [esp + 0x4c]
push ebx
push esi
lea edi, [esp + 0x80]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
lea eax, [esp + 0x464]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0xb0], 2
je 0x43320a
mov ecx, edi
call fcn.004275bb
jmp 0x43320a
mov ebx, edi
call fcn.0042a70d
mov esi, eax
movzx eax, word [eax + 0xdf2]
cmp eax, 0xb
jae 0x433968
lea ecx, [eax + 1]
mov word [esi + 0xdf2], cx
imul ecx, eax, 0xc
imul eax, eax, 0x138
mov edx, dword [esp + 0x50]
add eax, esi
mov dword [esi + ecx + 0xd74], edx
movsd xmm0, qword [esp + 0x48]
movsd qword [esi + ecx + 0xd6c], xmm0
mov ecx, 0x138
push ecx
lea ecx, [esp + 0x464]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [ebx], esi
and dword [ebx + 4], 0
mov dword [ebx + 8], 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
jmp 0x432e35
mov dword [esp + 0x58], eax
and dword [esp + 0x5c], 0
mov dword [esp + 0x60], edi
movsd xmm0, qword [esp + 0x68]
mov ecx, eax
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
movsd qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edi
cmp dword [esp + 0x48], 0x80000000
je 0x433158
cmp word [ecx + 0xdf2], 0xb
jae 0x433286
lea eax, [esp + 0x460]
lea ecx, [esp + 0x1d0]
lea edx, [esp + 0x58]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0042ab28
pop eax
pop ecx
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
jmp 0x433776
mov eax, dword [esp + 0x60]
cmp eax, 5
jae 0x4332a6
mov dword [esp + 8], 0x148
mov dword [esp], 0x14c
mov dword [esp + 0x10], eax
push 4
jmp 0x4332f7
je 0x4332c8
cmp eax, 6
jne 0x4332df
mov dword [esp + 0x10], 0
mov dword [esp], 0x154
mov dword [esp + 8], 0x150
push 5
jmp 0x4332f7
mov dword [esp + 8], 0x148
mov dword [esp], 0x14c
mov esi, eax
mov dword [esp + 0x10], eax
jmp 0x4332f8
add eax, 0xfffffff9
mov dword [esp], 0x154
mov dword [esp + 8], 0x150
mov dword [esp + 0x10], eax
push 6
pop esi
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0042a70d
mov edx, dword [esp + 0xc]
mov edi, esi
not esi
mov ebx, eax
mov dword [esp + 0x1c], edi
movzx ecx, word [edx + 0xdf2]
add esi, ecx
mov word [eax + 0xdf2], si
imul eax, edi, 0xc
imul edi, edi, 0x138
lea ecx, [edx + eax + 0xd78]
add edi, edx
mov eax, dword [ecx - 4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], eax
mov eax, 0x138
movsd xmm0, qword [ecx - 0xc]
movsd qword [esp + 0x20], xmm0
push eax
push edi
lea eax, [esp + 0x1d8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edx, [ebx + 0xd6c]
mov ecx, esi
mov dword [esp + 0x14], ebx
call fcn.004b3753
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], eax
mov eax, edx
mov edx, esi
push eax
push dword [esp + 0x78]
call fcn.0042aa0f
pop eax
pop ecx
mov eax, 0x138
mov ecx, esi
mov edx, ebx
add edi, eax
call fcn.0042aa3b
mov ebx, edx
mov ecx, edi
mov edx, esi
push ebx
push eax
call fcn.0042aa55
pop eax
pop ecx
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov word [edi + 0xdf2], ax
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0x80], eax
mov eax, 0x138
movsd qword [esp + 0x78], xmm0
push eax
lea esi, [esp + 0x1d4]
push esi
lea eax, [esp + 0x90]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0x1c0], edi
lea ecx, [esp + 0x20]
mov edx, esi
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 8]
and dword [esp + 0x1cc], 0
mov eax, dword [esp + eax + 0x78]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp]
mov eax, dword [esp + eax + 0x78]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1d8], eax
lea eax, [esp + 0x460]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0042ab28
pop eax
pop ecx
push 0x12
pop ebx
mov ecx, ebx
lea edi, [esp + 0x318]
lea esi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0xc0]
push 0xfc
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x36c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp esi, 2
je 0x433776
mov eax, esi
mov ecx, ebx
lea edi, [esp + 0x1d0]
lea esi, [esp + 0x318]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x218], eax
push 0xfc
lea eax, [esp + 0x368]
push eax
lea eax, [esp + 0x224]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
xor edx, edx
mov dword [esp], eax
mov ecx, dword [ebx + 0xd68]
lea eax, [esp + 0x78]
test ecx, ecx
je 0x433690
cmp edi, edx
jne 0x43397a
movzx esi, word [ebx + 0xdf0]
cmp word [ecx + 0xdf2], 0xb
jb 0x433759
inc edi
cmp si, 5
jae 0x433525
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 4
jmp 0x433592
cmp esi, 5
je 0x433582
cmp esi, 6
jne 0x433671
lea esi, [esp + 0x78]
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 5
mov ecx, esi
call fcn.0042a86c
mov ecx, dword [esp + 0x1c8]
xor edx, edx
push dword [esp]
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0042a7bf
add esp, 0xc
push 0x12
pop ecx
lea edi, [esp + 0x318]
jmp 0x4335d3
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 5
lea edi, [esp + 0x1c0]
lea ebx, [esp + 0x78]
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.0042a86c
mov ecx, dword [edi]
mov edx, esi
push dword [esp]
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0042a7bf
add esp, 0xc
push 0x12
pop ecx
lea edi, [esp + 0x318]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc0]
push 0xfc
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x36c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov edx, edi
cmp edi, 2
lea edi, [esp + 0x1d0]
je 0x433776
mov dword [esp], eax
mov dword [esp + 4], ecx
push 0x12
pop ecx
mov dword [esp + 8], ebx
mov ebx, esi
lea esi, [esp + 0x318]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x218], edx
push 0xfc
lea eax, [esp + 0x368]
push eax
lea eax, [esp + 0x224]
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esp, 0xc
jmp 0x4334dd
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
add esi, 0xfffffff9
mov dword [esp + 0x28], 6
lea edi, [esp + 0x1c8]
jmp 0x433599
mov dword [esp + 4], edx
push 0x148
lea ecx, [esp + 0x1d4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x54]
mov ebx, dword [edi]
test ebx, ebx
je 0x43398c
mov esi, dword [edi + 4]
call fcn.0042a73f
inc esi
mov ecx, eax
mov dword [eax + 0xdf8], ebx
mov edx, esi
call fcn.0042a771
mov dword [edi], eax
mov dword [edi + 4], edx
dec edx
cmp edx, dword [esp + 4]
jne 0x433996
movzx edi, word [eax + 0xdf2]
mov esi, eax
cmp edi, 0xb
jae 0x4339a8
lea ebx, [edi + 1]
imul eax, edi, 0xc
mov word [esi + 0xdf2], bx
movsd xmm0, qword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d8]
mov dword [esi + eax + 0xd74], ecx
movsd qword [esi + eax + 0xd6c], xmm0
imul eax, edi, 0x138
mov ecx, esi
add ecx, eax
mov eax, 0x138
push eax
lea eax, [esp + 0x8c]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [esi + edi*4 + 0xdfc], eax
mov dword [eax + 0xd68], esi
mov word [eax + 0xdf0], bx
jmp 0x433776
mov edx, esi
push dword [esp]
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0042a7bf
add esp, 0xc
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
inc dword [eax + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
jmp 0x432e35
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov cl, 1
xor esi, esi
mov dword [esp + 4], ecx
mov edx, eax
shl edx, 4
add edx, edi
mov ecx, edi
cmp esi, eax
jae 0x433913
cmp ecx, edx
mov edi, edx
je 0x4337c1
cmp dword [ecx], 0
lea edi, [ecx + 0x10]
jne 0x4337c4
inc esi
jmp 0x4337a9
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edx
test eax, eax
mov edi, eax
setne dl
je 0x4337df
mov edi, dword [ecx + 0xc]
inc esi
xor ebx, ebx
mov dword [esp + 0x10], esi
mov esi, dword [ecx + 8]
xor ecx, ecx
mov cl, dl
mov dword [esp + 8], ecx
test edi, edi
je 0x4338fe
cmp dword [esp + 8], 0
je 0x433944
test ebx, ebx
jne 0x433822
mov ebx, eax
sub esi, 1
jb 0x433817
mov ebx, dword [ebx + 0xdf8]
jmp 0x43380a
xor esi, esi
xor eax, eax
inc eax
mov dword [esp + 8], eax
xor eax, eax
dec edi
mov edx, esi
mov ecx, ebx
movzx esi, word [ecx + 0xdf2]
cmp edx, esi
jb 0x43384c
mov esi, dword [ecx + 0xd68]
test esi, esi
je 0x43393a
movzx edx, word [ecx + 0xdf0]
inc eax
mov ecx, esi
jmp 0x433827
lea esi, [edx + 1]
test eax, eax
mov dword [esp], edi
je 0x43387b
lea esi, [ecx + esi*4 + 0xdf8]
mov ebx, dword [esi]
dec eax
lea esi, [ebx + 0xdf8]
jne 0x43385d
imul edi, edx, 0x138
xor esi, esi
add edi, ecx
test ecx, ecx
jne 0x433885
jmp 0x4338fe
imul edi, edx, 0x138
mov ebx, ecx
add edi, ecx
test byte [esp + 4], 1
jne 0x4338bc
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 4]
push 1
push 0x5167e9
push dword [ecx]
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0x1c]
add esp, 0x10
cmp byte [esp + 0x78], 4
je 0x4338c4
mov ecx, dword [esp + 0x78]
cmp cl, 4
je 0x4338c4
jmp 0x43392b
mov dword [esp + 4], 0
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x78]
push 0x503414
push edi
call fcn.0043066d
pop eax
pop ecx
cmp byte [esp + 0x78], 4
jne 0x4338ea
mov edi, dword [esp]
xor eax, eax
jmp 0x4337f1
mov ecx, dword [esp + 0x78]
mov edi, dword [esp]
xor eax, eax
cmp cl, 4
je 0x4337f1
jmp 0x43392b
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jmp 0x4337a9
mov eax, dword [esp + 0x64]
mov byte [eax], 4
lea ecx, [esp + 0x30]
call fcn.00433c8f
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x43391a
mov ecx, 0x502e04
call fcn.00444f90
mov ecx, 0x502b4c
call fcn.00444f90
mov ecx, dword [esp + 0x464]
mov edx, dword [esp + 0x468]
call fcn.0041ec50
xor ecx, ecx
call fcn.0041ec50
push 0x20
pop edx
mov ecx, str.assertion_failed:_idx___CAPACITY_rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_srccollections_btree_node.rs
push 0x513370
call fcn.004434c0
push 0x35
pop edx
mov ecx, str.assertion_failed:_edge.height__self.node.height___1
push 0x513470
call fcn.004434c0
mov ecx, 0x5132e4
call fcn.00444f90
push 0x30
pop edx
mov ecx, str.assertion_failed:_edge.height__self.height___1
push 0x5133b0
call fcn.004434c0
push 0x20
pop edx
mov ecx, str.assertion_failed:_idx___CAPACITY_rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_srccollections_btree_node.rs
push 0x5133c0
call fcn.004434c0