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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xac
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0xc4]
mov esi, edx
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
movdqa xmm0, xmmword [ecx]
lea eax, [eax + ecx + 1]
mov dword [esp + 0x58], ecx
add ecx, 0x10
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x20]
pmovmskb eax, xmm0
not eax
mov word [esp + 0x64], ax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00441620
add esp, 8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x94], ecx
test eax, eax
je 0x44f83c
lea eax, [ecx + eax*8]
mov edi, ecx
mov dword [esp], 0
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
nop dword [eax + eax]
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0x18], eax
je 0x44fa0d
mov esi, dword [esp + 4]
mov dword [esp + 0x7c], edi
mov edi, dword [edi + 4]
mov eax, dword [esi + 0xac]
test eax, eax
je 0x44f580
mov ebp, dword [esi + 0xa4]
imul esi, eax, 0x78
add ebp, 0x60
jmp 0x44f2cc
add ebp, 0x78
add esi, 0xffffff88
je 0x44f400
cmp dword [ebp - 0x5c], edi
jne 0x44f2c0
push edi
push dword [esp + 0x1c]
push dword [ebp - 0x60]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44f2c0
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x48]
test ecx, ecx
cmove eax, ecx
je 0x44f400
mov esi, dword [eax + 8]
test esi, esi
je 0x44f400
mov dword [esp + 8], edi
mov edi, dword [eax]
shl esi, 3
add edi, 4
jmp 0x44f31c
add edi, 8
add esi, 0xfffffff8
je 0x44f671
mov eax, dword [esp + 0xc4]
cmp dword [edi], eax
jne 0x44f310
push dword [esp + 0xc4]
push dword [esp + 0xc4]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44f310
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
push 0x4ae1cc
lea eax, [esp + 0x50]
push eax
lea esi, [esp + 0x60]
push esi
call fcn.004775e0
add esp, 0xc
mov eax, dword [ebp - 4]
test eax, eax
je 0x44f695
mov ecx, dword [ebp]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x20], 0x4acf7c
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0x403db0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x34], 1
mov dword [esp + 0x90], ecx
push eax
push esi
call fcn.00477ed0
add esp, 8
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 8]
test al, al
mov esi, dword [esp + 4]
je 0x44f70e
jmp 0x44fd72
mov edx, dword [esp]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 4]
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x44f591
mov dword [esp + 0xc], ebx
mov ebx, dword [esi + 0xb0]
imul esi, eax, 0x110
mov dword [esp + 0x10], edx
add ebx, 0xb0
jmp 0x44f452
add ebx, 0x110
add esi, 0xfffffef0
je 0x44f560
cmp dword [ebx - 0x14], edi
jne 0x44f440
push edi
push dword [esp + 0x1c]
push dword [ebx - 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44f440
mov eax, dword [ebx]
test eax, eax
cmovne eax, ebx
je 0x44f560
mov esi, dword [eax + 8]
test esi, esi
je 0x44f560
mov dword [esp + 8], edi
mov edi, dword [eax]
add ebx, 0xffffff50
shl esi, 3
add edi, 4
jmp 0x44f4ac
add edi, 8
add esi, 0xfffffff8
je 0x44f684
cmp dword [edi], ebp
jne 0x44f4a0
push ebp
push dword [esp + 0xc4]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44f4a0
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
push 0x4ae1cc
lea eax, [esp + 0x24]
push eax
lea esi, [esp + 0x60]
push esi
call fcn.004775e0
add esp, 0xc
push esi
push ebx
call fcn.0042f850
add esp, 8
test al, al
jne 0x44fd72
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
test edx, edx
mov dword [esp + 0x14], eax
je 0x44f56f
test ebx, ebx
je 0x44f56f
push 1
push ebx
push edx
mov ebx, ecx
call fcn.00406c80
mov ecx, ebx
add esp, 0xc
mov edx, dword [esi + 0xc8]
test edx, edx
jne 0x44f5a4
jmp 0x44f657
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov esi, dword [esp + 4]
mov edx, dword [esi + 0xc8]
test edx, edx
jne 0x44f5a4
jmp 0x44f657
mov edx, dword [esp]
mov eax, dword [esi + 0xb8]
test eax, eax
jne 0x44f41c
mov ecx, ebx
mov dword [esp], edx
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x44f657
mov esi, dword [esi + 0xc0]
imul ebp, edx, 0xf8
mov eax, edx
mov dword [esp + 8], edi
xor edi, edi
neg eax
mov dword [esp + 0x10], eax
add ebp, esi
cmp esi, ebp
je 0x44f650
inc edi
mov ebx, esi
jmp 0x44f5e2
mov esi, ebp
mov eax, dword [esp + 0x10]
mov ebx, esi
lea eax, [eax + edi + 1]
inc edi
cmp eax, 1
je 0x44f650
cmp ebx, ebp
je 0x44f5d0
mov eax, dword [ebx]
lea esi, [ebx + 0xf8]
xor eax, 2
or eax, dword [ebx + 4]
je 0x44f5d2
mov eax, dword [esp + 8]
cmp dword [ebx + 0xa4], eax
jne 0x44f63e
mov eax, dword [ebx + 0xa0]
push dword [esp + 8]
push dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
push eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0xa8], edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x44f75a
cmp edi, edx
jb 0x44f5c0
nop word cs:[eax + eax]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x7c]
mov esi, ecx
add edi, 8
mov ebx, esi
cmp edi, dword [esp + 0x48]
jne 0x44f280
jmp 0x44f843
mov edx, dword [esp]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 8]
jmp 0x44f40a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 8]
jmp 0x44f568
mov eax, dword [ebp - 8]
mov edi, dword [esp + 8]
cmp eax, 0x110000
je 0x44fd92
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x20], 0x4acef4
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], fcn.00478850
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x34], 1
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.00477ed0
add esp, 8
mov ebp, dword [esp + 0xc4]
test al, al
mov esi, dword [esp + 4]
jne 0x44fd72
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp dword [esp], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ecx
je 0x44f73f
test ebx, ebx
je 0x44f73f
push 1
push ebx
push dword [esp + 8]
call fcn.00406c80
add esp, 0xc
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov eax, dword [esi + 0xb8]
test eax, eax
jne 0x44f41c
jmp 0x44f591
mov eax, dword [ebx + 0xb8]
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x7c]
add ebx, 0xb8
test eax, eax
cmove ebx, eax
je 0x44f65b
mov esi, dword [ebx + 8]
test esi, esi
je 0x44f65b
mov edi, dword [ebx]
shl esi, 3
mov ebx, edx
add edi, 4
jmp 0x44f7ac
add edi, 8
add esi, 0xfffffff8
je 0x44f657
cmp dword [edi], ebp
jne 0x44f7a0
push ebp
push dword [esp + 0xc4]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x44f7a0
mov esi, dword [esp + 8]
test esi, esi
je 0x44f7f1
mov edi, dword [esp + 0x7c]
js 0x44fda8
push 1
push esi
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44f7fa
jmp 0x44fdaf
mov edi, dword [esp + 0x7c]
mov eax, 1
push esi
push ebx
push eax
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp], 0
je 0x44f824
mov eax, dword [esp + 0xc]
test eax, eax
je 0x44f824
push 1
push eax
push dword [esp + 8]
call fcn.00406c80
add esp, 0xc
mov dword [esp + 0x14], esi
mov dword [esp], ebx
add edi, 8
mov ebx, esi
cmp edi, dword [esp + 0x48]
jne 0x44f280
jmp 0x44f843
mov dword [esp], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x44f864
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x9c]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
push ebp
push dword [esp + 0xc4]
mov dword [esp + 0xc], eax
push eax
call fcn.0042c730
add esp, 0xc
test eax, eax
lea ebx, [esp + 0x58]
je 0x44fac5
push eax
call dword [edx + 0x20]
add esp, 4
test eax, eax
je 0x44fac5
lea edi, [edx*8]
mov ecx, eax
test edi, edi
je 0x44fac5
mov eax, dword [esp + 0xc8]
cmp dword [eax + 0x1c], 0
je 0x44faba
lea eax, [ecx + edx*8]
mov dword [esp + 8], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x44], eax
mov eax, 1
test eax, eax
je 0x44f9d5
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
push esi
mov dword [esp + 0x14], ecx
push ecx
mov edi, dword [esp + 0xd0]
push edi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ecx, dword [edi + 0x10]
mov ebx, eax
mov edi, dword [edi + 0x14]
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], esi
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ebx, ecx
lea ebp, [edi - 0x28]
mov dword [esp + 0x48], edi
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmmword [esp + 0x9c], xmm0
mov eax, dword [esp + 0x48]
movdqu xmm0, xmmword [esp + 0x9c]
movdqu xmm1, xmmword [eax + ebx]
pcmpeqb xmm0, xmm1
movdqu xmmword [esp + 0x7c], xmm1
pmovmskb edi, xmm0
test edi, edi
jne 0x44f99c
movdqu xmm1, xmmword [esp + 0x7c]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44f9d5
mov eax, dword [esp + 0xc]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0xc], eax
and ebx, ecx
jmp 0x44f939
lea eax, [edi - 1]
and eax, edi
test ax, ax
mov edi, eax
je 0x44f95d
bsf ax, di
movzx eax, ax
add eax, ebx
and eax, ecx
neg eax
lea eax, [eax + eax*4]
cmp dword [ebp + eax*8 + 4], esi
jne 0x44f990
push esi
push dword [ebp + eax*8]
push dword [esp + 0x18]
mov esi, ebx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memcmp
mov ecx, ebx
mov ebx, esi
mov esi, dword [esp + 0x24]
add esp, 0xc
test eax, eax
jne 0x44f990
jmp 0x44fa20
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 8]
lea ebx, [esp + 0x58]
add eax, 8
cmp eax, dword [esp + 0x44]
je 0x44fac5
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x44f8d8
jmp 0x44f9d5
mov esi, ebx
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x44f84b
jmp 0x44f864
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push dword [eax]
push dword [esp + 0xc]
call fcn.0042c730
add esp, 0xc
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 8]
test eax, eax
lea ebx, [esp + 0x58]
je 0x44fac5
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x4ae510
mov dword [esp + 0x5c], 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x60], 0
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], 0x431d20
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 1
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.00474030
add esp, 8
mov eax, dword [esp + 0x20]
cmp dword [esp], 0
je 0x44facd
test eax, eax
je 0x44fadc
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x44fadc
push 1
push ecx
push eax
call fcn.00406c80
add esp, 0xc
jmp 0x44fadc
shl edx, 3
nop dword [eax]
add edx, 0xfffffff8
jne 0x44fac0
cmp dword [esp], 0
jne 0x44fadc
xor eax, eax
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 8], esi
sub esp, 4
push 0
push dword [esp + 0xd0]
mov esi, dword [esp + 0x10]
push esi
lea eax, [esp + 0x30]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [esi + 0xac]
test eax, eax
je 0x44fb8e
mov ecx, dword [esp + 4]
imul edi, eax, 0x78
mov esi, dword [ecx + 0xa4]
jmp 0x44fb28
add esi, 0x78
add edi, 0xffffff88
je 0x44fb8e
cmp dword [esi + 4], ebp
jne 0x44fb20
push ebp
push dword [esp + 0xc4]
push dword [esi]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44fb20
mov eax, dword [esp]
mov edi, dword [esp + 0x20]
mov edx, 2
mov dword [esp + 0x58], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x2c]
push edi
push ebx
push 0x4ae494
push esi
jmp 0x44fd31
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x44fc3b
mov ecx, dword [esp + 4]
imul edi, eax, 0x110
mov esi, dword [ecx + 0xb0]
jmp 0x44fbce
add esi, 0x110
add edi, 0xfffffef0
je 0x44fc3b
cmp dword [esi + 0x9c], ebp
jne 0x44fbc0
push ebp
push dword [esp + 0xc4]
push dword [esi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44fbc0
mov eax, dword [esp]
mov edi, dword [esp + 0x20]
mov edx, 2
mov dword [esp + 0x58], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x2c]
push edi
push ebx
push 0x4ae38c
push esi
jmp 0x44fd31
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc8]
test ecx, ecx
je 0x44fd5c
mov eax, dword [esp + 4]
mov edx, ecx
imul ebp, ecx, 0xf8
xor edi, edi
mov dword [esp + 0x10], ecx
neg edx
mov dword [esp + 0x18], edx
mov esi, dword [eax + 0xc0]
add ebp, esi
jmp 0x44fc78
cmp edi, ecx
jae 0x44fd5c
cmp esi, ebp
je 0x44fd5c
inc edi
mov ebx, esi
jmp 0x44fca2
mov esi, ebp
lea eax, [edx + edi + 1]
inc edi
mov ebx, esi
cmp eax, 1
je 0x44fd5c
cmp ebx, ebp
je 0x44fc90
mov eax, dword [ebx]
lea esi, [ebx + 0xf8]
xor eax, 2
or eax, dword [ebx + 4]
je 0x44fc92
mov eax, dword [esp + 0xc4]
cmp dword [ebx + 0xa4], eax
jne 0x44fc70
push eax
push dword [esp + 0xc4]
push dword [ebx + 0xa0]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x44fc70
mov eax, dword [esp]
mov edi, dword [esp + 0x20]
mov edx, 2
mov dword [esp + 0x58], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x2c]
push edi
lea eax, [esp + 0x64]
push eax
push 0x4ae408
push ebx
push dword [esp + 0x58]
call fcn.0043bc10
add esp, 0x1c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x44fd51
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
add esp, 0xac
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x4ae484
push 0x63
push 0x4ae316
call fcn.0047f010
add esp, 0xc
ud2
push 0x4ae268
push 0x4ae2a4
lea eax, [esp + 0x40]
push eax
push 0x37
push str.a_Display_implementation_returned_an_error_unexpectedly_rustc_4b91a6ea7258a947e59c6522cd5898e7c0a6a88flibrary_alloc_src_string.rs
call fcn.004806c0
add esp, 0x14
ud2
push 0x4acf68
push 0x2b
push 0x4acb83
call fcn.00480530
add esp, 0xc
ud2
call fcn.00473a80
ud2
push 1
push esi
call fcn.004804a0
add esp, 8
ud2