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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101b12c8
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x10415990]
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, dword [ebp + 8]
push 0xb
mov dword [ebp - 0x40], ecx
xor edi, edi
push str.._ivw_g.cfg
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.10048340
mov dword [ebp - 4], edi
cmp esi, edi
je 0x1017bc83
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1017bc70
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.10048340
mov eax, dword [ebp - 0x2c]
mov esi, 0x10
cmp dword [ebp - 0x18], esi
jae 0x1017bc93
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1017c1f9
cmp eax, esi
je 0x1017c1f9
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x1017bcb6
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 1
cmp eax, edi
je 0x1017bcd6
push edi
push 0x10212580
push eax
lea ecx, [ebp - 0x3c]
call fcn.1016e7a0
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.1016dbc0
mov ebx, dword [ebp - 0x50]
cmp ebx, dword [ebp - 0x4c]
je 0x1017bd6d
jmp 0x1017bd00
xor edi, edi
mov esi, dword [edi*4 + 0x104163ec]
mov ecx, ebx
call fcn.1004e8b0
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x1017bd30
test cl, cl
je 0x1017bd2c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x1017bd30
add eax, 2
add esi, 2
test cl, cl
jne 0x1017bd10
xor eax, eax
jmp 0x1017bd35
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1017bd41
inc edi
cmp edi, 0xa
jl 0x1017bd02
jmp 0x1017bd46
cmp edi, 0xa
jl 0x1017bd65
cmp dword [ebx + 0x14], 0x10
jb 0x1017bd50
mov eax, dword [ebx]
jmp 0x1017bd52
mov eax, ebx
push eax
push str.CFG_DEC::init
push str._s__para_not_suitable_for_normal_operation__param___s_n
call sub.MSVCR100.dll_printf
add esp, 0xc
add ebx, 0x1c
cmp ebx, dword [ebp - 0x4c]
jne 0x1017bd00
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017bdd9
jmp 0x1017bd80
cmp dword [esi + 0x14], 0x10
jb 0x1017bd8a
mov eax, dword [esi]
jmp 0x1017bd8c
mov eax, esi
push str.wdec_param_normal_none
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017bda5
add esi, 0x38
cmp esi, edi
jne 0x1017bd80
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017bdd6
test esi, esi
je 0x1017bdd6
cmp dword [esi + 0x2c], 0
je 0x1017bdd6
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017bdc1
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017be43
mov ebx, 0x10
cmp dword [esi + 0x14], ebx
jb 0x1017bdef
mov eax, dword [esi]
jmp 0x1017bdf1
mov eax, esi
push str.wdec_param_nCmThreshold
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017be0a
add esi, 0x38
cmp esi, edi
jne 0x1017bde6
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017be40
test esi, esi
je 0x1017be40
cmp dword [esi + 0x2c], 0
je 0x1017be40
cmp dword [esi + 0x30], ebx
lea eax, [esi + 0x1c]
jb 0x1017be25
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x3c]
add esp, 0xc
jmp 0x1017be46
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017bea7
mov edi, edi
cmp dword [esi + 0x14], 0x10
jb 0x1017be5a
mov eax, dword [esi]
jmp 0x1017be5c
mov eax, esi
push str.wdec_param_nLMPenalty
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017be75
add esi, 0x38
cmp esi, edi
jne 0x1017be50
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017bea4
test esi, esi
je 0x1017bea4
cmp dword [esi + 0x2c], 0
je 0x1017bea4
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017be91
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017bf05
nop
cmp dword [esi + 0x14], 0x10
jb 0x1017beba
mov eax, dword [esi]
jmp 0x1017bebc
mov eax, esi
push str.wdec_param_bWarmup
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017bed5
add esi, 0x38
cmp esi, edi
jne 0x1017beb0
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017bf02
test esi, esi
je 0x1017bf02
cmp dword [esi + 0x2c], 0
je 0x1017bf02
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017bef1
mov eax, dword [eax]
push 0
push eax
call fcn.10164e10
mov ecx, dword [ebp - 0x38]
add esp, 8
mov byte [ebx + 0xc], al
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017bf65
lea ecx, [ecx]
cmp dword [esi + 0x14], 0x10
jb 0x1017bf1a
mov eax, dword [esi]
jmp 0x1017bf1c
mov eax, esi
push str.wdec_param_bFillerDec
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017bf35
add esi, 0x38
cmp esi, edi
jne 0x1017bf10
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017bf62
test esi, esi
je 0x1017bf62
cmp dword [esi + 0x2c], 0
je 0x1017bf62
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017bf51
mov eax, dword [eax]
push 0
push eax
call fcn.10164e10
mov ecx, dword [ebp - 0x38]
add esp, 8
mov byte [ebx + 0xd], al
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017bfc5
lea ecx, [ecx]
cmp dword [esi + 0x14], 0x10
jb 0x1017bf7a
mov eax, dword [esi]
jmp 0x1017bf7c
mov eax, esi
push str.wdec_param_bRegularCM
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017bf95
add esi, 0x38
cmp esi, edi
jne 0x1017bf70
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017bfc2
test esi, esi
je 0x1017bfc2
cmp dword [esi + 0x2c], 0
je 0x1017bfc2
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017bfb1
mov eax, dword [eax]
push 0
push eax
call fcn.10164e10
mov ecx, dword [ebp - 0x38]
add esp, 8
mov byte [ebx + 0xe], al
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017c025
lea ecx, [ecx]
cmp dword [esi + 0x14], 0x10
jb 0x1017bfda
mov eax, dword [esi]
jmp 0x1017bfdc
mov eax, esi
push str.wdec_param_bOpenAnalysis
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017bff5
add esi, 0x38
cmp esi, edi
jne 0x1017bfd0
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017c022
test esi, esi
je 0x1017c022
cmp dword [esi + 0x2c], 0
je 0x1017c022
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017c011
mov eax, dword [eax]
push 0
push eax
call fcn.10164e10
mov ecx, dword [ebp - 0x38]
add esp, 8
mov byte [ebx + 0xf], al
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017c087
lea ecx, [ecx]
cmp dword [esi + 0x14], 0x10
jb 0x1017c03a
mov eax, dword [esi]
jmp 0x1017c03c
mov eax, esi
push str.wdec_param_nCMLevel
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017c055
add esi, 0x38
cmp esi, edi
jne 0x1017c030
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017c084
test esi, esi
je 0x1017c084
cmp dword [esi + 0x2c], 0
je 0x1017c084
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017c071
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017c0e7
nop
cmp dword [esi + 0x14], 0x10
jb 0x1017c09a
mov eax, dword [esi]
jmp 0x1017c09c
mov eax, esi
push str.wdec_param_nContinueFrame
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017c0b5
add esi, 0x38
cmp esi, edi
jne 0x1017c090
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017c0e4
test esi, esi
je 0x1017c0e4
cmp dword [esi + 0x2c], 0
je 0x1017c0e4
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017c0d1
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017c147
nop
cmp dword [esi + 0x14], 0x10
jb 0x1017c0fa
mov eax, dword [esi]
jmp 0x1017c0fc
mov eax, esi
push str.wdec_param_speech_door
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017c115
add esi, 0x38
cmp esi, edi
jne 0x1017c0f0
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x1017c144
test esi, esi
je 0x1017c144
cmp dword [esi + 0x2c], 0
je 0x1017c144
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017c131
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov esi, eax
cmp eax, ecx
je 0x1017c19f
nop
cmp dword [esi + 0x14], 0x10
jb 0x1017c15a
mov eax, dword [esi]
jmp 0x1017c15c
mov eax, esi
push str.wdec_param_normal_count
push eax
call sub.MSVCR100.dll__stricmp
add esp, 8
test eax, eax
je 0x1017c175
add esi, 0x38
cmp esi, edi
jne 0x1017c150
cmp esi, dword [ebp - 0x38]
je 0x1017c19f
test esi, esi
je 0x1017c19f
cmp dword [esi + 0x2c], 0
je 0x1017c19f
cmp dword [esi + 0x30], 0x10
lea eax, [esi + 0x1c]
jb 0x1017c18f
mov eax, dword [eax]
push 0
push 0
push eax
call sub.MSVCR100.dll_strtol
add esp, 0xc
mov dword [ebx + 0x1c], eax
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x1017c1e3
mov edi, dword [ebp - 0x4c]
cmp esi, edi
je 0x1017c1da
mov ebx, 0xf
cmp dword [esi + 0x14], 0x10
jb 0x1017c1c3
mov eax, dword [esi]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x1c
cmp esi, edi
jne 0x1017c1b2
mov esi, dword [ebp - 0x50]
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0
call fcn.1016e000
mov esi, 0x10
jmp 0x1017c281
test byte [0x10455d90], 1
jne 0x1017c220
or dword [0x10455d90], 1
mov ecx, 0x10455b90
call fcn.101651b0
push 0x101b4ca0
call fcn.1015f6af
add esp, 4
cmp dword [0x10455d68], edi
jg 0x1017c281
push 0x1016baa0
push edi
push 0x5e
push str.F:userypzhu2ivw_trunk_1421includecfg_template.h
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], edi
call fcn.101697a0
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
push edx
push str.__Couldnt_find_cfg_file
add eax, 0xbc0
push str.CFG_DEC::init
push eax
mov byte [ebp - 4], 4
call fcn.10167060
add esp, 8
push eax
call fcn.10167060
add esp, 8
push eax
call fcn.100561b0
add esp, 8
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.1016cac0
cmp dword [ebp - 0x18], esi
jb 0x1017c292
mov eax, dword [ebp - 0x2c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
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.1015eea7
mov esp, ebp
pop ebp
ret 4