Function at 0x10074e90
Capabilities:
Check if file exists
Get file attributes
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x101120a8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x84]
push eax
mov ecx, esi
call sym.XNewLookSch.dll_public:_class_LString___thiscall_LString::get_real_file_from_env_format_void_
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
cmovae eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x10074ede
mov byte [ebp - 0x85], 0
mov bl, byte [ebp - 0x85]
jmp 0x10074eeb
shr ebx, 4
mov byte [ebp - 0x85], 1
and bl, 1
lea ecx, [ebp - 0x84]
call sym.XNewLookSch.dll_public_virtual:_void___thiscall_LString::destructor_void_
cmp byte [ebp - 0x85], 0
jne 0x10074f14
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
test bl, bl
je 0x10074f2f
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x18], 8
lea eax, [esi + 4]
jb 0x10074f3a
mov eax, dword [eax]
push 0
push 0x80
push 3
push 0
push 1
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10074f71
pop esi
mov eax, 0xfffffffd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x94]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x10074fa1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
mov eax, 0xfffffffc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x100f1dd4]
lea ecx, [ebp - 0xf8]
movq xmm0, qword [str.Guyitoufa_S2]
lea edx, [ecx + 1]
mov dword [ebp - 0xf0], eax
mov al, byte [0x100f1dd8]
movq qword [ebp - 0xf8], xmm0
mov byte [ebp - 0xec], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10074fd0
mov ebx, dword [ebp - 0x90]
sub ecx, edx
push edi
lea edi, [ecx + 1]
mov ecx, dword [ebp - 0x94]
mov eax, ecx
or eax, ebx
jne 0x1007500e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
mov eax, edi
cdq
cmp ebx, edx
jg 0x1007503a
jl 0x1007501b
cmp ecx, eax
ja 0x1007503a
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
push 0x64
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.1008da10
add esp, 0xc
mov dword [ebp - 0x8c], 0
lea eax, [ebp - 0x8c]
push 0
push eax
push edi
lea eax, [ebp - 0x68]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x8c], edi
je 0x10075090
pop edi
pop esi
mov eax, 0xfffffff8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4
mov ecx, str.Guyitoufa_S2
lea eax, [ebp - 0x68]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100750b8
test dl, dl
je 0x100750b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100750b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10075098
xor eax, eax
jmp 0x100750bd
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 4]
neg eax
pop edi
sbb eax, eax
xor ecx, ebp
pop esi
and eax, 0xfffffff7
pop ebx
call fcn.1008bffe
mov esp, ebp
pop ebp
ret 4