Function at 0x413919
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x30
mov eax, 0x4e8e9d
call fcn.00495410
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ecx, dword [ebp + 8]
push 3
push 0x5070b4
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::String::ncmp_char_const___int_const]
test eax, eax
je 0x413948
mov al, 1
call fcn.004954af
ret 0xc
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
push 0x3d
lea eax, [ebp - 0x2c]
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
mov esi, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::destructor_void_]
xor bl, bl
cmp byte [edi + 0x1c], bl
mov edi, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
mov byte [ebp - 4], 4
je 0x413aae
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x413aae
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 dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call esi
mov eax, dword [ebp - 0x10]
add eax, 0x10
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::String::operator_class_ScCore::String_const__const]
mov ecx, dword [ebp - 0x10]
mov bl, al
neg bl
sbb bl, bl
lea eax, [ebp - 0x14]
push eax
add ecx, 0x10
inc bl
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
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 dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call esi
push 0x5070b0
lea ecx, [ebp - 0x1c]
call edi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
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 esi
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 dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call esi
push 1
push SysReAllocString
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 0x413aae
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::erase_int__int_]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0xc]
add ecx, 8
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::String::operator_class_ScCore::String_const__const]
test al, al
je 0x413adc
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x10]
add ecx, 0xc
call dword [sym.imp.ScCore.dll_public:_bool___thiscall_ScCore::String::operator_class_ScCore::String_const__const]
test al, al
je 0x413adc
test bl, bl
je 0x413d96
mov ebx, dword [ebp - 0x10]
push 0
add ebx, 0x14
push 0x405800
mov ecx, ebx
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::HashTable::forEach_bool____cdecl___class_ScCore::String_const___int___int___int_]
mov ecx, ebx
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::HashTable::erase_void_]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [sym.imp.ScCore.dll_public:_class_ScCore::String___thiscall_ScCore::String::substr_int__int_]
push 2
push 0
lea eax, [ebp - 0x28]
push eax
call ebx
mov ecx, dword [ebp + 0xc]
push 0xffffffffffffffff
push 3
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 9
call ebx
mov eax, dword [ebp - 0x10]
add eax, 4
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
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 edi
mov ebx, dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::String::replaceAll_class_ScCore::String_const___class_ScCore::String_const___int_]
push 0
lea ecx, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
push str.FILENAME
lea ecx, [ebp - 0x34]
call edi
push 0
lea ecx, [ebp - 0x14]
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
push str.LANGUAGE
lea ecx, [ebp - 0x34]
call edi
push 0
lea ecx, [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
push str.REGION
lea ecx, [ebp - 0x34]
call edi
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
push str.LOCALE
lea ecx, [ebp - 0x34]
call edi
push 0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0x10
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
push str.ZSTRINGINFO
lea ecx, [ebp - 0x34]
call edi
push 0
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0x11
call ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call esi
xor ebx, ebx
push ebx
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 ebx
push ebx
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 0x413d7b
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0xc]
mov ebx, dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
add ecx, 8
call ebx
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x10]
add ecx, 0xc
call ebx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x3c]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::File::constructor_class_ScCore::FileSpec_const__]
push 0x505564
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x12
call edi
push 0
push 0
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x13
call dword [sym.imp.ScCore.dll_public_virtual:_int___thiscall_ScCore::File::open_class_ScCore::String_const___unsigned_int__unsigned_int_]
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [ebp + 0xc]
inc bl
mov byte [ebp - 4], 0x12
call esi
test bl, bl
je 0x413d6e
mov ebx, dword [sym.imp.ScCore.dll_public_virtual:_bool___thiscall_ScCore::File::eof_void_const]
jmp 0x413d61
lea ecx, [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_void_]
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call dword [sym.imp.ScCore.dll_public_virtual:_int___thiscall_ScCore::File::readln_class_ScCore::String__]
test eax, eax
jne 0x413d58
lea ecx, [ebp + 0xc]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::strip_void_]
mov eax, dword [ebp + 0xc]
cmp dword [eax], 2
jle 0x413d58
cmp word [eax + 0xc], 0x22
jne 0x413d01
mov ecx, dword [eax]
cmp word [eax + ecx*2 + 0xa], 0x22
jne 0x413d01
mov edi, dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::erase_int__int_]
dec ecx
push 0xffffffffffffffff
push ecx
lea ecx, [ebp + 0xc]
call edi
push 1
push 0
lea ecx, [ebp + 0xc]
call edi
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 0x413d36
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 0x413d38
xor eax, eax
mov ecx, dword [ebp - 0x10]
push 0
push eax
lea eax, [ebp + 0x10]
push eax
add ecx, 0x14
mov byte [ebp - 4], 0x15
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 esi
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x12
call esi
lea ecx, [ebp - 0x3c]
call ebx
test al, al
je 0x413ca1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call dword [sym.imp.ScCore.dll_public_virtual:_void___thiscall_ScCore::File::destructor_void_]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call esi
mov ecx, dword [ebp - 0x10]
push 0
lea eax, [ebp - 0x2c]
push eax
add ecx, 0x14
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::HashTable::find_class_ScCore::String_const___bool_const]
test eax, eax
je 0x413df0
mov ecx, dword [ebp + 8]
push eax
call dword [sym.imp.ScCore.dll_public:_class_ScCore::String____thiscall_ScCore::String::operator_class_ScCore::String_const__]
mov bl, 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call esi
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 esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call esi
mov al, bl
jmp 0x413940
xor bl, bl
jmp 0x413db8