Function at 0x100121e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0xc]
push edi
mov dword [ebp - 4], 0x32
call sym.ScCore.dll_public:_void___thiscall_ScCore::String::erase_void_
mov eax, dword [esi + 4]
cmp dword [eax + 0x16], 0
je 0x100123d3
mov ebx, eax
mov edi, dword [ebx + 0x12]
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], edi
call sym.ScCore.dll_public:_static_class_ScCore::Encoder_const____cdecl_ScCore::Encoder::getBinary_void_
cmp edi, eax
mov edi, dword [ebp + 8]
setne byte [ebp - 8]
cmp edi, 0x7fffffff
je 0x10012234
test edi, edi
jns 0x100122db
mov ecx, dword [ebx + 0x16]
mov edi, dword [sym.imp.msvcr100.dll_ftell]
push ecx
call edi
mov edx, dword [esi + 4]
push 2
mov ebx, eax
mov eax, dword [edx + 0x16]
push 0
push eax
call dword [sym.imp.msvcr100.dll_fseek]
add esp, 0x10
test eax, eax
je 0x10012268
pop edi
pop esi
mov eax, 0x34
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x16]
push edx
call edi
mov edi, eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x16]
push 0
push ebx
push ecx
sub edi, ebx
call dword [sym.imp.msvcr100.dll_fseek]
add esp, 0x10
test eax, eax
jne 0x1001225a
push edi
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
mov edx, dword [esi + 4]
mov ebx, eax
mov eax, dword [edx + 0x16]
push eax
push edi
push 1
push ebx
call dword [sym.imp.msvcr100.dll_fread]
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x12]
mov edi, dword [ebp + 0xc]
add esp, 0x14
push edx
push eax
push ebx
mov ecx, edi
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
cmp byte [ebp - 8], 0
mov dword [ebp - 4], eax
je 0x100122cd
push 3
mov ecx, edi
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
push ebx
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
add esp, 4
jmp 0x10012377
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
test eax, eax
jle 0x10012325
imul eax, edi
mov ebx, eax
push ebx
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x16]
push edx
push ebx
mov edi, eax
push 1
push edi
call dword [sym.imp.msvcr100.dll_fread]
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x12]
mov ecx, dword [ebp + 0xc]
add esp, 0x14
push edx
push eax
push edi
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
push edi
mov dword [ebp - 4], eax
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
add esp, 4
jmp 0x10012377
test edi, edi
jle 0x10012377
mov ebx, dword [ebp - 8]
lea esp, [esp]
mov eax, dword [esi + 4]
push ebx
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
add esp, 4
dec edi
cmp eax, 0xffffffff
je 0x10012377
mov ecx, dword [ebp + 0xc]
push eax
call sym.ScCore.dll_public:_bool___thiscall_ScCore::FileSpec::tempName_void_
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x16]
push ecx
call dword [sym.imp.msvcr100.dll_ferror]
add esp, 4
test eax, eax
jne 0x10012377
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x16]
push eax
call dword [sym.imp.msvcr100.dll_feof]
add esp, 4
test eax, eax
jne 0x10012377
test edi, edi
jg 0x10012330
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x16]
push edx
call dword [sym.imp.msvcr100.dll_ferror]
add esp, 4
test eax, eax
je 0x100123ae
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x16]
push ecx
call dword [sym.imp.msvcr100.dll_clearerr]
add esp, 4
pop edi
mov dword [ebp - 4], 0x34
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x16]
push eax
call dword [sym.imp.msvcr100.dll_feof]
add esp, 4
test eax, eax
je 0x100123d3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
cmp dword [edx], 0
jne 0x100123d3
mov dword [ebp - 4], 0x33
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8