Function at 0x1007d770
Capabilities:
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xffffffe0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1021f719
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a8
mov eax, dword [0x104fb780]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xb0], eax
xor eax, eax
push esi
push 8
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x2c]
push 1
push eax
call fcn.10131509
push 8
lea eax, [ebp - 0x2c]
push 0
push eax
call fcn.10169a40
add esp, 0x1c
test eax, eax
jne 0x1007d846
push eax
push eax
push eax
push str.1.6.43
call fcn.10169e90
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x1007d846
push eax
call fcn.10168550
add esp, 4
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x1007d866
push eax
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.10169ee0
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.1011f88a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push dword [ebp - 0x9c]
call fcn.10169830
push 8
push dword [ebp - 0x9c]
call fcn.10169a10
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016a440
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016f2b0
add esp, 0x3c
cmp dword [ebp - 0xc0], 3
jne 0x1007d8dd
push dword [ebp - 0x9c]
call fcn.1016efe0
add esp, 4
cmp dword [ebp - 0xb8], 8
jge 0x1007d8f4
push dword [ebp - 0x9c]
call fcn.1016efe0
add esp, 4
push 0x10
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016f3e0
add esp, 0xc
test eax, eax
je 0x1007d91c
push dword [ebp - 0x9c]
call fcn.1016efe0
add esp, 4
cmp dword [ebp - 0xb8], 0x10
jne 0x1007d933
push dword [ebp - 0x9c]
call fcn.1016f280
add esp, 4
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016f380
add esp, 0xc
test eax, eax
je 0x1007d97e
vmovsd xmm0, qword [ebp - 0xd8]
sub esp, 0x10
vmovsd qword [esp + 8], xmm0
vmovsd xmm0, qword [0x10407168]
vmovsd qword [esp], xmm0
push dword [ebp - 0x9c]
call fcn.1016f040
add esp, 0x14
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016ab80
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016f2b0
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1016f3c0
mov ecx, dword [ebp - 0xac]
vmovd xmm0, eax
vpbroadcastd ymm0, xmm0
shl ecx, 2
mov dword [ebp - 0xa8], eax
vmovdqu ymmword [ebp - 0x80], ymm0
push ecx
vzeroupper
call fcn.10131c27
mov edi, eax
add esp, 0x38
test edi, edi
jne 0x1007dbff
cmp byte [0x1050223f], 2
ja 0x1007db3f
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], al
mov edx, str.F:_vcpkg_2024.05.24_buildtreesopenmvg_src1047522df9_165948b43b.clean_srcopenMVGimageimage_io.cpp
mov dword [ebp - 4], eax
mov dword [ebp - 0xa8], 1
mov eax, edx
mov cl, 0x46
nop
cmp cl, 0x2f
je 0x1007da4d
cmp byte [eax], 0x5c
je 0x1007da4d
inc eax
jmp 0x1007da52
lea edx, [eax + 1]
mov eax, edx
mov cl, byte [eax]
test cl, cl
jne 0x1007da40
push edx
lea ecx, [ebp - 0x78]
call fcn.10021faf
push 0x98
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 1
push 0
push eax
mov dword [ebp - 0xa8], 3
call fcn.10122460
push 0x38
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.10122460
lea eax, [ebp - 0x2f]
push 0x150
push eax
call fcn.1002b80f
add esp, 0x20
lea ecx, [ebp - 0xb1]
push ecx
lea ecx, [ebp - 0x2f]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.1002b82f
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 2
mov dword [ebp - 0xa8], 0x67
call fcn.1001f6e7
mov esi, eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 3
mov dword [ebp - 0xa8], 0x6f
call fcn.10025694
mov dword [ebp - method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_0], 0x10406ff0
mov eax, 0x7f
mov dword [ebp - 4], 4
mov dword [ebp - 0xa0], eax
mov ecx, esi
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x78]
push eax
push 2
call fcn.1001d2ce
push str.Cannot_allocate_the_image_memory_buffer
push eax
call fcn.100286c7
add esp, 8
mov eax, dword [ebp - 0xa0]
test al, 0x10
je 0x1007db63
and eax, 0xffffffef
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xa0], eax
call fcn.1001f6fd
mov eax, dword [ebp - 0xa0]
test al, 8
je 0x1007db81
and eax, 0xfffffff7
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0xa0], eax
call fcn.1001d226
mov eax, dword [ebp - 0xa0]
test al, 4
je 0x1007db9f
and eax, 0xfffffffb
lea ecx, [ebp - 0x98]
mov dword [ebp - 0xa0], eax
call fcn.10026119
mov eax, dword [ebp - 0xa0]
test al, 2
je 0x1007dbba
and eax, 0xfffffffd
lea ecx, [ebp - 0x78]
mov dword [ebp - 0xa0], eax
call fcn.10026119
mov eax, dword [ebp - 0xa0]
test al, 1
je 0x1007d846
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x1007d846
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007dbf0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007dd9a
push ecx
push edx
call fcn.1011fe6e
add esp, 8
jmp 0x1007d846
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
push dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0x9c]
mov dword [esi], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx], eax
call fcn.1016f360
mov ecx, dword [ebp - 0xb0]
add esp, 8
movzx eax, al
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx]
imul ecx, eax
imul ecx, dword [esi]
push ecx
mov ecx, dword [ebp - 0xbc]
call fcn.1007e6f0
mov esi, dword [ebp - 0xac]
xor ecx, ecx
test esi, esi
je 0x1007dd56
cmp esi, 0x20
jb 0x1007dd1b
mov eax, dword [ebp - 0xbc]
lea edx, [edi + 0x40]
vmovdqu ymm1, ymmword [0x10407180]
vmovdqu ymm3, ymmword [ebp - 0x80]
vpbroadcastd ymm2, dword [eax]
mov eax, esi
and eax, 0xffffffe0
mov esi, eax
nop
vmovd xmm0, ecx
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm1
vpmulld ymm0, ymm0, ymm3
vpaddd ymm0, ymm0, ymm2
vmovdqu ymmword [edx - 0x40], ymm0
lea eax, [ecx + 8]
vmovd xmm0, eax
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm1
vpmulld ymm0, ymm0, ymm3
vpaddd ymm0, ymm0, ymm2
vmovdqu ymmword [edx - 0x20], ymm0
lea eax, [ecx + 0x10]
vmovd xmm0, eax
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm1
vpmulld ymm0, ymm0, ymm3
vpaddd ymm0, ymm0, ymm2
vmovdqu ymmword [edx], ymm0
lea eax, [ecx + 0x18]
add ecx, 0x20
lea edx, [edx + 0x80]
vmovd xmm0, eax
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm1
vpmulld ymm0, ymm0, ymm3
vpaddd ymm0, ymm0, ymm2
vmovdqu ymmword [edx - 0x60], ymm0
cmp ecx, esi
jb 0x1007dc90
mov esi, dword [ebp - 0xac]
cmp ecx, esi
jae 0x1007dd56
mov eax, dword [ebp - 0xbc]
mov edx, ecx
imul edx, dword [ebp - 0xa8]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
nop word [eax + eax]
add eax, edx
add edx, dword [ebp - 0xa8]
mov dword [edi + ecx*4], eax
inc ecx
mov eax, dword [ebp - 0xb0]
cmp ecx, esi
jb 0x1007dd40
push edi
push dword [ebp - 0x9c]
vzeroupper
call fcn.1016a380
push 0
push dword [ebp - 0x9c]
call fcn.1016a060
push edi
call fcn.10131079
push 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.10169ee0
add esp, 0x20
mov eax, 1
jmp 0x1007d848
call fcn.10131bd6
int3