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

Disassembly:
sub esp, 0x208
push esi
mov esi, dword [esp + 0x210]
mov dword [0x7621bc], 1
mov dword [0x77c5ec], 0
movzx eax, byte [esi + 1]
add eax, 0xfffffffd
cmp eax, 9
ja case.0x417519.5
movzx eax, byte [eax + 0x4177d8]
jmp dword [eax*4 + 0x4177c4]
movzx ecx, word [esi + 6]
push 0
push ecx
mov ecx, 0x77c600
call fcn.00416be0
movzx edx, word [esi + 6]
mov eax, dword [0x77c604]
push edx
add esi, 8
push esi
push eax
call fcn.0065c820
add esp, 0xc
mov al, 1
pop esi
add esp, 0x208
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00426770
mov al, 1
pop esi
add esp, 0x208
ret
cmp byte [esi + 6], 0x15
jb 0x417572
mov byte [esi + 6], 0
movzx eax, byte [esi + 6]
lea ecx, [eax - 1]
cmp ecx, 0x13
ja case.0x417589.2
movzx ecx, byte [ecx + 0x417804]
jmp dword [ecx*4 + 0x4177e4]
mov ecx, 0x77e198
call fcn.00464c30
movzx edx, byte [esi + 6]
mov eax, dword [edx*4 + 0x754c38]
push 1
push 0x6fef1c
push 0
push 0
push eax
call fcn.0046d1e0
add esp, 0x14
mov al, 1
pop esi
add esp, 0x208
ret
mov ecx, 0x77e198
call fcn.00464c30
movzx ecx, byte [esi + 6]
mov edx, dword [ecx*4 + 0x754c38]
push 1
push 0x6fef1c
push 0
push 0
push edx
call fcn.0046d1e0
add esp, 0x14
mov al, 1
pop esi
add esp, 0x208
ret
push 0
call fcn.00462020
add esp, 4
mov al, 1
pop esi
add esp, 0x208
ret
mov ecx, dword [eax*4 + 0x754c38]
push 1
push 0x6fef1c
push 0
push 0
push ecx
call fcn.0046d1e0
add esp, 0x14
call fcn.0045e360
mov ecx, dword [eax + 0x148]
test ecx, ecx
je 0x417646
push 1
call fcn.0045e360
mov ecx, dword [eax + 0x148]
call fcn.00615470
call fcn.0045e360
mov ecx, dword [eax + 0x144]
test ecx, ecx
je 0x41771c
push 1
call fcn.0045e360
mov ecx, dword [eax + 0x144]
call fcn.00615470
mov al, 1
pop esi
add esp, 0x208
ret
mov edx, dword [eax*4 + 0x754c38]
push 1
push 0x6fef1c
push 0
push 0
push edx
call fcn.0046d1e0
add esp, 0x14
mov al, 1
pop esi
add esp, 0x208
ret
mov eax, dword [eax*4 + 0x754c38]
push 1
push 0x6fef1c
push 0
push 0
push eax
call fcn.0046d1e0
add esp, 0x14
mov al, 1
pop esi
add esp, 0x208
ret
mov ecx, dword [0x75c674]
mov edx, dword [eax*4 + 0x754c38]
push 1
push ecx
push 0
push 0x23
push edx
mov ecx, 0x77e198
call fcn.0046ce90
mov al, 1
pop esi
add esp, 0x208
ret
mov eax, dword [eax*4 + 0x754c38]
mov dword [0x77c5ec], eax
call fcn.0041e300
cmp dword [eax], 1
je 0x417712
movzx ecx, byte [esi + 6]
mov edx, dword [ecx*4 + 0x754c38]
push edx
call fcn.0040f410
add esp, 4
mov ecx, 0x77e198
call fcn.00464c30
mov al, 1
pop esi
add esp, 0x208
ret
push str..xml
mov ecx, 0x77c628
call fcn.0052d820
push eax
lea eax, [esp + 0xc]
push str.datauserdb_d_s
push eax
call fcn.0065c60e
add esp, 0x10
push str..xml
mov ecx, 0x77c628
call fcn.0052d820
push eax
lea ecx, [esp + 0x110]
push str.userdb_d_s
push ecx
call fcn.0065c60e
add esp, 0x10
lea edx, [esp + 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x417781
test al, 0x10
je 0x417790
lea eax, [esp + 4]
push eax
mov ecx, 0x77c628
call fcn.0052d860
lea ecx, [esp + 0x108]
push ecx
mov ecx, 0x77c628
call fcn.0052dbf0
push esi
call fcn.0044ff10
mov ecx, eax
call fcn.004501b0
mov al, 1
pop esi
add esp, 0x208
ret
xor al, al
pop esi
add esp, 0x208
ret