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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f7b0b
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x34], esi
lea eax, [ebp + 0x10]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00428b20
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
push ecx
push dword [eax]
call fcn.0047f3a0
test eax, eax
je 0x43c2ce
add eax, 0xc
mov ecx, esi
push eax
call fcn.004289a0
mov eax, 1
cmp eax, 1
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x3c]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
sete bl
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c305
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c305
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
test bl, bl
je 0x43c313
mov ebx, 1
jmp 0x43c4b3
xor eax, eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x38], eax
call fcn.004374f0
mov ebx, dword [0x7e7970]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
xor eax, eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00428b20
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 9
call fcn.004289a0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c384
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c384
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov edi, dword [ebp - 0x48]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43c601
test al, 0x10
jne 0x43c601
push 0xc
call fcn.006b6815
mov esi, eax
add esp, 4
test esi, esi
jne 0x43c3c0
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x29]
push 0x7da8d8
push eax
call fcn.006b4394
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebp - 0x30], esi
push 0
push edi
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00474320
cmp eax, 1
jne 0x43c425
mov ecx, dword [esi]
test ecx, ecx
je 0x43c425
mov eax, dword [ecx]
push dword [ebp + 0x10]
call dword [eax + 0x14]
cmp eax, 1
jne 0x43c425
mov ecx, dword [esi]
test ecx, ecx
je 0x43c425
mov eax, dword [ecx]
call dword [eax + 0x18]
mov dword [ebp - 0x40], eax
test eax, eax
jle 0x43c425
push eax
call fcn.006b6815
mov ecx, eax
add esp, 4
mov dword [ebp - 0x3c], ecx
test ecx, ecx
jne 0x43c594
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00474600
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea eax, [ebx - 0xc]
cmp eax, 0x7e8698
je 0x43c454
add ebx, 0xfffffff4
push ebx
call esi
test eax, eax
jg 0x43c454
push ebx
call fcn.006b31f8
add esp, 4
lea eax, [edi - 0xc]
cmp eax, 0x7e8698
je 0x43c471
add edi, 0xfffffff4
push edi
call esi
test eax, eax
jg 0x43c471
push edi
call fcn.006b31f8
add esp, 4
mov dword [ebp - 0x90], vtable.Gul::GXmp.0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.00437a50
mov ecx, dword [ebp - 0x70]
lea eax, [ecx - 0xc]
cmp eax, 0x7e8698
je 0x43c4b0
lea eax, [ecx - 0xc]
push eax
call esi
test eax, eax
jg 0x43c4b0
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp + 8]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c4da
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c4da
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov eax, dword [ebp + 0xc]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c501
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c501
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov eax, dword [ebp + 0x10]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c528
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c528
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov eax, dword [ebp + 0x14]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c54f
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c54f
mov eax, dword [ebp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.006b31f8
add esp, 4
mov eax, dword [ebp + 0x18]
lea ecx, [eax - 0xc]
cmp ecx, 0x7e8698
je 0x43c576
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x43c576
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffff4
push ecx
call fcn.006b31f8
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006b3266
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
test edx, edx
je 0x43c5f0
mov esi, dword [ebp - 0x40]
mov eax, dword [edx]
push esi
push ecx
push dword [ebp + 0x10]
mov ecx, edx
call dword [eax + 0x1c]
test eax, eax
je 0x43c5f0
lea ecx, [ebp - 0x90]
call fcn.00437a50
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x90]
push 0
push esi
push eax
call fcn.004377c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
test eax, eax
jne 0x43c5df
call fcn.00474600
jmp 0x43c7d5
mov dword [ebp - 0x38], 1
call fcn.00474600
jmp 0x43c6a9
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00474600
jmp 0x43c7d5
mov eax, dword [0x7e7970]
mov dword [ebp - 0x30], eax
push ecx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x28]
push dword [ebp + 0x10]
mov edx, edi
call fcn.0047e110
add esp, 8
mov esi, eax
mov byte [ebp - 4], 0xc
cmp dword [esi + 0x14], 8
jb 0x43c62c
mov esi, dword [esi]
test esi, esi
jne 0x43c634
xor eax, eax
jmp 0x43c63b
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.00428920
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x14], 8
jb 0x43c65a
push dword [ebp - 0x28]
call fcn.006b31f8
add esp, 4
mov esi, dword [ebp - 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43c7ee
test al, 0x10
jne 0x43c7ee
push esi
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x38], 1
call fcn.00437680
lea ecx, [ebp - 0x30]
test eax, eax
jne 0x43c699
call fcn.00428810
jmp 0x43c431
mov dword [ebp - 0x4c], 1
mov byte [ebp - 4], 8
call fcn.00428810
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x43c7d5
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.004394c0
push str.GXSkin
push eax
call fcn.004292e0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x29], al
call fcn.00428810
cmp byte [ebp - 0x29], 0
jne 0x43c7d5
push 0
push ecx
mov ecx, esp
push str.SkinInfo
call fcn.00428840
mov ecx, esi
call fcn.00439a70
mov esi, eax
test esi, esi
je 0x43c7d5
mov ebx, dword [ebp - 0x34]
push ebx
push ecx
mov eax, esp
lea ecx, [ebp + 0x18]
push ecx
push str.SkinName
push eax
call fcn.00428c80
mov ecx, esi
call fcn.00439650
test eax, eax
jne 0x43c735
push ebx
push ecx
mov ecx, esp
push str.SkinName
call fcn.00428840
mov ecx, esi
call fcn.00439650
push 0x790eb0
push ecx
mov ecx, esp
push str.SkinVersion
call fcn.00428840
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.004397e0
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xd
call fcn.004289a0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.00428810
push 0x790eb0
push ebx
call fcn.004292e0
test al, al
je 0x43c7d2
cmp dword [ebp - 0x4c], 0
je 0x43c7a6
lea eax, [ebp + 0x14]
push eax
push ebx
lea eax, [ebp - 0x34]
push eax
call fcn.00428b20
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.004289a0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.00428810
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00428b20
push ebx
mov byte [ebp - 4], 0xf
push dword [eax]
call fcn.0047f440
mov ecx, eax
call fcn.004289a0
lea ecx, [ebp - 0x34]
call fcn.00428810
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x43c431
push eax
call fcn.006b31f8
add esp, 4
jmp 0x43c431
xor eax, eax
mov dword [ebp - 0x38], eax
lea eax, [esi - 0xc]
cmp eax, 0x7e8698
je 0x43c431
lea eax, [esi - 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
push eax
mov dword [ebp - 0x34], eax
call esi
test eax, eax
jg 0x43c437
push dword [ebp - 0x34]
call fcn.006b31f8
add esp, 4
jmp 0x43c437