Function at 0x41d89e
Capabilities:
Enumerate pe sections
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
cmp dword [ebp + 0xc], 0xfffff
push ebx
push esi
mov ebx, ecx
mov dword [esp + 0x1c], edx
push edi
mov dword [esp + 0x34], ebx
ja 0x41e0fa
mov esi, dword [ebp + 8]
jb 0x41d8cf
cmp esi, 0xffffffff
ja 0x41e0fa
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp eax, 8
jne 0x41e0fa
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], 2
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0x1c]
and eax, edx
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [ecx]
test eax, eax
jmp 0x41d927
mov ecx, dword [esi + 0x14]
lea ecx, [ecx + eax*8]
add ecx, 0x2c
mov dword [esp + 0x10], ecx
cmp dword [ecx + 4], edx
je 0x41d932
mov eax, dword [ecx]
and eax, 0x3ffffff
mov dword [esp + 0x24], eax
jne 0x41d90e
jmp 0x41da7e
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x24]
dec esi
mov dword [esp + 0x14], ecx
lea esi, [eax + esi*8]
mov dword [esp + 0x24], esi
test ecx, ecx
je 0x41da7b
test dword [ecx], 0x20000000
je 0x41da19
test edi, 0x2000
je 0x41da19
mov esi, dword [esp + 0x1c]
push 0
push dword [esp + 0x1c]
push esi
call fcn.00411662
pop ecx
pop ecx
push edx
push eax
lea edx, [esp + 0x34]
mov ecx, ebx
call fcn.00420502
add esp, 0xc
test eax, eax
jne 0x41e0ff
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
cmp eax, 0x7fffffff
ja 0x41d9ab
xor eax, eax
or eax, 0x10000
mov dword [esp + 0x18], eax
jmp 0x41d9cc
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4b4c40]
call fcn.00414ba4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x20]
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx + 0x1c]
and eax, esi
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [ecx]
test eax, eax
jmp 0x41da03
mov ecx, dword [edx + 0x14]
lea ecx, [ecx + eax*8]
add ecx, 0x2c
mov dword [esp + 0x10], ecx
cmp dword [ecx + 4], esi
je 0x41da6e
mov eax, dword [ecx]
and eax, 0x3ffffff
mov dword [esp + 0x24], eax
jne 0x41d9ea
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx]
mov edx, edi
mov dword [esp + 0x2c], ecx
shr ecx, 0x1a
call fcn.0041d771
test eax, eax
je 0x41dd30
mov eax, dword [esp + 0x2c]
mov edx, 0xc0000000
and eax, edx
cmp eax, edx
jne 0x41dae7
mov eax, dword [esp + 0x10]
mov ecx, ebx
push eax
push esi
push dword [esp + 0x28]
mov esi, dword [ebp + 8]
mov edx, esi
call fcn.0041a69e
add esp, 0xc
test eax, eax
jne 0x41e0ff
mov edx, dword [esp + 0x20]
jmp 0x41d8f7
mov esi, dword [esp + 0x24]
mov eax, dword [edx + 0x18]
dec esi
lea esi, [eax + esi*8]
jmp 0x41da11
mov esi, dword [ebp + 8]
test byte [esi + 5], 8
je 0x41e0d9
movzx eax, word [esi + 6]
mov ecx, eax
cmp ax, word [esp + 0x30]
jne 0x41df96
test edx, edx
jns 0x41e0d9
mov eax, edx
and eax, 0x7fffffff
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x28]
jae 0x41e0d9
mov ecx, edi
sar ecx, 8
and ecx, 7
mov eax, ecx
not ecx
and eax, edi
and ecx, 7
or eax, ecx
cmp eax, 7
jne 0x41dad9
test edi, 0x1800
je 0x41df4d
mov edx, esi
mov ecx, ebx
call fcn.0041bf54
jmp 0x41da5d
test edi, 0x3a00
je 0x41df04
test edi, 0x1800
je 0x41dc63
push dword [ebp + 0x1c]
mov ecx, ebx
push dword [ebp + 0x18]
call fcn.0041eb5e
push dword [ebp + 0x24]
neg eax
mov ecx, ebx
push dword [ebp + 0x20]
sbb eax, eax
and eax, dword [ebp + 0x18]
mov dword [esp + 0x34], eax
call fcn.0041eb5e
add esp, 0x10
neg eax
sbb ecx, ecx
mov eax, dword [esp + 0x10]
and ecx, dword [ebp + 0x20]
mov dword [esp + 0x20], ecx
mov edx, dword [eax]
mov eax, edx
and eax, 0xc0000000
cmp eax, 0x40000000
je 0x41dba9
mov edx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0041d7e4
pop ecx
test eax, eax
jne 0x41e0ff
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [eax]
and eax, 0xc0000000
cmp eax, 0x80000000
jne 0x41db80
mov edx, dword [esi]
mov ecx, dword [ebx + 0x14]
call fcn.00418dda
jmp 0x41db8e
push dword [esi + 4]
mov ecx, ebx
push dword [esi]
call fcn.004105f5
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
and eax, 0x17ffffff
or eax, 0x40000000
mov dword [ecx], eax
and dword [esi], 0
and dword [esi + 4], 0
jmp 0x41dbd6
test edx, 0x4000000
jne 0x41dbd6
test edi, 0x800
je 0x41dbc5
mov eax, dword [esp + 0x24]
cmp eax, dword [esi]
jne 0x41dd30
test edi, 0x1000
je 0x41dbd6
cmp ecx, dword [esi + 4]
jne 0x41dd30
test edi, 0x800
je 0x41dc17
mov eax, dword [esi]
test eax, eax
je 0x41dbfc
cdq
mov ecx, ebx
and edx, 0xffff
or edx, 0x80000
push edx
push eax
call fcn.004105f5
pop ecx
pop ecx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41dc15
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
call fcn.00411662
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
mov dword [esi], eax
test edi, 0x1000
je 0x41df04
mov eax, dword [esi + 4]
test eax, eax
je 0x41dc42
cdq
mov ecx, ebx
and edx, 0xffff
or edx, 0x80000
push edx
push eax
call fcn.004105f5
pop ecx
pop ecx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41dc5b
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.00411662
mov eax, dword [esp + 0x28]
pop ecx
pop ecx
mov dword [esi + 4], eax
jmp 0x41df04
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
and eax, edx
cmp eax, 0x40000000
jne 0x41dd44
mov edx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0041d7e4
pop ecx
test eax, eax
jne 0x41e0ff
mov eax, dword [esi]
test eax, eax
je 0x41dcac
cdq
mov ecx, ebx
and edx, 0xffff
or edx, 0x80000
push edx
push eax
call fcn.004105f5
pop ecx
pop ecx
mov eax, dword [esi + 4]
test eax, eax
je 0x41dccb
cdq
mov ecx, ebx
and edx, 0xffff
or edx, 0x80000
push edx
push eax
call fcn.004105f5
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
and dword [ecx], 0x37ffffff
and dword [esi], 0
mov dword [esi + 4], 0x40000
mov eax, dword [ecx]
mov edx, edi
and eax, 0xc0000000
and edx, 0x2000
cmp eax, 0x80000000
jne 0x41de1f
test edx, edx
je 0x41ddb3
mov eax, dword [ebp + 8]
cmp word [eax + 6], 0xb
jne 0x41dd7f
mov eax, dword [esi]
mov ecx, ebx
mov esi, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
push dword [eax + 4]
push dword [eax]
push dword [esp + 0x20]
push esi
call fcn.004253f2
add esp, 0x10
test eax, eax
jne 0x41dd83
push str.property_is_not_configurable
push edi
push ebx
call fcn.00419e9f
add esp, 0xc
jmp 0x41e102
cmp eax, 0x80000000
je 0x41dce3
test dword [ecx], 0xc000000
jne 0x41dce3
test edi, 0x2000
je 0x41dce3
push dword [esi + 4]
mov ecx, ebx
push dword [esi]
mov esi, dword [esp + 0x24]
push dword [esp + 0x20]
push esi
call fcn.004253f2
add esp, 0x10
test eax, eax
je 0x41dd30
xor eax, eax
inc eax
jmp 0x41e102
mov esi, dword [esp + 0x1c]
push dword [esp + 0x18]
push esi
call fcn.00411662
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
push eax
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov ecx, ebx
push edx
call fcn.004105f5
mov edi, dword [ebp + 0x28]
add esp, 0x10
mov eax, edi
and eax, 0x202
cmp eax, 0x200
jne 0x41df04
mov edx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0041d7e4
pop ecx
test eax, eax
jne 0x41e0ff
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
push dword [eax + 4]
push dword [eax]
call fcn.00411662
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
mov ecx, dword [ebx + 0x14]
mov edx, dword [eax]
call fcn.00418dda
mov eax, dword [esp + 0x24]
mov dword [eax + 4], edi
mov edi, dword [ebp + 0x28]
mov dword [eax], esi
mov eax, dword [esp + 0x14]
and dword [eax], 0x37ffffff
jmp 0x41df00
test dword [ecx], 0x20000000
je 0x41dea0
test edx, edx
je 0x41de53
mov esi, dword [esp + 0x1c]
push edi
push dword [esp + 0x1c]
push esi
call fcn.00411662
mov esi, dword [ebp + 8]
pop ecx
pop ecx
push edx
push eax
mov edx, esi
mov ecx, ebx
call fcn.0041c2dc
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x41de5e
mov esi, dword [ebp + 8]
mov dword [esp + 0x24], 1
and edi, 0x202
cmp edi, 0x200
jne 0x41de97
mov eax, dword [esi + 0x14]
mov edx, esi
add eax, 0x34
mov ecx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [eax]
shr eax, 0x1a
and eax, 0x3d
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0041d862
pop ecx
pop ecx
test eax, eax
jne 0x41e0ff
mov eax, dword [esp + 0x24]
jmp 0x41e102
test edx, edx
je 0x41dec9
push dword [esi + 4]
mov ecx, ebx
push dword [esi]
call fcn.004105f5
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.00411662
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esi], eax
mov dword [esi + 4], edx
test edi, 0x200
je 0x41df04
mov ecx, dword [ecx]
mov eax, edi
push 2
shr ecx, 0x1a
pop edx
and eax, edx
and ecx, 0x3d
mov edx, dword [ebp + 8]
or ecx, eax
push ecx
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.0041d862
pop ecx
pop ecx
test eax, eax
jne 0x41e0ff
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov ecx, edi
mov eax, edi
shr ecx, 8
and ecx, 1
mov edx, ecx
or edx, 4
and eax, 0x400
mov eax, dword [esp + 0x10]
cmove edx, ecx
mov ecx, dword [eax]
mov eax, edx
shr ecx, 0x1a
not eax
and ecx, eax
and edx, edi
or ecx, edx
lea eax, [esp + 0x14]
mov edx, dword [ebp + 8]
push ecx
push eax
mov ecx, ebx
call fcn.0041d862
pop ecx
pop ecx
test eax, eax
je 0x41dd77
jmp 0x41e0ff
test edi, 0x2000
je 0x41dd77
push dword [esp + 0x18]
push dword [esp + 0x20]
call fcn.00411662
mov esi, dword [esi + 0x24]
mov edi, eax
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [esi + ebx*8], edi
mov edi, ebx
push eax
push ecx
mov ecx, dword [esp + 0x44]
mov dword [esi + edi*8 + 4], edx
call fcn.004105f5
add esp, 0x10
jmp 0x41dd77
cmp eax, 0x15
jb 0x41e0d9
cmp eax, 0x1f
ja 0x41e0d9
test edx, edx
js 0x41e04c
mov ecx, ebx
call fcn.00416682
push edx
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], edx
call fcn.00411600
pop ecx
pop ecx
test eax, eax
jne 0x41e0d5
mov esi, dword [esp + 0x14]
push edx
push esi
call fcn.004105cd
pop ecx
pop ecx
test eax, eax
jne 0x41e0ff
push edx
push esi
mov ecx, ebx
call fcn.004207e0
pop ecx
pop ecx
push dword [esp + 0x24]
push esi
test eax, eax
jns 0x41e007
mov ecx, ebx
call fcn.004105f5
pop ecx
pop ecx
jmp 0x41e0ff
jne 0x41e024
mov ecx, ebx
call fcn.004105f5
push str.non_integer_index_in_typed_array
push edi
push ebx
call fcn.00419e9f
add esp, 0x14
jmp 0x41e102
call fcn.00420855
push dword [esp + 0x2c]
mov esi, eax
mov ecx, ebx
mov eax, dword [esp + 0x20]
push eax
call fcn.004105f5
add esp, 0x10
test esi, esi
je 0x41e068
push str.negative_index_in_typed_array
jmp 0x41dd35
mov eax, dword [esi + 0x20]
and edx, 0x7fffffff
mov cl, byte [ecx + str.Z_Separator]
mov dword [esp + 0x20], edx
mov eax, dword [eax + 0x14]
shr eax, cl
cmp edx, eax
jb 0x41e072
push str.out_of_bound_index_in_typed_array
jmp 0x41dd35
mov ecx, edi
sar ecx, 8
and ecx, 7
test edi, 0x1800
jne 0x41e0cb
mov eax, ecx
not ecx
and eax, edi
and ecx, 7
or eax, ecx
cmp eax, 7
jne 0x41e0cb
test edi, 0x2000
je 0x41dd77
push dword [esp + 0x18]
push dword [esp + 0x20]
call fcn.00411662
push edx
push eax
xor eax, eax
mov edx, edi
or eax, 0x10000
mov ecx, ebx
push eax
push dword [esp + 0x34]
push dword [ebp + 0xc]
push esi
call fcn.0041d016
add esp, 0x20
jmp 0x41e102
push str.invalid_descriptor_flags
jmp 0x41dd35
mov edx, dword [esp + 0x20]
push edi
push dword [ebp + 0x24]
mov ecx, ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [esp + 0x2c]
push dword [esp + 0x34]
push edx
mov edx, esi
call fcn.0041d45a
jmp 0x41e0c6
call fcn.0041a00f
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret