Function at 0x78b250
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x50
mov eax, dword [0x9726c0]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
push ebp
push esi
push edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov esi, dword [edi + 0x2e0]
mov ebp, esi
mov edx, dword [edi + 0x1c]
and ebp, 0x8000
neg ebp
mov dword [esp + 0x14], edx
sbb ebp, ebp
test esi, 0x10000
je 0x78b2a2
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0086aede
add esp, 0x50
ret
mov eax, dword [edi + 0x20]
push ebx
lea ecx, [eax - 1]
cmp ecx, 4
ja case.default.0x78b2b2
jmp dword [ecx*4 + 0x78b524]
and esi, 0x10000401
neg esi
sbb esi, esi
cmp dword [edx + 0x6c], 0
je 0x78b309
mov eax, dword [edi]
or ebx, 0xffffffff
test eax, eax
cmovne ebx, eax
jmp 0x78b324
or esi, 0xffffffff
cmp dword [edx + 0x6c], 0
je 0x78b309
mov eax, dword [edi]
or ebx, esi
test eax, eax
cmovne ebx, eax
jmp 0x78b324
mov eax, dword [edi]
and esi, 0x10000401
neg esi
sbb esi, esi
or ebx, 0xffffffff
test eax, eax
cmovne ebx, eax
jmp 0x78b324
test esi, 0x40000000
je 0x78b310
xor esi, esi
mov ebx, 0x20
jmp 0x78b324
test esi, 0x1000
je case.default.0x78b2b2
or ebx, 0xffffffff
xor esi, esi
or ebp, 0xffffffff
mov eax, dword [edi + 0x24]
lea edx, [edi + 0x3c]
xorps xmm0, xmm0
mov dword [esp + 0x14], eax
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x10], 0x10
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x78b367
add ecx, 4
add edx, 4
sub dword [esp + 0x10], 4
jae 0x78b350
xor eax, eax
jmp 0x78b38e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x78b389
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x78b389
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x78b389
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x78b389
xor eax, eax
jmp 0x78b38e
sbb eax, eax
or eax, 1
mov dword [esp + 0x10], eax
test eax, eax
je 0x78b3a6
lea eax, [edi + 0x3c]
push eax
push dword [esp + 0x18]
call fcn.0077a3d0
add esp, 8
push ebx
mov ebx, dword [esp + 0x18]
push ebx
call fcn.0077a3a0
push esi
push ebx
call fcn.0077a490
push ebp
push ebx
call fcn.0077a4c0
mov eax, dword [edi]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x2e0]
and eax, 0x10000401
mov dword [esp + 0x3c], 0xc
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
push ebx
call fcn.0077a570
mov ebp, dword [esp + 0x38]
add esp, 0x20
mov eax, dword [ebp]
mov edx, dword [eax + 0x114]
test dl, 0x20
je 0x78b42d
test dword [edi + 0x2e0], 0x20000000
je 0x78b42d
mov eax, dword [edi + 0x20]
cmp eax, 4
je 0x78b42d
cmp eax, 5
je 0x78b42d
mov ecx, dword [esp + 0x6c]
or ecx, 4
jmp 0x78b431
mov ecx, dword [esp + 0x6c]
push dword [edi]
mov eax, dword [edi + 0x2e0]
and edx, 8
mov esi, dword [esp + 0x20]
add edx, edx
shr eax, 0xe
and ecx, 0x44ad
and eax, 2
push 0
or eax, edx
or eax, ecx
push eax
lea eax, [edi + 0x34]
push eax
push esi
push 0
push ebx
call fcn.0077aa60
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x78b4bd
push 0
push dword [edi + 0x24]
lea esi, [edi + 0x24]
call fcn.0077a6c0
push esi
push ebp
call fcn.00779d20
mov eax, dword [edi + 0x2e0]
add esp, 0x10
test eax, 0x1000
je 0x78b4a8
push 1
push 1
push dword [esi]
or eax, 0x1000
mov dword [edi + 0x2e0], eax
call fcn.0077a410
add esp, 0xc
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0086aede
add esp, 0x50
ret
or dword [edi + 0x2e0], 0x10000
cmp dword [esp + 0x10], 0
jne 0x78b4eb
test esi, esi
je 0x78b4eb
lea eax, [edi + 0x3c]
push eax
push dword [edi + 0x24]
call fcn.0077a140
add esp, 8
mov dword [edi + 0x2d8], 1
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0086aede
add esp, 0x50
ret
push eax
push 0x93ff14
push edx
call fcn.0075c240
mov ecx, dword [esp + 0x68]
add esp, 0xc
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0086aede
add esp, 0x50
ret