Function at 0x10028890
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f6df8
mov eax, dword fs:[0]
push eax
mov eax, 0x403c
call fcn.100f2af0
mov eax, dword [0x10126008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x10028a91
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.1002af70
mov ebx, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 0
mov esi, dword [edi]
cmp esi, dword [edi + 4]
je 0x100289c7
mov eax, dword [esi]
cmp eax, 0x400
ja 0x1002893f
je 0x1002896b
cmp eax, 0x40
ja 0x10028931
je 0x1002896b
sub eax, 1
je 0x1002896b
sub eax, 7
je 0x10028923
sub eax, 0x18
jmp 0x10028969
mov eax, dword [esi + 0x818]
mov ecx, dword [esi + 0x81c]
jmp 0x10028971
cmp eax, 0x100
je 0x1002896b
cmp eax, 0x200
jmp 0x10028969
cmp eax, 0x20000000
ja 0x1002895d
je 0x1002896b
cmp eax, 0x4000
je 0x1002896b
cmp eax, 0x8000000
je 0x10028923
cmp eax, 0x10000000
jmp 0x10028969
cmp eax, 0x40000000
je 0x1002896b
cmp eax, 0x80000000
jne 0x100289b3
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push 0x4020
mov dword [ebp - 0x4048], eax
lea eax, [ebp - 0x4040]
push esi
push eax
mov dword [ebp - 0x4044], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x4048]
lea ecx, [ebp - 0x18]
push eax
call fcn.1002b6a0
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
call fcn.1002b6e0
add esi, 0x4020
cmp esi, dword [edi + 4]
jne 0x10028902
mov esi, dword [edi]
mov ebx, dword [ebp - 0x18]
mov dword [edi + 4], esi
mov esi, dword [ebx]
cmp esi, ebx
je 0x10028a43
mov eax, dword [edi + 4]
lea ecx, [esi + 0x18]
cmp dword [edi + 8], eax
je 0x100289f3
push 0x4020
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [edi + 4], 0x4020
jmp 0x100289fc
push ecx
push eax
mov ecx, edi
call fcn.10020190
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10028a24
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10028a20
nop
cmp esi, dword [eax + 8]
jne 0x10028a20
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10028a10
mov esi, eax
jmp 0x10028a3c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x10028a3c
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10028a30
mov ebx, dword [ebp - 0x18]
cmp esi, ebx
jne 0x100289d0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x18]
push dword [ebx + 4]
call fcn.1002afb0
mov eax, dword [ebp - 0x18]
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x18]
mov dword [eax], ebx
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0
mov ecx, dword [eax - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10028a83
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 0x405b
push ecx
call fcn.100f176a
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f13e3
mov esp, ebp
pop ebp
ret 4