Function at 0x100deab0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 4], esi
push edi
test eax, eax
je 0x100dee6a
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x100dee6a
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x100dee6a
mov eax, dword [eax]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x100dee6a
push 0x100
push ecx
push dword [esi + 0x30]
call fcn.100db270
mov ecx, dword [esi + 0x30]
push ebx
push edi
push dword [ebp + 0xc]
mov eax, dword [ecx + 0x48]
and eax, 0xffffff2f
mov dword [ebp - 0xc], 0x40000
or eax, 0x20
mov dword [ecx + 0x48], eax
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x48]
and eax, 0xfffffff3
or eax, 3
mov dword [ecx + 0x48], eax
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x2c]
and eax, 0xfffdffff
or eax, 0x10000
mov dword [ecx + 0x2c], eax
mov ecx, esi
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.100dd040
test al, al
je 0x100dee6a
mov eax, dword [ebp + 0xc]
xor edi, edi
mov ecx, dword [ebp - 4]
mov esi, dword [eax + 0x20]
add esi, dword [eax]
mov ecx, dword [ecx + 0x30]
adc edi, dword [eax + 4]
movzx eax, byte [ecx + 0x50]
bts eax, 0
mov byte [ecx + 0x50], al
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 4]
shl eax, 0xf
shl ecx, 0xf
xor ecx, dword [edx + 0x84]
and ecx, 0x7ffff
xor ecx, eax
mov dword [edx + 0x84], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x30]
mov dword [eax + 0x80], esi
mov eax, dword [ecx + 0x30]
mov esi, dword [ebp + 0x14]
xor edi, dword [eax + 0x84]
and edi, 0x1ffff
xor dword [eax + 0x84], edi
mov edi, ecx
mov eax, dword [edi + 0x30]
or dword [eax + 0x84], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0x8c], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0x94], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0x9c], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0xa4], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0xac], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0xb4], 0x40000
mov eax, dword [edi + 0x30]
or dword [eax + 0xbc], 0x40000
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi + 0x30]
mov dword [eax + 0xc0], ecx
mov ecx, esi
mov eax, dword [edi + 0x30]
xor edx, dword [eax + 0xc4]
and edx, 0x1ffff
xor dword [eax + 0xc4], edx
mov eax, dword [esi]
call dword [eax + 0x20]
mov edx, dword [edi + 0x30]
lea ecx, [eax + 0xf]
mov eax, dword [edx + 0x74]
and ecx, 0xfffff0
and eax, 0xff000000
or ecx, eax
mov dword [edx + 0x74], ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x24]
mov edx, dword [edi + 0x30]
lea ecx, [eax + 0xf]
mov eax, dword [edx + 0x78]
and ecx, 0xfffff0
and eax, 0xff000000
or ecx, eax
mov dword [edx + 0x78], ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x1c]
mov edx, dword [edi + 0x30]
shl eax, 8
xor eax, dword [edx + 0x50]
and eax, 0x1ff00
xor dword [edx + 0x50], eax
mov ecx, esi
mov eax, dword [edi + 0x30]
or dword [eax + 0x2c], 0x40000000
mov eax, dword [esi]
call dword [eax + 0x2c]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
mov ecx, dword [edi + 0x2c]
mov esi, eax
mov edx, dword [edi + 0x30]
movzx ecx, word [ecx]
mov word [edx + 0x4a], cx
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x30]
movzx ecx, word [ecx + 4]
mov word [edx + 0x4c], cx
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x30]
movzx eax, word [ecx + 8]
mov word [edx + 0x4e], ax
mov edx, dword [esi + 8]
mov ecx, dword [edi + 0x30]
shr edx, 8
lea eax, [edx - 1]
movzx eax, al
sub edx, eax
add edx, 0xff
xor edx, dword [ecx + 0x44]
and edx, 0x3ffff
xor dword [ecx + 0x44], edx
mov edx, dword [edi + 0x30]
mov ecx, dword [esi + 8]
mov esi, 0x8000
shl ecx, 0x1b
mov eax, dword [edx + 0x74]
and eax, 0x7ffffff
or ecx, eax
mov dword [edx + 0x74], ecx
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x30]
movzx eax, word [eax + 0x10]
mov word [ecx + 0x34], ax
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x30]
movzx eax, word [eax + 0x14]
mov word [ecx + 0x38], ax
mov edx, dword [edi + 0x30]
mov ecx, dword [edx + 0x44]
mov eax, ecx
and eax, 0x3ffff
cmp esi, eax
sbb eax, eax
and ecx, 0xfe03ffff
and eax, 8
add eax, 9
shl eax, 0x12
or eax, ecx
mov dword [edx + 0x44], eax
mov edx, dword [edi + 0x30]
mov eax, dword [edx + 0x44]
and eax, 0x3ffff
shl eax, 4
cmp esi, eax
mov eax, dword [edx + 0x50]
sbb ecx, ecx
and eax, 0xff01ffff
and ecx, 8
add ecx, 9
shl ecx, 0x11
or ecx, eax
mov dword [edx + 0x50], ecx
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 0x44]
and eax, 0x1ffffff
or eax, 0x22000000
mov dword [ecx + 0x44], eax
xor ecx, ecx
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x4000000
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x8000000
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x10000000
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x20000000
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x40000000
mov eax, dword [edi + 0x30]
or dword [eax + 0x14], 0x80000000
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x1c]
add esi, dword [eax]
adc ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0xc], ecx
test eax, eax
jne 0x100dee04
cmp dword [ebx + 0x14], eax
je 0x100dee0c
and eax, 4
or eax, 0
je 0x100dee5d
mov eax, dword [ebp + 0x10]
push ebx
add eax, 8
push eax
push 0x100
push dword [edi + 0x30]
push ecx
push esi
call fcn.100dff90
test al, al
je 0x100dee41
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, ecx
and dword [ebx + 0x10], 0xfffffffb
mov dword [ebx + 0x14], eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xorps xmm0, xmm0
mov dword [ebx + 0x10], 4
movlpd qword [ebp - 0x10], xmm0
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
mov dword [ebx + 0x14], 0
mov eax, esi
mov edx, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
xor eax, eax
xor edx, edx
pop ebx
mov esp, ebp
pop ebp
ret 0x10