Function at 0x142e10
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword [esp + 8]
cmp ecx, 0xd1
push ebx
mov ebx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0xc]
ja 0x143629
cmp dword [esi + 0xf88], 0x700
jae 0x142e43
mov eax, dword [esi + 0xfa4]
test eax, eax
je 0x142e43
mov dword [eax + ecx*4], ebx
movzx eax, byte [ecx + 0x4011c8]
mov edx, dword [esi + ecx*4 + 0x128c]
xor edx, ebx
or eax, edx
mov dword [esp + 0xc], eax
je 0x143629
cmp dword [ebp + 0x21d0], 6
jne 0x142e78
push ebx
push ecx
push esi
push ebp
call fcn.00188980
pop ebp
xor eax, eax
pop ebx
ret 0xc
lea eax, [ecx - 1]
cmp eax, 0xcf
push edi
ja case.0x142e8e.2
movzx eax, byte [eax + 0x1436c8]
jmp dword [eax*4 + 0x143630]
mov edi, dword [esi + 0x273c]
push 0
push esi
xor ecx, ecx
call fcn.00174530
mov edx, dword [esi + 0xc]
xor eax, eax
mov dword [esi + 0x15d4], eax
mov dword [esi + 0x273c], eax
mov ecx, 1
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov dword [edx + 0x480], eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [edx + 0x4c0], eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x4e0], eax
jmp case.0x142e8e.2
cmp ebx, 1
jb case.0x142e8e.2
cmp ebx, 5
ja case.0x142e8e.2
mov eax, dword [esi + 0x2690]
mov edx, ebx
shl edx, 0x10
and eax, 0xfff8ffff
or edx, eax
mov dword [esi + 0x2690], edx
mov ecx, edx
mov edx, ebx
and ecx, 0xffc7ffff
shl edx, 0x13
or ecx, edx
mov dword [esi + 0x2690], ecx
mov dword [esi + 0x1608], ebx
mov dword [esi + 0x160c], ebx
jmp case.0x142e8e.2
test ebx, ebx
je 0x142f53
or byte [esi + 0x6ae2], 1
xor eax, eax
test ebx, ebx
setne al
mov ebx, eax
jmp case.0x142e8e.2
and byte [esi + 0x6ae2], 0xfe
xor eax, eax
test ebx, ebx
setne al
mov ebx, eax
jmp case.0x142e8e.2
cmp ebx, 3
jbe case.0x142e8e.2
mov ebx, 3
jmp case.0x142e8e.2
mov eax, ebx
sub eax, 1
je 0x142fbf
sub eax, 1
je 0x142fa2
mov eax, dword [esi + 0x2690]
and eax, 0xf5ffffff
or eax, 0x4000000
mov dword [esi + 0x2690], eax
jmp case.0x142e8e.2
mov ecx, dword [esi + 0x2690]
and ecx, 0xf5ffffff
or ecx, 0x4000000
mov dword [esi + 0x2690], ecx
jmp case.0x142e8e.2
mov edx, dword [esi + 0x2690]
and edx, 0xf3ffffff
or edx, 0x2000000
mov dword [esi + 0x2690], edx
jmp case.0x142e8e.2
lea eax, [ebx - 1]
cmp eax, 5
ja case.default.0x142fe8
jmp dword [eax*4 + 0x143798]
mov eax, dword [esi + 0x2690]
and eax, 0xdfffffff
or eax, 0x10000000
mov ecx, eax
and ecx, 0x3fffffff
or ecx, 0x40000000
mov dword [esi + 0x2690], eax
mov dword [esi + 0x2690], ecx
jmp case.0x142e8e.2
mov edx, dword [esi + 0x2690]
and edx, 0xefffffff
or edx, 0x20000000
mov eax, edx
and eax, 0x3fffffff
or eax, 0x40000000
mov dword [esi + 0x2690], edx
mov dword [esi + 0x2690], eax
jmp case.0x142e8e.2
mov ecx, dword [esi + 0x2690]
and ecx, 0xdfffffff
or ecx, 0x10000000
mov edx, ecx
and edx, 0x3fffffff
or edx, 0x80000000
mov dword [esi + 0x2690], ecx
mov dword [esi + 0x2690], edx
jmp case.0x142e8e.2
mov eax, dword [esi + 0x2690]
and eax, 0xefffffff
or eax, 0x20000000
mov ecx, eax
and ecx, 0x3fffffff
or ecx, 0x80000000
mov dword [esi + 0x2690], eax
mov dword [esi + 0x2690], ecx
jmp case.0x142e8e.2
mov edx, dword [esi + 0x2690]
and edx, 0xdfffffff
or edx, 0x10000000
mov dword [esi + 0x2690], edx
or byte [esi + 0x2693], 0xc0
jmp case.0x142e8e.2
mov eax, dword [esi + 0x2690]
and eax, 0xefffffff
or eax, 0x20000000
mov dword [esi + 0x2690], eax
or byte [esi + 0x2693], 0xc0
jmp case.0x142e8e.2
mov ecx, dword [esi + 0x2690]
and ecx, 0xdfffffff
or ecx, 0x10000000
mov edx, ecx
and edx, 0x3fffffff
or edx, 0x40000000
mov dword [esi + 0x2690], ecx
mov dword [esi + 0x2690], edx
jmp case.0x142e8e.2
mov eax, dword [esi + 0xf6c]
test ah, 2
jne 0x14313f
or ah, 2
or byte [esi + 0x3443], 4
mov dword [esi + 0xf6c], eax
cmp ebx, 1
jb 0x14314d
cmp ebx, 8
jbe case.0x142e8e.2
mov ebx, 1
jmp case.0x142e8e.2
lea eax, [ebx - 1]
cmp eax, 2
jbe case.0x142e8e.2
mov ebx, 1
jmp case.0x142e8e.2
mov edx, dword [esi + 0xc]
mov ecx, 1
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov dword [edx + 0x40c], eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x414], eax
jmp case.0x142e8e.2
mov eax, dword [ebp + 4]
test byte [eax + 0x5b0e], 8
je 0x1431b4
cmp ebx, 0x1c
jne 0x1431b4
xor ebx, ebx
and dword [esi + 0x6ad8], 0xffffffef
jmp case.0x142e8e.15
test ebx, ebx
je 0x1431a8
or dword [esi + 0x6ad8], 0x10
jmp case.0x142e8e.15
test ebx, ebx
je 0x1431dd
or byte [esi + 0x6ad8], 0x80
xor edx, edx
test ebx, ebx
setne dl
mov ebx, edx
jmp case.0x142e8e.2
and byte [esi + 0x6ad8], 0x7f
xor edx, edx
test ebx, ebx
setne dl
mov ebx, edx
jmp case.0x142e8e.2
mov edx, dword [esi + 0xc]
mov ecx, 1
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov dword [edx + 0x404], eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x410], eax
jmp case.0x142e8e.2
mov edx, dword [ebp + 4]
test byte [edx + 0x5b0e], 0x10
jne 0x14322a
xor ebx, ebx
jmp 0x143231
mov ecx, esi
call fcn.001415b0
mov eax, ebx
shl eax, 8
or dword [esi + 0x6ad8], eax
cmp ebx, 3
jbe case.0x142e8e.2
xor ebx, ebx
jmp case.0x142e8e.2
add dword [esi + 8], 1
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x400], eax
jmp case.0x142e8e.2
xor eax, eax
test ebx, ebx
setne al
xor ecx, ecx
mov edx, 0x10
mov ebx, eax
test ebx, ebx
setne cl
lea eax, [esi + 0x2690]
shl ecx, 7
nop
mov edi, dword [eax]
and edi, 0xffffff7f
or edi, ecx
mov dword [eax], edi
add eax, 8
sub edx, 1
jne 0x143280
jmp case.0x142e8e.2
mov dword [esi + 0x1610], ebx
jmp case.0x142e8e.2
cmp ebx, 1
jb case.0x142e8e.2
cmp ebx, 5
ja case.0x142e8e.2
mov edx, dword [esi + 0x2690]
mov ecx, ebx
shl ecx, 0x10
and edx, 0xfff8ffff
or ecx, edx
mov dword [esi + 0x2690], ecx
mov dword [esi + 0x1608], ebx
jmp case.0x142e8e.2
cmp ebx, 1
jb case.0x142e8e.2
cmp ebx, 5
ja case.0x142e8e.2
mov eax, dword [esi + 0x2690]
mov ecx, ebx
and eax, 0xffc7ffff
shl ecx, 0x13
or eax, ecx
mov dword [esi + 0x2690], eax
mov dword [esi + 0x160c], ebx
jmp case.0x142e8e.2
push ebx
mov dword [esi + 0x1620], ebx
call fcn.00141240
mov edx, dword [esi + 0x2694]
and edx, 0xffffe000
or edx, eax
mov dword [esi + 0x2694], edx
jmp case.0x142e8e.2
mov eax, dword [ebp + 0x3554]
cmp ebx, eax
jbe 0x143340
mov ebx, eax
cmp ebx, 0x20
jb 0x14334a
mov ebx, 0x1f
mov eax, dword [esi + 0x2694]
mov ecx, ebx
and eax, 0x83ffffff
shl ecx, 0x1a
or eax, ecx
mov dword [esi + 0x2694], eax
jmp case.0x142e8e.2
add dword [esi + 8], 1
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x408], eax
jmp case.0x142e8e.2
xor eax, eax
test ebx, ebx
sete al
mov ecx, esi
call fcn.001b96e0
jmp case.0x142e8e.2
add ecx, 0xffffff80
mov eax, 1
shl eax, cl
test ebx, ebx
mov edx, eax
je 0x1433c0
and edx, 0x3ff
shl edx, 0x10
not edx
and edx, dword [esi + 0x6ae0]
shl eax, 0x10
or edx, eax
mov dword [esi + 0x6ae0], edx
jmp case.0x142e8e.2
mov ecx, dword [esi + 0x14fc]
neg ecx
sbb ecx, ecx
and edx, 0x3ff
shl edx, 0x10
and ecx, 0x3ff
not edx
and edx, dword [esi + 0x6ae0]
and eax, ecx
shl eax, 0x10
or edx, eax
mov dword [esi + 0x6ae0], edx
jmp case.0x142e8e.2
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x14340f
fadd dword [0x41bc68]
mov ecx, ebx
shr ecx, 8
fmul dword [0x41bca4]
and ecx, 0xff
test ecx, ecx
mov dword [esp + 0x18], ecx
fstp dword [esi + 0x1230]
fild dword [esp + 0x18]
jge 0x143438
fadd dword [0x41bc68]
fmul dword [0x41bca4]
mov edx, ebx
and edx, 0xff
test edx, edx
fstp dword [esi + 0x1234]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x14345e
fadd dword [0x41bc68]
fmul dword [0x41bca4]
fstp dword [esi + 0x1238]
jmp case.0x142e8e.2
mov eax, ebx
and eax, 0x70ff0000
cmp eax, 0x70ff0000
mov ecx, ebx
jne 0x14348e
mov eax, esi
call fcn.00237ea0
pop edi
pop ebp
xor eax, eax
pop ebx
ret 0xc
mov eax, dword [esi + 0xf80]
add eax, 0x1c38
call fcn.0011f050
test al, al
jne 0x143628
jmp case.0x142e8e.2
xor eax, eax
lea ecx, [esi + 0x148c]
mov edx, 8
mov edi, dword [ecx]
and edi, 1
add eax, eax
or eax, edi
add ecx, 4
sub edx, 1
jne 0x1434b8
xor ecx, ecx
test ebx, ebx
setne cl
mov ebx, ecx
test ebx, ebx
je 0x1434e5
or dword [esi + 0x6ae0], 0x3ff0000
jmp case.0x142e8e.2
mov edx, eax
and edx, 0x3ff
shl edx, 0x10
not edx
and edx, dword [esi + 0x6ae0]
shl eax, 0x10
or edx, eax
mov dword [esi + 0x6ae0], edx
jmp case.0x142e8e.2
fld dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
fcomp dword [0x41bc54]
mov dword [esp + 0x10], ecx
fnstsw ax
test ah, 0x41
je 0x143529
mov dword [esp + 0x10], 0
mov ecx, dword [ebp + 4]
fld dword [esp + 0x10]
fcomp dword [ecx + 0x5e88]
fnstsw ax
test ah, 5
jnp 0x143547
mov edx, dword [ecx + 0x5e88]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x10]
jmp case.0x142e8e.2
or dword [esi + 0x62e0], 1
mov ecx, dword [esi + 0x6af8]
mov eax, ebx
and al, 7
neg al
sbb eax, eax
neg eax
shl eax, 0x1f
and ecx, 0x7fffffff
or eax, ecx
mov dword [esi + 0x6af8], eax
jmp case.0x142e8e.2
test ebx, ebx
je 0x143583
cmp ebx, 9
jb case.0x142e8e.2
mov ebx, 1
jmp case.0x142e8e.2
cmp ebx, 0x10
jb case.0x142e8e.2
mov ebx, 1
jmp case.0x142e8e.2
mov eax, dword [esi + 0xf80]
add eax, 0x1c38
mov ecx, ebx
call fcn.0011f050
lea eax, [esi + 0x63c0]
mov ecx, ebx
call fcn.00238380
jmp case.0x142e8e.2
test ebx, ebx
je 0x1435c4
or dword [esi + 0x6ad8], 0x40
jmp case.0x142e8e.15
and dword [esi + 0x6ad8], 0xffffffbf
xor ecx, ecx
test ebx, ebx
setne cl
mov ebx, ecx
mov eax, dword [esp + 0x14]
mov dword [esi + eax*4 + 0x128c], ebx
shl eax, 4
lea edx, [eax + ebp + 0x2508]
mov edi, edx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [edi + 0xc]
or dword [ebp + 0xc], eax
or dword [ebp + 0x10], ecx
or dword [esi + 0x3440], edx
or dword [ebp + 0x14], edi
and eax, 0x20000
neg eax
sbb eax, eax
and eax, 0xfffff
or dword [ebp + 0x18], eax
mov eax, dword [ebp + 0xc]
test ah, 2
je 0x143628
or dword [ebp + 0x1c], 0xa
and ah, 0xfd
mov dword [ebp + 0xc], eax
pop edi
pop ebp
xor eax, eax
pop ebx
ret 0xc