Function at 0x731c6ca0
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x7f4]
mov dword [esp + 0x14], edi
mov dword [edi + 0x12fa8], 0
mov eax, dword [esi + 0x7f4]
test byte [eax + 0x12fbc], 0x80
je 0x731c6edf
test dword [esi + 0x7f8], 0x10000
je 0x731c6eb2
mov eax, dword [esi + 0x830]
mov ecx, 1
rol ecx, 0
xor edx, edx
mov ebx, dword [eax + 0x260]
test ebx, ecx
je 0x731c6d49
fld dword [esi + 0x5ec]
mov edx, 1
fadd st(0), st(0)
fstp dword [edi + 0x131f0]
fld dword [esi + 0x5f0]
fadd st(0), st(0)
fstp dword [edi + 0x131f4]
fld dword [esi + 0x5f4]
fstp dword [edi + 0x131f8]
fld dword [esi + 0x5f8]
fsub dword [esi + 0x5ec]
fsub dword [esi + 0x5f0]
fstp dword [edi + 0x131fc]
rol ecx, 1
test ebx, ecx
je 0x731c6d8e
fld dword [esi + 0x5fc]
lea eax, [edx + 0x131f]
fadd st(0), st(0)
shl eax, 4
add eax, edi
inc edx
fstp dword [eax]
fld dword [esi + 0x600]
fadd st(0), st(0)
fstp dword [eax + 4]
fld dword [esi + 0x604]
fstp dword [eax + 8]
fld dword [esi + 0x608]
fsub dword [esi + 0x5fc]
fsub dword [esi + 0x600]
fstp dword [eax + 0xc]
rol ecx, 1
test ebx, ecx
je 0x731c6dd3
fld dword [esi + 0x60c]
lea eax, [edx + 0x131f]
fadd st(0), st(0)
shl eax, 4
add eax, edi
inc edx
fstp dword [eax]
fld dword [esi + 0x610]
fadd st(0), st(0)
fstp dword [eax + 4]
fld dword [esi + 0x614]
fstp dword [eax + 8]
fld dword [esi + 0x618]
fsub dword [esi + 0x60c]
fsub dword [esi + 0x610]
fstp dword [eax + 0xc]
rol ecx, 1
test ebx, ecx
je 0x731c6e18
fld dword [esi + 0x61c]
lea eax, [edx + 0x131f]
fadd st(0), st(0)
shl eax, 4
add eax, edi
inc edx
fstp dword [eax]
fld dword [esi + 0x620]
fadd st(0), st(0)
fstp dword [eax + 4]
fld dword [esi + 0x624]
fstp dword [eax + 8]
fld dword [esi + 0x628]
fsub dword [esi + 0x61c]
fsub dword [esi + 0x620]
fstp dword [eax + 0xc]
rol ecx, 1
test ebx, ecx
je 0x731c6e5d
fld dword [esi + 0x62c]
lea eax, [edx + 0x131f]
fadd st(0), st(0)
shl eax, 4
add eax, edi
inc edx
fstp dword [eax]
fld dword [esi + 0x630]
fadd st(0), st(0)
fstp dword [eax + 4]
fld dword [esi + 0x634]
fstp dword [eax + 8]
fld dword [esi + 0x638]
fsub dword [esi + 0x62c]
fsub dword [esi + 0x630]
fstp dword [eax + 0xc]
rol ecx, 1
test ebx, ecx
je 0x731c6ea2
fld dword [esi + 0x63c]
lea eax, [edx + 0x131f]
fadd st(0), st(0)
shl eax, 4
add eax, edi
inc edx
fstp dword [eax]
fld dword [esi + 0x640]
fadd st(0), st(0)
fstp dword [eax + 4]
fld dword [esi + 0x644]
fstp dword [eax + 8]
fld dword [esi + 0x648]
fsub dword [esi + 0x63c]
fsub dword [esi + 0x640]
fstp dword [eax + 0xc]
mov dword [edi + 0x13260], edx
and dword [esi + 0x7f8], 0xfffeffff
mov eax, dword [edi + 0x12fc4]
test al, 0x40
jne 0x731c6ec6
or dword [edi + 0x12fa8], 0x80000000
test al, al
js 0x731c73f1
or dword [edi + 0x12fa8], 0x100000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.731aef20
test dword [esi + 0x7f8], 0x40000
je 0x731c6f56
and dword [esi + 0x250], 0xfffe7fff
mov ebx, dword [esi + 0x7fc]
mov dword [edi + 0x11b58], 0
test ebx, ebx
je 0x731c6f56
mov eax, dword [ebx + 0xc]
sub eax, 3
neg eax
sbb eax, eax
and eax, 0x8000
add eax, 0x8000
or dword [esi + 0x250], eax
test byte [ebx + 0x94], 0x10
je 0x731c6f3a
mov ecx, ebx
call fcn.731ae810
mov eax, dword [edi + 0x11b58]
mov dword [ebx + 0xcc], eax
lea eax, [ebx + 0x74]
mov dword [edi + 0x11b58], eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x731c6f10
mov ecx, dword [esi + 0x7f8]
test ecx, 0x80000
je 0x731c701c
mov eax, dword [esi + 0x830]
mov eax, dword [eax + 0x25c]
mov dword [edi + 0x13258], eax
mov dword [edi + 0x1325c], 0
test eax, eax
je 0x731c6ff6
cmp eax, 0xff
je 0x731c6ff6
mov edx, 1
cmp eax, 0x100
je 0x731c6f9e
lea edx, [eax + 1]
mov dword [edi + 0x13258], edx
mov ebx, edx
mov eax, dword [edi + 0x12fb8]
mov ecx, dword [edi + 0x12fbc]
shr eax, 1
and eax, 7
sub eax, 2
test ecx, 0x2000
jne 0x731c6fc5
lea ebx, [edx - 1]
cmp eax, ebx
jl 0x731c73f8
lea eax, [edx - 1]
mov dword [edi + 0x1325c], eax
test ecx, 0x800000
je 0x731c700c
and ecx, 0xff7ffbff
mov dword [edi + 0x12fbc], ecx
or dword [esi + 0x7f8], 0x4000
jmp 0x731c700c
test dword [edi + 0x12fbc], 0x800000
jne 0x731c700c
or dword [esi + 0x7f8], 0x400
and dword [esi + 0x7f8], 0xfff7ffff
mov ecx, dword [esi + 0x7f8]
mov eax, dword [esi + 0x830]
cmp dword [eax + 0x25c], 0xff
jne 0x731c7068
cmp dword [edi + 0x13054], 0
je 0x731c703e
or dword [edi + 0x12fa8], 0x40
cmp dword [edi + 0x1305c], 0
mov eax, dword [edi + 0x12fa8]
je 0x731c7058
or eax, 0x80
mov dword [edi + 0x12fa8], eax
mov dword [edi + 0x13258], 0
mov ecx, dword [esi + 0x7f8]
test ecx, 0x80301
je 0x731c707d
mov ecx, esi
call fcn.731c6ac0
mov ecx, dword [esi + 0x7f8]
test ecx, 0x200000
je 0x731c70cf
mov edx, dword [edi + 0x12fbc]
test edx, 0x80000008
jne 0x731c70aa
mov eax, dword [esi + 0x830]
cmp dword [eax + 0x274], 0
jne 0x731c70aa
test edx, 0x60000000
je 0x731c70cf
push edi
lea edx, [edi + 0x280]
lea ecx, [edi + 0x8280]
call fcn.73198260
add esp, 4
and dword [esi + 0x7f8], 0xffdfffff
mov ecx, dword [esi + 0x7f8]
test ecx, 0x400
je 0x731c711d
mov eax, dword [edi + 0x12fbc]
test eax, eax
jns 0x731c711d
and eax, 0xff7fffff
cmp dword [edi + 0x13258], 0
mov dword [edi + 0x12fbc], eax
jne 0x731c710d
test eax, 0x2000000
jne 0x731c710d
mov ecx, edi
call fcn.731c6810
and dword [esi + 0x7f8], 0xfffffbff
or dword [esi + 0x7f8], 0x4000
mov ecx, dword [esi + 0x7f8]
test ecx, 0x2000000
je 0x731c717a
mov edx, dword [edi + 0x12fbc]
mov eax, edx
and eax, 0x80800000
cmp eax, 0x80000000
je 0x731c7141
test edx, 0x40000000
je 0x731c717a
lea edx, [edi + 0xc280]
lea ecx, [edi + 0x8280]
call fcn.73197b90
and dword [esi + 0x7f8], 0xfdffffff
mov eax, dword [edi + 0x11a80]
mov dword [edi + 0x11280], eax
mov eax, dword [edi + 0x11a84]
mov dword [edi + 0x11284], eax
mov ecx, dword [esi + 0x7f8]
test ecx, 0x10000
je 0x731c72fe
test ecx, 0x20000000
je 0x731c71df
lea ecx, [esi + 0x56c]
lea edx, [esp + 0x58]
call fcn.73197b90
test eax, eax
je 0x731c71a8
mov ecx, edx
call fcn.731c6a80
lea edx, [esp + 0x18]
mov ecx, edi
call fcn.73197b90
test eax, eax
je 0x731c71be
mov ecx, edx
call fcn.731c6a80
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x5ac]
lea edx, [esp + 0x5c]
call fcn.73198260
add esp, 4
and dword [esi + 0x7f8], 0xdfffffff
mov eax, dword [esi + 0x830]
lea edx, [edi + 0x131f8]
mov dword [esp + 0x10], edx
lea ecx, [esi + 0x5f4]
mov edi, dword [esp + 0x10]
mov edx, 6
mov dword [esp + 0xc], 0
mov ebx, dword [eax + 0x260]
mov eax, 1
rol eax, 0
test ebx, eax
je 0x731c72d2
fld dword [esi + 0x5b0]
fmul dword [ecx - 4]
fld dword [ecx - 8]
fmul dword [esi + 0x5ac]
inc dword [esp + 0xc]
faddp st(1)
fld dword [esi + 0x5b4]
fmul dword [ecx]
faddp st(1)
fld dword [esi + 0x5b8]
fmul dword [ecx + 4]
faddp st(1)
fstp dword [edi - 8]
fld dword [esi + 0x5c0]
fmul dword [ecx - 4]
fld dword [esi + 0x5bc]
fmul dword [ecx - 8]
faddp st(1)
fld dword [esi + 0x5c4]
fmul dword [ecx]
faddp st(1)
fld dword [esi + 0x5c8]
fmul dword [ecx + 4]
faddp st(1)
fstp dword [edi - 4]
fld dword [esi + 0x5d0]
fmul dword [ecx - 4]
fld dword [esi + 0x5cc]
fmul dword [ecx - 8]
faddp st(1)
fld dword [esi + 0x5d4]
fmul dword [ecx]
faddp st(1)
fld dword [esi + 0x5d8]
fmul dword [ecx + 4]
faddp st(1)
fstp dword [edi]
fld dword [esi + 0x5e0]
fmul dword [ecx - 4]
fld dword [esi + 0x5dc]
fmul dword [ecx - 8]
faddp st(1)
fld dword [esi + 0x5e4]
fmul dword [ecx]
faddp st(1)
fld dword [esi + 0x5e8]
fmul dword [ecx + 4]
faddp st(1)
fstp dword [edi + 4]
add edi, 0x10
add ecx, 0x10
rol eax, 1
sub edx, 1
jne 0x731c7214
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov dword [edi + 0x13260], eax
and dword [esi + 0x7f8], 0xfffeffff
mov ecx, dword [esi + 0x7f8]
test ecx, 0x4c000
je 0x731c7317
mov ecx, esi
call fcn.731a62f0
or dword [edi + 0x12fbc], 0x40000
test byte [edi + 0x12fb8], 0xd0
mov eax, dword [edi + 0x11b78]
mov dword [edi + 0x11aa8], eax
mov eax, dword [edi + 0x11b7c]
mov dword [edi + 0x11b54], eax
jne 0x731c734b
cmp dword [edi + 0x12fd0], 0
jne 0x731c734b
or dword [edi + 0x12fa8], 0x40000000
cmp dword [edi + 0x12fd4], 0
jne 0x731c735e
or dword [edi + 0x12fa8], 0x10000000
and dword [esi + 0x7f8], 0xfffff7ff
test dword [edi + 0x13250], 0xff0000
jne 0x731c737e
and dword [edi + 0x12fbc], 0x9fffffff
mov ecx, dword [edi + 0x12fbc]
mov eax, ecx
and eax, 0x80800000
cmp eax, 0x80000000
jne 0x731c73d9
mov ebx, dword [esi + 0x250]
mov edx, ecx
test ebx, 0x8000
je 0x731c73c3
mov eax, dword [esi + 0x7f4]
test byte [eax + 0x12fb8], 0x10
je 0x731c73c3
or edx, 0x40000000
mov dword [edi + 0x12fbc], edx
mov ebx, dword [esi + 0x250]
mov ecx, edx
test ebx, 0x10000
je 0x731c73d9
or ecx, 0x20000000
mov dword [edi + 0x12fbc], ecx
test dword [edi + 0x12fa8], 0x100
je 0x731c73f1
or ecx, 0x20000000
mov dword [edi + 0x12fbc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x731f6dc8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x8876086c
push eax
call sub.msvcrt.dll__CxxThrowException
int3