Function at 0x417a70
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x44ac68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
push edi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], edi
call fcn.0041a8a0
lea eax, [ebp - 0x3c]
push eax
call fcn.0041b370
add esp, 4
push 0xffffffffffffffff
push edi
lea ecx, [esi + 0x7b4]
push ecx
mov ecx, eax
call fcn.00406d70
xor edx, edx
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], edi
mov word [ebp - 0x58], dx
call fcn.00407320
mov ebx, 8
cmp dword [ebp - 0x28], ebx
jb 0x417aeb
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00420084
add esp, 4
lea ecx, [ebp - 0x11c]
call fcn.00411ad0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x44], ebx
jae 0x417b01
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00409770
push str.InsertFiles
lea ecx, [ebp - 0x11c]
call fcn.00408b70
lea ecx, [ebp - 0x11c]
call fcn.00408be0
push str.file
lea ecx, [ebp - 0x11c]
call fcn.00408b70
lea ecx, [ebp - 0x11c]
test al, al
jne 0x417b69
mov byte [esi + 0x145], al
call fcn.00411b70
cmp dword [ebp - 0x44], ebx
jb 0x417b5e
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.00420084
add esp, 4
xor edx, edx
mov word [ebp - 0x58], dx
jmp 0x41809d
call fcn.00408be0
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.004094c0
mov edx, dword [ebp - 0x3c]
mov ebx, 0x10
cmp dword [ebp - 0x28], ebx
jae 0x417b94
lea edx, [ebp - 0x3c]
mov eax, edx
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], edi
mov byte [ebp - 0x90], 0
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417bb0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x90]
call fcn.004044d0
cmp dword [ebp - 0x28], ebx
jb 0x417bd7
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00420084
add esp, 4
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x68]
call fcn.00417700
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x417bfa
mov edx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x74]
push ecx
push edx
call eax
add esp, 8
lea ecx, [ebp - 0x11c]
call fcn.00407d90
push str.file
lea ecx, [ebp - 0x11c]
call fcn.00408b70
test al, al
je 0x417cd8
lea ecx, [ecx]
lea ecx, [ebp - 0x11c]
call fcn.00408be0
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.004094c0
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0xc], ebx
jae 0x417c4c
lea edx, [ebp - 0x20]
mov eax, edx
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], edi
mov byte [ebp - 0x3c], 0
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417c60
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x3c]
call fcn.004044d0
cmp dword [ebp - 0xc], ebx
jb 0x417c84
mov edx, dword [ebp - 0x20]
push edx
call fcn.00420084
add esp, 4
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x68]
call fcn.00417700
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x417ca4
mov edx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x74]
push ecx
push edx
call eax
add esp, 8
lea ecx, [ebp - 0x11c]
call fcn.00407d90
cmp dword [ebp - 0x28], ebx
jb 0x417cc0
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00420084
add esp, 4
push str.file
lea ecx, [ebp - 0x11c]
call fcn.00408b70
test al, al
jne 0x417c20
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x64]
je 0x418055
mov edi, dword [ebp - 0x120]
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x417cfc
mov eax, dword [edi]
jmp 0x417cfe
mov eax, edi
cmp eax, 0x43d5fa
je 0x417df0
cmp ecx, 0x10
jb 0x417d12
mov esi, dword [edi]
jmp 0x417d14
mov esi, edi
sub esp, 0x1c
mov edi, esp
push 0
sub esp, 0x1c
mov ecx, esp
mov eax, esi
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov byte [ecx], 0
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417d36
sub eax, ebx
push eax
push esi
call fcn.004044d0
push edi
call fcn.0041b400
add esp, 0x24
call fcn.0041acc0
add esp, 0x1c
test eax, eax
je 0x417dea
mov ecx, dword [ebp - 0x120]
cmp dword [ecx + 0x14], 0x10
jb 0x417d6d
mov ecx, dword [ecx]
xor ebx, ebx
mov edi, 0xf
mov eax, ecx
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov byte [ebp - 0x20], bl
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417d82
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.004044d0
mov ecx, dword [ebp - 0x10]
inc ecx
push ecx
call fcn.0041fdfc
add esp, 4
cmp dword [ebp - 0xc], 0x10
mov esi, eax
mov eax, dword [ebp - 0x20]
jae 0x417db0
lea eax, [ebp - 0x20]
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417db4
cmp dword [ebp - 0xc], 0x10
jb 0x417dd0
mov edx, dword [ebp - 0x20]
push edx
call fcn.00420084
add esp, 4
mov ecx, dword [ebp - 0x128]
push esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov byte [ebp - 0x20], bl
call fcn.00410850
jmp 0x418027
mov edi, dword [ebp - 0x120]
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x417dfc
mov ecx, dword [edi]
jmp 0x417dfe
mov ecx, edi
cmp ecx, 0x43d5fa
je 0x417e5f
or dword [ebp - 0x124], 1
cmp eax, 0x10
jb 0x417e16
mov esi, dword [edi]
jmp 0x417e18
mov esi, edi
push 0
sub esp, 0x1c
mov ecx, esp
mov eax, esi
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov byte [ecx], 0
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417e35
sub eax, ebx
push eax
push esi
call fcn.004044d0
lea eax, [ebp - 0x3c]
push eax
call fcn.0041b400
push eax
call fcn.0041ab90
add esp, 0x28
test eax, eax
je 0x417e5f
mov bl, 1
jmp 0x417e61
xor bl, bl
test byte [ebp - 0x124], 1
je 0x417e83
and dword [ebp - 0x124], 0xfffffffe
cmp dword [ebp - 0x28], 8
jb 0x417e83
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00420084
add esp, 4
test bl, bl
je 0x418041
mov eax, dword [edi + 0x10]
inc eax
push eax
call fcn.0041fdfc
add esp, 4
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x12c], eax
jb 0x417ea8
mov edx, dword [edi]
jmp 0x417eaa
mov edx, edi
mov ecx, dword [edi + 0x10]
push edx
inc ecx
push ecx
push eax
call fcn.0042240d
lea eax, [ebp - 0xac]
xor edx, edx
mov edi, 7
xor ebx, ebx
push eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x3c], dx
call fcn.0041b370
mov esi, dword [ebp - 0x128]
add esp, 0x10
push 0xffffffffffffffff
push ebx
add esi, 0x7ec
push esi
mov ecx, eax
call fcn.00406d70
xor ecx, ecx
mov word [ebp - 0x20], cx
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
call fcn.00407320
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x3c]
call fcn.00407320
cmp dword [ebp - 0xc], 8
jb 0x417f22
mov eax, dword [ebp - 0x20]
push eax
call fcn.00420084
add esp, 4
xor ecx, ecx
cmp dword [ebp - 0x98], 8
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], cx
jb 0x417f46
mov edx, dword [ebp - 0xac]
push edx
call fcn.00420084
add esp, 4
cmp dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x3c]
jae 0x417f52
lea eax, [ebp - 0x3c]
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
push ebx
push 1
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0xac]
push ecx
call fcn.0041b370
add esp, 4
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.00406d70
xor edx, edx
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], dx
call fcn.00407320
mov eax, dword [ebp - 0x10]
add eax, 0xa
push eax
call fcn.0041fdfc
add esp, 4
cmp dword [ebp - 0xc], 8
mov esi, eax
mov eax, dword [ebp - 0x20]
jae 0x417fb5
lea eax, [ebp - 0x20]
push eax
push 0x43d800
push esi
call fcn.004221c9
add esp, 0xc
cmp dword [ebp - 0xc], 8
jb 0x417fd6
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00420084
add esp, 4
xor edx, edx
push esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], dx
call fcn.0040d0b0
mov esi, 8
add esp, 0x24
cmp dword [ebp - 0x98], esi
jb 0x418007
mov eax, dword [ebp - 0xac]
push eax
call fcn.00420084
add esp, 4
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00420881
add esp, 4
cmp dword [ebp - 0x28], esi
jb 0x418027
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00420084
add esp, 4
mov eax, dword [ebp - 0x120]
add eax, 0x1c
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x64]
jne 0x417cea
jmp 0x41804e
mov eax, dword [ebp - 0x128]
mov byte [eax + 0x145], 0
xor edi, edi
mov ebx, 0x10
cmp dword [ebp - 0x7c], ebx
jb 0x418069
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00420084
add esp, 4
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], edi
mov byte [ebp - 0x90], 0
call fcn.00411b70
cmp dword [ebp - 0x44], 8
jb 0x418097
mov edx, dword [ebp - 0x58]
push edx
call fcn.00420084
add esp, 4
xor eax, eax
mov word [ebp - 0x58], ax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], edi
call fcn.0041a910
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042008f
mov esp, ebp
pop ebp
ret