Function at 0x1009cdda
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x38
mov eax, 0x1012e511
call fcn.10123c44
mov ebx, ecx
mov dword [ebp - 0x3c], ebx
mov ecx, dword [ebp + 8]
push 3
push 0x1013fddc
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::String::ncmp_char_const___int_const]
test eax, eax
je 0x1009ce06
mov al, 1
jmp 0x1009d2b8
push dword [ebp + 8]
lea ecx, [ebp - 0x30]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_class_ScCore::String_const__]
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push 0x3d
push eax
lea ecx, [ebp - 0x30]
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::String::split_char_]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.ScCore.dll_private:_void___thiscall_ScCore::FileSpec::initData_void_]
mov esi, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_void_]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call esi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call esi
cmp byte [ebx + 0x1c], 0
mov edi, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::destructor_void_]
mov esi, dword [reloc.ScCore.dll___4String_ScCore__QAEAAV01_ABV01__Z]
mov byte [ebp - 4], 4
mov byte [ebp - 0xd], 0
je 0x1009cf62
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x1009cf62
push 0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::setPath_class_ScCore::String_const___bool_]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::FileSpec::getPath_void_]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call edi
lea esi, [ebx + 0x10]
push esi
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::String::operator_class_ScCore::String_const__const]
neg al
mov ecx, esi
mov esi, dword [reloc.ScCore.dll___4String_ScCore__QAEAAV01_ABV01__Z]
sbb al, al
inc al
mov byte [ebp - 0xd], al
lea eax, [ebp - 0x14]
push eax
call esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::FileSpec::getName_void_]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call edi
push 0x1013dd1c
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::changePath_class_ScCore::String_const__]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call edi
push 1
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::FileSpec::getAbsoluteURI_bool_]
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 8
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call edi
push 1
push 0x7fffffff
push 0x2e
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::String::find_unsigned_short_int__int__bool_const]
test eax, eax
jle 0x1009cf62
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::erase_int__int_]
push dword [ebp + 0xc]
mov esi, dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::String::operator_class_ScCore::String_const__const]
lea ecx, [ebx + 8]
call esi
test al, al
je 0x1009cf8a
push dword [ebp + 0x10]
lea ecx, [ebx + 0xc]
call esi
test al, al
je 0x1009cf8a
cmp byte [ebp - 0xd], 0
je 0x1009d262
lea esi, [ebx + 0x14]
push 0
push 0x1009ca3c
mov ecx, esi
mov dword [ebp - 0x38], esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::HashTable::forEach_bool____cdecl___class_ScCore::String_const___int___int___int_]
mov ecx, esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::HashTable::erase_void_]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x28]
mov esi, dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::String::substr_int__int_]
push 2
push 0
push eax
call esi
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x24]
push 0xffffffffffffffff
push 3
push eax
mov byte [ebp - 4], 9
call esi
lea eax, [ebx + 4]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_class_ScCore::String_const__]
push str.FILEPATH
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
mov esi, dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::String::replaceAll_class_ScCore::String_const___class_ScCore::String_const___int_]
lea ecx, [ebp - 0x20]
push 0
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push str.FILENAME
lea ecx, [ebp - 0x34]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
push ecx
push eax
lea ecx, [ebp - 0x1c]
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push str.LANGUAGE
lea ecx, [ebp - 0x34]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xe
push ecx
push eax
lea ecx, [ebp - 0x1c]
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push str.REGION
lea ecx, [ebp - 0x34]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
push 0
push ecx
push eax
lea ecx, [ebp - 0x1c]
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push str.LOCALE
lea ecx, [ebp - 0x34]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x10
push eax
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push str.ZSTRINGINFO
lea ecx, [ebp - 0x34]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
push eax
call esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call edi
push 0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::setPath_class_ScCore::String_const___bool_]
push 0
push 0
lea ecx, [ebp - 0x18]
call dword [sym.imp.ScCore.dll_public:_short_int___thiscall_ScCore::FileSpec::getAttributes_int___int__const]
xor ecx, ecx
cmp cx, ax
je 0x1009d247
push dword [ebp + 0xc]
lea ecx, [ebx + 8]
call dword [0x10131698]
push dword [ebp + 0x10]
lea ecx, [ebx + 0xc]
call dword [0x10131698]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x44]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::File::constructor_class_ScCore::FileSpec_const__]
push 0x101333d0
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x12
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0
push 0
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x44]
call dword [sym.imp.ScCore.dll_public_virtual:_int___thiscall_ScCore::File::open_class_ScCore::String_const___unsigned_int__unsigned_int_]
mov ebx, eax
mov byte [ebp - 4], 0x12
neg ebx
lea ecx, [ebp + 0xc]
sbb bl, bl
call edi
inc bl
je 0x1009d237
mov esi, dword [sym.imp.ScCore.dll_public_virtual:_bool___thiscall_ScCore::File::eof_void_const]
lea ecx, [ebp - 0x44]
call esi
test al, al
jne 0x1009d237
push 0x22
pop ebx
lea ecx, [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_void_]
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x44]
call dword [sym.imp.ScCore.dll_public_virtual:_int___thiscall_ScCore::File::readln_class_ScCore::String__]
test eax, eax
jne 0x1009d221
lea ecx, [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::strip_void_]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
cmp ecx, 2
jle 0x1009d221
cmp word [eax + 0xc], bx
jne 0x1009d1cd
cmp word [eax + ecx*2 + 0xa], bx
jne 0x1009d1cd
mov ebx, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::erase_int__int_]
lea eax, [ecx - 1]
push 0xffffffffffffffff
push eax
lea ecx, [ebp + 0xc]
call ebx
push 1
push 0
lea ecx, [ebp + 0xc]
call ebx
push 0x22
pop ebx
push 0x3d
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::String::split_char_]
push 4
mov byte [ebp - 4], 0x15
call dword [sym.imp.ScCore.dll_public:_static_void____cdecl_ScCore::Heap::operator_new_unsigned_int_]
pop ecx
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x1009d202
lea ecx, [ebp + 0xc]
push ecx
mov ecx, eax
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_class_ScCore::String_const__]
jmp 0x1009d204
xor eax, eax
mov ecx, dword [ebp - 0x38]
push 0
push eax
lea eax, [ebp + 0x10]
mov byte [ebp - 4], 0x15
push eax
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String_const____thiscall_ScCore::HashTable::set_class_ScCore::String_const___int__bool_]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x14
call edi
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x12
call edi
lea ecx, [ebp - 0x44]
call esi
test al, al
je 0x1009d16e
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xb
call dword [sym.imp.ScCore.dll_public_virtual:_void___thiscall_ScCore::File::destructor_void_]
mov ebx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call edi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call edi
push 0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebx + 0x14]
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::HashTable::find_class_ScCore::String_const___bool_const]
test eax, eax
je 0x1009d283
mov ecx, dword [ebp + 8]
push eax
call dword [0x10131698]
mov bl, 1
jmp 0x1009d285
xor bl, bl
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call edi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call edi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::FileSpec::destructor_void_]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call edi
mov al, bl
call fcn.10123c12
ret 0xc