Function at 0x1000bce0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10065189
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x100988d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::constructor_void_]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 4], 0
test eax, eax
je 0x1000bdd1
cmp dword [eax + 0x20], 0
je 0x1000bdd1
mov eax, dword [ebx + 0x1c]
cmp eax, 0xffffffff
je 0x1000bd43
cmp eax, 0xfffffffe
jne 0x1000bdd1
push dword [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.10031f90
mov edi, dword [ebx + 0x10]
mov byte [ebp - 4], 1
mov eax, dword [edi + 0x20]
add eax, 4
mov dword [ebp - 0x24], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x1000bd6d
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lock::acquire_void_]
mov edi, dword [ebx + 0x10]
mov edi, dword [edi + 0x20]
lea eax, [ebp - 0x14]
mov ebx, dword [ebp + 0x10]
push ebx
push eax
mov esi, dword [edi]
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 2
mov esi, dword [esi + 0x20]
mov ecx, esi
call dword [0x10070958]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 3
mov ecx, dword [eax]
test ecx, ecx
je 0x1000bda4
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lock::release_void_]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push 0
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::merge_class_ScCore::SimpleArray_const___bool_]
push 0
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::setSize_int_]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Variant::destructor_void_]
jmp 0x1000bdd4
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x20], edi
test edi, edi
je 0x1000bf0f
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_void_]
lea eax, [edi + 4]
mov byte [ebp - 4], 4
push eax
mov dword [ebp - 0x28], edi
call dword [sym.imp.ScCore.dll_ScAtomicInc]
mov ecx, dword [edi + 8]
add esp, 4
test ecx, ecx
je 0x1000be0f
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lock::acquire_void_]
mov eax, dword [edi]
lea ecx, [ebp - 0x14]
push ebx
push ecx
mov byte [ebp - 4], 5
mov esi, dword [eax + 0x68]
mov ecx, esi
call dword [0x10070958]
mov ecx, edi
call esi
mov ecx, eax
test ecx, ecx
jne 0x1000bec5
mov eax, dword [ebp - 0x14]
xor edi, edi
cmp dword [eax + 4], edi
jle 0x1000bedd
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebx]
lea ecx, [ebp - 0x14]
push edi
call dword [sym.imp.ScCore.dll_public:_int____thiscall_ScCore::SimpleArray::operator___int_]
mov esi, dword [esi + 0x54]
lea ecx, [ebp - 0x1c]
push 0x10000
push ecx
push dword [eax]
mov ecx, esi
call dword [0x10070958]
mov ecx, ebx
call esi
test eax, eax
jne 0x1000beb7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x10099dfc]
add eax, 0xc
push eax
call fcn.10031f90
mov ecx, dword [ebp + 0xc]
push eax
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::append_int_]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
add eax, 0xc
mov ecx, dword [0x10099dfc]
push 0x40
push eax
mov esi, dword [esi]
call fcn.10031f90
mov esi, dword [esi + 0x90]
mov ecx, esi
push eax
call dword [0x10070958]
mov ecx, dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 0x14]
inc edi
cmp edi, dword [eax + 4]
jl 0x1000be44
mov ebx, dword [ebp + 0x10]
jmp 0x1000bedd
mov eax, dword [ebp - 0x18]
push ecx
mov edi, dword [eax + 0x6c]
mov eax, dword [edi]
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x10070958]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x20]
mov byte [ebp - 4], 6
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x1000bef1
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lock::release_void_]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10070958]
mov ecx, edi
call esi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::destructor_void_]
push 0
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::setSize_int_]
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
push dword [edi + 0x7c]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::setSize_int_]
xor al, al
mov ecx, 0x10
mov byte [ebp - 0xd], al
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x2c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
nop
mov esi, dword [eax]
test esi, esi
je 0x1000c076
nop word [eax + eax]
mov eax, dword [esi + 0x28]
test eax, 0x4000000
je 0x1000bf63
test bl, 0x10
je 0x1000c065
test ebx, 0x2000000
je 0x1000bf76
test eax, 0x8000000
jne 0x1000c065
push dword [esi + 0x20]
mov ecx, dword [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::SimpleArray::indexOf_int_const]
test eax, eax
jns 0x1000c065
mov ebx, dword [esi + 0x28]
mov eax, dword [ebp + 0x10]
test ebx, ebx
jne 0x1000bfe0
test eax, eax
jns 0x1000bfe0
mov eax, dword [esi]
push ebx
push edi
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x10070958]
mov ecx, esi
call edi
cmp dword [eax + 0x10], 5
jne 0x1000bfda
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1000bfda
mov eax, dword [eax]
mov edi, dword [eax + 0x84]
mov ecx, edi
call dword [0x10070958]
mov ecx, dword [ebp - 0x28]
call edi
test eax, eax
mov eax, 0x20
cmovne ebx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x18]
test eax, 0x10000000
jne 0x1000bfef
test ebx, 0x1000
jne 0x1000c062
test eax, 0x8000000
jne 0x1000bffb
test bl, 2
jne 0x1000c062
test bl, 0x20
je 0x1000c00e
mov ebx, dword [ebp + 0x10]
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x1000c065
jmp 0x1000c02e
test eax, 0x20000000
je 0x1000c01a
test bl, 1
je 0x1000c02b
test eax, 0x40000000
je 0x1000c062
test bl, 1
mov ebx, dword [ebp + 0x10]
je 0x1000c065
jmp 0x1000c02e
mov ebx, dword [ebp + 0x10]
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x1000c03b
mov byte [ebp - 0xd], 1
jmp 0x1000c065
mov ecx, dword [ebp - 0x1c]
cmp eax, 0x74
push dword [esi + 0x34]
movzx ecx, cl
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_int____thiscall_ScCore::SimpleArray::operator___int_]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
jmp 0x1000c065
mov ebx, dword [ebp + 0x10]
mov esi, dword [esi + 0x30]
test esi, esi
jne 0x1000bf50
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add eax, 4
sub ecx, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
jne 0x1000bf40
cmp byte [ebp - 0x1c], 0
jne 0x1000c0d1
and ebx, 0x88000000
cmp ebx, 0x8000000
jne 0x1000c0d1
cmp dword [edi + 0x70], 0x20000089
je 0x1000c0c6
mov edi, dword [edi + 0x14]
test edi, edi
je 0x1000c0d1
mov eax, dword [edi]
push 0x20636f6c
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x10070958]
mov ecx, edi
call esi
test eax, eax
je 0x1000c0d1
push 0x74
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::append_int_]
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push 0
push eax
mov ecx, ebx
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::merge_class_ScCore::SimpleArray_const___bool_]
cmp byte [ebp - 0xd], 0
je 0x1000c0f2
push 0
mov ecx, ebx
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::append_int_]
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc