Function at 0x427140
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub esp, 0x210
cmp dword [0x4df81c], 0
mov eax, dword [esp + 0x21c]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push ebp
mov byte [eax], 0
mov eax, dword [esp + 0x228]
push esi
push edi
mov dword [esp + 0x1c], ecx
mov byte [eax], 0
jne 0x4273a2
mov esi, dword [0x4ddfd0]
mov edi, 0x4df81c
mov edx, dword [0x4ddfcc]
test esi, esi
jne 0x4271a5
call fcn.00475460
mov esi, eax
mov dword [0x4ddfd0], esi
test esi, esi
je 0x427284
mov edx, dword [0x4ddfcc]
cmp dword [edx + 8], 0x208
jae 0x4271ca
call fcn.00475460
mov edx, dword [0x4ddfcc]
mov dword [edx + 0xc], eax
test eax, eax
je 0x427284
mov esi, dword [0x4ddfd0]
mov ecx, dword [edx + 4]
add dword [edx + 8], 0xfffffdf8
mov dword [0x4ddfc8], ecx
lea eax, [ecx + 0x208]
mov dword [edx + 4], eax
mov dword [edi], ecx
test ecx, ecx
je 0x42728a
add edi, 8
cmp edi, 0x4df834
jl 0x427186
mov ecx, dword [0x4deb98]
mov edx, ecx
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x427203
sub edx, esi
sar edx, 1
mov dword [0x4df820], edx
cmp edx, 0xff
jae 0x427299
mov edx, dword [0x4df81c]
test edx, edx
je 0x42724d
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x427230
mov edx, dword [0x4df81c]
mov ecx, dword [0x4deb98]
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427250
movq xmm0, qword [0x4cd3b0]
sub ecx, esi
sar ecx, 1
mov dword [0x4df820], ecx
movq qword [edx + ecx*2], xmm0
mov eax, dword [0x4cd3b8]
mov dword [edx + ecx*2 + 8], eax
add dword [0x4df820], 5
jmp 0x4272a9
mov dword [edi], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x210
ret 0x14
mov eax, dword [0x4df81c]
xor ecx, ecx
mov word [eax], cx
mov dword [0x4df820], ecx
push 0x4c602c
push dword [0x4df824]
call fcn.00449e70
mov edx, eax
add esp, 8
mov dword [0x4df828], edx
cmp edx, 0xf4
jae 0x4272fd
mov ecx, dword [0x4df824]
movups xmm0, xmmword [str.TtisBandigLib_]
movups xmmword [ecx + edx*2], xmm0
movups xmm0, xmmword [0x4cd3cc]
movups xmmword [ecx + edx*2 + 0x10], xmm0
mov ax, word [0x4cd3dc]
mov word [ecx + edx*2 + 0x20], ax
add dword [0x4df828], 0x10
jmp 0x42730d
mov eax, dword [0x4df824]
xor ecx, ecx
mov word [eax], cx
mov dword [0x4df828], ecx
push 0x104
push dword [0x4df82c]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push dword [0x4df82c]
call fcn.00492647
mov edx, dword [0x4df82c]
add esp, 8
lea ecx, [eax + 2]
sub ecx, edx
sar ecx, 1
mov dword [0x4df830], ecx
cmp ecx, 0x100
jae 0x42736c
movq xmm0, qword [str.Lib_]
movq qword [edx + ecx*2], xmm0
mov ax, word [0x4cd3e8]
mov word [edx + ecx*2 + 8], ax
add dword [0x4df830], 4
jmp 0x427376
xor eax, eax
mov word [edx], ax
mov dword [0x4df830], eax
mov esi, 0x4df81c
nop dword [eax + eax]
push dword [esi]
call ebx
cmp eax, 0xffffffff
je 0x42738d
test al, 0x10
jne 0x427397
mov eax, dword [esi]
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 4], ecx
add esi, 8
cmp esi, 0x4df834
jl 0x427380
mov ebp, dword [esp + 0x228]
mov edi, dword [esp + 0x224]
test ebp, ebp
jne 0x4273d0
mov ebp, edi
lea ecx, [ebp + 2]
nop dword [eax]
mov ax, word [ebp]
add ebp, 2
test ax, ax
jne 0x4273c0
sub ebp, ecx
sar ebp, 1
mov dword [esp + 0x14], edi
mov ebx, ebp
mov dword [esp + 0x18], 0
nop
xor esi, esi
mov ecx, dword [esi*8 + 0x4df81c]
cmp word [ecx], 0
je 0x427444
mov edx, dword [esi*8 + 0x4df820]
lea eax, [edx + ebx]
cmp eax, 0x100
jae 0x427444
lea edi, [ebx + ebx]
push edi
push dword [esp + 0x18]
lea eax, [ecx + edx*2]
push eax
call fcn.004ab450
movq xmm0, qword [str..exk]
add esp, 0xc
movq qword [edi + eax], xmm0
lea ecx, [edi + eax]
mov ax, word [0x4cad50]
mov word [ecx + 8], ax
push dword [esi*8 + 0x4df81c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x427444
test al, 0x10
je 0x4274b4
inc esi
cmp esi, 3
jl 0x4273e2
mov edi, dword [esp + 0x224]
push 0x5f
push edi
call fcn.00492ca4
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x42728a
sub ebx, edi
sar ebx, 1
cmp ebx, 0xfe
jae 0x42728a
lea esi, [ebx + ebx]
push esi
lea eax, [esp + 0x24]
push edi
push eax
mov dword [esp + 0x20], eax
call fcn.004ab450
xor eax, eax
add esp, 0xc
mov word [esp + esi + 0x20], ax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 2
jl 0x4273e0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x210
ret 0x14
mov eax, dword [esp + 0x230]
mov ecx, dword [esi*8 + 0x4df820]
mov byte [eax], 1
mov eax, dword [esi*8 + 0x4df81c]
lea edi, [eax + ecx*2]
xor eax, eax
mov word [edi - 2], ax
mov ecx, dword [esi*8 + 0x4df81c]
call fcn.004461e0
mov ebx, dword [esp + 0x1c]
mov eax, 0x5c
mov word [edi - 2], ax
mov ecx, dword [ebx + 0xae0]
test ecx, ecx
je 0x427520
cmp byte [esp + 0x234], 0
je 0x427520
mov eax, dword [esi*8 + 0x4df81c]
push eax
push eax
push dword [esi*8 + 0x4df820]
push str.Include___0.s_nIncludeAgain__s_n
push ecx
call fcn.0041b2b0
add esp, 0x14
push 0
push 0
push dword [esi*8 + 0x4df81c]
mov ecx, ebx
call fcn.0041cde0
test eax, eax
jne 0x42754f
mov eax, dword [esp + 0x22c]
mov byte [eax], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x210
ret 0x14
push 0
push ebp
push dword [esp + 0x22c]
mov ecx, ebx
call fcn.00427570
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x210
ret 0x14