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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x60d50e
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
mov edx, dword [esp + 0x1b8]
lea eax, [esp + 0xa8]
push ebx
push ebp
push esi
xor ebp, ebp
push edi
push ebp
push ebp
push ebp
push ebp
push 0x100
lea ecx, [esp + 0x7c]
push eax
push ecx
push edx
call fcn.005cc170
add esp, 0x20
cmp eax, ebp
jne 0x41bdbc
lea eax, [esp + 0xb8]
push ebp
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], ebp
mov word [esp + 0x44], bp
call fcn.00402d00
xor esi, esi
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ebp
mov word [esp + 0x24], bp
mov edi, dword [esp + 0x38]
mov byte [esp + 0x1c0], 1
cmp edi, ebp
jne 0x41b868
lea edi, [esp + 0x3c]
mov eax, dword [0x6ec738]
cmp eax, ebp
jne 0x41b876
mov eax, 0x6ec73c
mov ecx, 0x6be7dc
test ecx, ecx
je 0x41b9f2
cmp eax, ebp
je 0x41b9f2
mov edx, 0x6be7c4
test edx, edx
je 0x41b9f2
cmp edi, ebp
je 0x41b9f2
push eax
lea ecx, [esp + 0x48]
call fcn.0040e020
push 0x6be7c4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1c4], 2
call fcn.0040e020
push edi
lea ecx, [esp + 0x60]
mov byte [esp + 0x1c4], 3
call fcn.0040e020
mov bl, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c0], bl
call fcn.00401070
push 0x6be7dc
lea ecx, [esp + 0x30]
call fcn.00402350
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1c0], 5
call fcn.004023d0
push eax
call fcn.005de123
add esp, 4
lea ecx, [esp + 0x50]
mov edi, eax
call fcn.004023d0
push eax
call fcn.005de123
mov ebp, eax
add esp, 4
lea ecx, [esp + 0x44]
add ebp, esi
call fcn.004023d0
push eax
call fcn.005de123
add ebp, edi
lea esi, [eax + ebp + 4]
lea ebp, [esi + esi]
push ebp
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x20], edi
je 0x41b9a9
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x5c]
call fcn.004023d0
push eax
lea ecx, [esp + 0x54]
call fcn.004023d0
push eax
lea ecx, [esp + 0x4c]
call fcn.004023d0
push eax
lea ecx, [esp + 0x38]
call fcn.004023d0
push eax
mov eax, dword [esp + 0x30]
push esi
push eax
call fcn.005de0b3
mov ecx, dword [esp + 0x38]
push ecx
call fcn.005de123
add esp, 0x1c
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c0], bl
call fcn.00401070
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1c0], 3
call fcn.00401070
lea ecx, [esp + 0x50]
mov byte [esp + 0x1c0], 2
call fcn.00401070
lea ecx, [esp + 0x44]
mov byte [esp + 0x1c0], 1
call fcn.00401070
mov esi, dword [esp + 0x20]
xor ebp, ebp
cmp esi, ebp
je 0x41ba1c
push esi
call fcn.005de123
lea eax, [esi + eax*2]
add esp, 4
cmp esi, eax
jae 0x41ba18
cmp word [esi], 0x2f
jne 0x41ba11
mov word [esi], 0x5c
add esi, 2
cmp esi, eax
jb 0x41ba06
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ebp
mov word [esp + 0x18], bp
cmp esi, ebp
mov byte [esp + 0x1c0], 6
mov eax, esi
jne 0x41ba42
lea eax, [esp + 0x24]
mov edx, 0x6bc090
test edx, edx
je 0x41bb1f
cmp eax, ebp
je 0x41bb1f
push eax
lea ecx, [esp + 0x54]
call fcn.0040e020
mov bl, 7
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c0], bl
call fcn.00401070
push 0x6bc090
lea ecx, [esp + 0x48]
call fcn.00402350
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x50]
mov byte [esp + 0x1c0], 8
call fcn.004023d0
push eax
call fcn.005de123
lea esi, [eax + esi + 2]
lea ebp, [esi + esi]
push ebp
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
je 0x41baf8
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x50]
call fcn.004023d0
push eax
lea ecx, [esp + 0x48]
call fcn.004023d0
push eax
mov eax, dword [esp + 0x1c]
push esi
push eax
call fcn.005de0b3
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005de123
add esp, 0x14
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x1c0], bl
call fcn.00401070
lea ecx, [esp + 0x50]
mov byte [esp + 0x1c0], 6
call fcn.00401070
mov ecx, dword [esp + 0x14]
xor ebp, ebp
cmp ecx, ebp
mov eax, ecx
jne 0x41bb29
lea eax, [esp + 0x18]
push 0x5c
push eax
call fcn.005de073
add esp, 8
cmp eax, ebp
je 0x41bc8e
add eax, 2
cmp word [eax], bp
jne 0x41bb49
mov byte [esp + 0x13], 1
mov word [eax], bp
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41bb58
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x41bc49
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41bb74
lea eax, [esp + 0x18]
add eax, 6
push 0x5c
push eax
call fcn.005de61b
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x41bc49
mov bl, 9
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41bb9a
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], ebp
mov word [esp + 0x34], bp
call fcn.004023e0
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1c0], bl
cmp eax, ebp
mov ecx, eax
jne 0x41bbc6
lea ecx, [esp + 0x30]
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41bbd2
lea eax, [esp + 0x18]
mov edx, esi
sub edx, eax
sar edx, 1
mov word [ecx + edx*2], bp
mov eax, dword [esp + 0x2c]
cmp eax, ebp
jne 0x41bbe8
lea eax, [esp + 0x30]
push ebp
push eax
call fcn.00495540
add esp, 8
test eax, eax
jne 0x41bc0d
push ebp
lea ecx, [esp + 0x30]
call fcn.004023d0
push eax
call fcn.00495720
add esp, 8
test eax, eax
je 0x41bc38
add esi, 2
push 0x5c
push esi
call fcn.005de61b
add esp, 8
lea ecx, [esp + 0x2c]
mov esi, eax
mov byte [esp + 0x1c0], 6
call fcn.00401070
cmp esi, ebp
jne 0x41bb8e
jmp 0x41bc49
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c0], 6
call fcn.00401070
mov al, byte [esp + 0x13]
test al, al
je 0x41bc8e
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c0], 1
call fcn.00401070
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c0], 0
call fcn.00401070
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.00401070
xor eax, eax
jmp 0x41bdbc
push 0x2000
call fcn.005de9fe
mov edi, eax
add esp, 4
cmp edi, ebp
jne 0x41bce1
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c0], 1
call fcn.00401070
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c0], 0
call fcn.00401070
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.00401070
mov eax, 0xffffff98
jmp 0x41bdbc
mov eax, dword [esp + 0x1c8]
push eax
call fcn.005cc620
mov esi, eax
add esp, 4
cmp esi, ebp
jne 0x41bd6e
push 0x6be7bc
lea ecx, [esp + 0x24]
call fcn.004023d0
push eax
call fcn.005df7bf
mov ebx, eax
add esp, 8
cmp ebx, ebp
je 0x41bd6e
mov ecx, dword [esp + 0x1c8]
push 0x2000
push edi
push ecx
call fcn.005cc960
mov esi, eax
add esp, 0xc
cmp esi, ebp
jl 0x41bd65
jle 0x41bd65
push ebx
push 1
push esi
push edi
call fcn.005df655
add esp, 0x10
cmp eax, 1
jne 0x41bd62
mov edx, dword [esp + 0x1c8]
push 0x2000
push edi
push edx
call fcn.005cc960
mov esi, eax
add esp, 0xc
cmp esi, ebp
jge 0x41bd30
jmp 0x41bd65
or esi, 0xffffffff
push ebx
call fcn.005df5d8
add esp, 4
mov eax, dword [esp + 0x1c8]
push eax
call fcn.005ccb50
push edi
call fcn.005ddf8a
add esp, 8
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c0], 1
call fcn.00401070
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c0], 0
call fcn.00401070
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.00401070
mov eax, esi
mov ecx, dword [esp + 0x1b8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1b4
ret