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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x11
add esp, 0xfffff004
push eax
dec eax
jne 0x41d53d
mov eax, dword [ebp - 4]
add esp, 0xfffff7d0
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor eax, eax
mov al, byte [esi]
cmp eax, 0x25
jne 0x41d57a
xor edx, edx
mov dl, byte [esi + 1]
cmp edx, 0x25
jne 0x41d57a
xor ecx, ecx
mov cl, byte [esi + 2]
test byte [ecx + 0x464e1d], 0xc
jne 0x41d581
xor eax, eax
jmp 0x41de14
xor edx, edx
xor ecx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
xor edx, edx
lea eax, [edi + 0x808]
mov dword [ebp - 0x1c], edx
mov ebx, 3
mov dword [ebp - 0x20], 0x7f
push esi
push edi
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
lea esi, [ebp - 0x8430]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
xor eax, eax
mov dword [ebp - 0x24], eax
xor edx, edx
mov dl, byte [esi + 2]
cmp edx, 0x46
jne 0x41d61f
xor ecx, ecx
mov cl, byte [esi + ebx]
test byte [ecx + 0x464e1d], 2
je 0x41d61f
lea eax, [ebx + esi]
push eax
call fcn.0041833f
pop ecx
mov dword [ebp - 0x20], eax
lea eax, [esi + ebx]
jmp 0x41d610
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x464e1d], 2
jne 0x41d60e
jmp 0x41d5df
xor ecx, ecx
mov cl, byte [esi + 2]
cmp ecx, 0x45
jne 0x41d65d
xor eax, eax
mov al, byte [esi + ebx]
test byte [eax + 0x464e1d], 2
je 0x41d65d
lea edx, [ebx + esi]
push edx
call fcn.0041833f
pop ecx
mov dword [edi + 0x1814], eax
lea eax, [esi + ebx]
jmp 0x41d64e
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x464e1d], 2
jne 0x41d64c
jmp 0x41d5df
xor ecx, ecx
mov cl, byte [esi + ebx]
cmp ecx, 0x50
jg 0x41d67d
je 0x41d6d2
sub ecx, 0x2a
je 0x41d6db
sub ecx, 0x17
je 0x41d693
sub ecx, 0xc
je 0x41d6b7
dec ecx
je 0x41d6c0
jmp 0x41d6f0
sub ecx, 0x51
je 0x41d69c
sub ecx, 2
je 0x41d6ae
sub ecx, 4
je 0x41d6c9
sub ecx, 0x1a
je 0x41d6a5
jmp 0x41d6f0
mov dword [ebp - 0x1c], 1
jmp 0x41d6f7
mov dword [ebp - 4], 1
jmp 0x41d6f7
mov dword [ebp - 4], 2
jmp 0x41d6f7
mov dword [ebp - 8], 1
jmp 0x41d6f7
mov dword [ebp - 0xc], 1
jmp 0x41d6f7
mov dword [ebp - 0x10], 1
jmp 0x41d6f7
mov dword [ebp - 0x14], 1
jmp 0x41d6f7
mov dword [ebp - 0x18], 1
jmp 0x41d6f7
push esi
push edi
mov esi, 0x46064b
lea edi, [ebp - 0x8430]
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x41d6f7
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], 0
jne 0x41d703
inc ebx
jmp 0x41d5df
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
sub dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
test eax, eax
jg 0x41d719
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x7e00
jle 0x41d729
mov dword [ebp - 0x20], 0x7e00
cmp dword [ebp - 0xc], 0
jne 0x41d73c
cmp dword [ebp - 0x10], 0
jne 0x41d73c
mov dword [ebp - 0x10], 1
push esi
push edi
add ebx, esi
xor eax, eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x8030]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
xor eax, eax
mov al, byte [esi + 2]
add eax, 0xffffffbf
cmp eax, 0x2b
ja case.0x41d77e.65
mov al, byte [eax + 0x41d785]
jmp dword [eax*4 + 0x41d7b1]
add edi, 8
push esi
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x1c], 0
pop edi
pop esi
je 0x41d806
push esi
push esi
call sub.USER32.dll_OemToCharA
cmp dword [ebp - 0x18], 0
je 0x41d829
push esi
call fcn.0040809c
cmp esi, eax
je 0x41d81c
mov byte [eax - 1], 0
jmp 0x41d829
push esi
mov edi, esi
mov esi, 0x46064d
mov eax, edi
movsw word es:[edi], word [esi]
pop esi
push esi
call fcn.00408878
jmp 0x41ddf3
push 0x2e
lea ebx, [edi + 8]
push ebx
call fcn.0040809c
push eax
call fcn.00452e98
add esp, 8
test eax, eax
setne al
and eax, 1
mov dword [ebp - 0x28], eax
push esi
push ebx
call fcn.00408900
push 0x5c
push ebx
call fcn.00453124
add esp, 8
mov ebx, eax
lea edx, [edi + 8]
push edx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x41d8d2
test ebx, ebx
je 0x41d8d2
lea ecx, [edi + 8]
cmp ebx, ecx
je 0x41d8d2
push esi
push edi
lea eax, [edi + 8]
lea esi, [ebp - 0x8830]
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, ebx
and ecx, 3
lea edx, [ebp - 0x8830]
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
add edi, 8
sub eax, edi
mov byte [ebp + eax - 0x8830], 0
push esi
push edx
call fcn.00408900
push ebx
push esi
call fcn.00452e5c
add esp, 8
cmp dword [ebp - 0x28], 0
je 0x41d8fb
push 0x2e
push esi
call fcn.0040809c
push eax
call fcn.00452e98
add esp, 8
test eax, eax
jne 0x41d8fb
push 0x46064f
push esi
call fcn.00452e5c
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x41d908
push esi
push esi
call sub.USER32.dll_OemToCharA
cmp dword [ebp - 0x18], 0
je 0x41ddf3
push esi
call fcn.0040809c
cmp esi, eax
je 0x41d925
mov byte [eax - 1], 0
jmp 0x41ddf3
push esi
mov edi, esi
mov esi, 0x460651
mov eax, edi
movsw word es:[edi], word [esi]
pop esi
jmp 0x41ddf3
mov byte [esi], 0
jmp 0x41ddf3
mov byte [esi], 0
jmp 0x41ddf3
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x8430]
push edx
push ecx
mov eax, dword [ebp - 0xc]
lea ebx, [edi + 0x1410]
push eax
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 4]
push ecx
push ebx
push edi
call fcn.0041de20
test eax, eax
jne 0x41d983
or eax, 0xffffffff
jmp 0x41de14
push esi
push edi
xor eax, eax
mov edi, ebx
or ecx, 0xffffffff
lea esi, [ebp - 0x8c34]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push eax
call fcn.00408878
xor eax, eax
push esi
lea edi, [ebp - 0x8c34]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41ddf3
add edi, 0x408
push esi
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x41ddf3
add edi, 0xc08
push esi
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x41ddf3
cmp dword [edi], 0
je 0x41ddea
mov byte [ebp - 0x10c34], 0
cmp dword [edi + 0x1408], 0xffffffff
jne 0x41dda6
xor eax, eax
mov dword [edi + 0x1408], eax
jmp 0x41dda6
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp byte [edi + 0x1008], 0
je 0x41daac
push esi
push edi
lea ecx, [edi + 0x1008]
xor eax, eax
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x11034]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
xor eax, eax
mov byte [edi + 0x1008], 0
mov dword [ebp - 0x30], eax
jmp 0x41db35
xor edx, edx
mov dl, byte [esi + 2]
cmp edx, 0x66
jne 0x41dac7
cmp dword [edi + 0x140c], 0xffffffff
je 0x41dac7
mov ebx, dword [edi + 0x140c]
jmp 0x41dad4
mov ebx, dword [edi + 0x1408]
mov dword [ebp - 0x2c], 1
cmp ebx, dword [edi + 4]
jge 0x41ddc3
lea edx, [ebx + ebx*8]
mov eax, dword [edi]
shl edx, 3
push esi
sub edx, ebx
push edi
lea esi, [ebp - 0x11034]
lea edx, [ebx + edx*4]
shl edx, 2
add eax, edx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebx + ebx*8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
shl eax, 3
pop edi
sub eax, ebx
pop esi
mov edx, dword [edi]
lea eax, [ebx + eax*4]
mov ecx, dword [edx + eax*4 + 0x460]
mov dword [ebp - 0x30], ecx
mov dword [edi + 0x140c], ebx
cmp dword [ebp - 0x1c], 0
je 0x41db4e
lea eax, [ebp - 0x11034]
push eax
lea edx, [ebp - 0x11034]
push edx
call sub.USER32.dll_OemToCharA
cmp dword [ebp - 0x14], 0
je 0x41dbb6
lea ecx, [ebp - 0x11034]
push ecx
call fcn.0040809c
push esi
push edi
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
lea esi, [ebp - 0x11434]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x11434]
or ecx, 0xffffffff
lea esi, [ebp - 0x11034]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [ebp - 0x18], 0
je 0x41dbeb
lea eax, [ebp - 0x11034]
push eax
call fcn.0040809c
lea edx, [ebp - 0x11034]
cmp eax, edx
je 0x41dbd8
mov byte [eax - 1], 0
jmp 0x41dbeb
push esi
push edi
mov esi, 0x460653
lea edi, [ebp - 0x11034]
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
cmp byte [ebp - 0x10c34], 0
je 0x41dc29
lea edx, [ebp - 0x10c34]
push edx
call fcn.00452eec
pop ecx
mov ebx, eax
lea eax, [ebp - 0x11034]
push eax
call fcn.00452eec
pop ecx
add ebx, eax
cmp ebx, dword [ebp - 0x20]
jae 0x41ddc3
xor edx, edx
mov dl, byte [esi + 2]
cmp edx, 0x66
je 0x41ddc3
mov ecx, dword [ebp - 0x2c]
add dword [edi + 0x1408], ecx
test byte [ebp - 0x30], 0x10
je 0x41dd2a
lea eax, [ebp - 0x8430]
lea edx, [ebp - 0x11034]
push eax
push edx
lea ecx, [ebp - 0x11834]
push 0x460655
push ecx
call fcn.00456f9c
add esp, 0x10
cmp dword [ebp - 0x18], 0
je 0x41dcc0
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x11034]
or ecx, 0xffffffff
lea esi, [ebp - 0x11834]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x11834]
push eax
call fcn.0040809c
lea edx, [ebp - 0x11834]
cmp eax, edx
je 0x41dcad
mov byte [eax - 1], 0
jmp 0x41dcc0
push esi
push edi
mov esi, 0x46065b
lea edi, [ebp - 0x11834]
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
cmp dword [ebp - 0xc], 0
je 0x41dd2a
cmp dword [ebp - 0x10], 0
je 0x41dcfd
push esi
push edi
lea edx, [edi + 0x1008]
xor eax, eax
lea edi, [ebp - 0x11834]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edx
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x41dd2a
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x11834]
or ecx, 0xffffffff
lea esi, [ebp - 0x11034]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [ebp - 4], 1
jne 0x41dd3e
lea eax, [ebp - 0x11034]
push eax
call fcn.00408878
jmp 0x41dd50
cmp dword [ebp - 4], 2
jne 0x41dd50
lea edx, [ebp - 0x11034]
push edx
call fcn.004088a0
cmp dword [ebp - 8], 0
je 0x41dd73
lea eax, [ebp - 0x11034]
jmp 0x41dd6d
and edx, 0xff
cmp edx, 0x5c
jne 0x41dd6c
mov byte [eax], 0x2f
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x41dd5e
cmp byte [ebp - 0x10c34], 0
je 0x41dd90
push 0x46065d
lea eax, [ebp - 0x10c34]
push eax
call fcn.00452e5c
add esp, 8
lea ecx, [ebp - 0x11034]
push ecx
lea eax, [ebp - 0x10c34]
push eax
call fcn.00452e5c
add esp, 8
mov edx, dword [edi + 0x1408]
cmp edx, dword [edi + 4]
jl 0x41da5e
xor ecx, ecx
mov cl, byte [esi + 2]
cmp ecx, 0x66
je 0x41da5e
xor eax, eax
push esi
lea edi, [ebp - 0x10c34]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41ddf3
mov byte [esi], 0
jmp 0x41ddf3
xor eax, eax
jmp 0x41de14
push esi
call fcn.00452eec
pop ecx
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
lea ecx, [ebp - 0x8030]
push ecx
push esi
call fcn.00452e5c
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc