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

Disassembly:
push 0xffffffffffffffff
push 0x4c4e04
mov eax, dword fs:[0]
push eax
mov eax, 0x17284
call fcn.004b0000
mov eax, dword [0x4d98f0]
xor eax, esp
mov dword [esp + 0x17280], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d98f0]
xor eax, esp
push eax
lea eax, [esp + 0x17298]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x172a8]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x542e30], 1
mov word [0x53ffa8], ax
mov word [0x53f7a8], cx
mov word [0x53efa8], dx
mov byte [0x53ee14], al
jne 0x49a6a0
or dword [0x542e30], 1
mov dword [esp + 0x172a0], ebp
mov ecx, 0x542830
call fcn.00496eb0
push 0x4c5830
call fcn.004b1e3f
add esp, 4
mov dword [esp + 0x172a0], 0xffffffff
mov ecx, 0x542830
mov dword [0x5407ac], 0x542830
call fcn.00470000
mov ecx, 0x5428d8
call fcn.00470000
mov ecx, 0x542980
call fcn.00470000
mov al, byte [0x51a779]
mov byte [0x542e2e], al
cmp ebx, ebp
jne 0x49a701
mov ecx, dword [0x51b8cc]
mov edx, dword [0x5072f0]
push 0x542830
push 0x494900
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49b02f
push 0x497620
push ebp
push ebp
push 7
call fcn.0048eba0
push 0x4cdda8
call fcn.0048ca60
cmp ebx, ebp
je 0x49a7f8
xor eax, eax
jmp 0x49a730
mov cl, byte [eax + 0x528c63]
mov byte [esp + eax + 0x4e88], cl
inc eax
test cl, cl
jne 0x49a730
mov byte [0x542e28], cl
push 0x4c6f44
mov ecx, 0x542980
mov byte [0x542e2a], 1
mov byte [0x542e29], 1
call fcn.004703f0
mov ecx, dword [0x52a494]
call fcn.0046ffa0
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x52a494]
call fcn.004704c0
test al, al
je 0x49a8c9
jmp 0x49a7a0
push 0x400
lea edx, [esp + 0x5a98]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x52a0]
push ecx
call fcn.00455d40
lea edx, [esp + 0x5a94]
push edx
mov ecx, 0x542830
call fcn.004703f0
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x52a494]
call fcn.004704c0
test al, al
jne 0x49a7a0
jmp 0x49a8c9
cmp byte [0x542a28], 0
mov byte [esp + 0x4e88], 0
je 0x49a8c9
cmp byte [0x542e2b], 0
je 0x49a832
lea edi, [esp + 0x4e88]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a820
mov dx, word [0x4cdda4]
mov word [edi], dx
cmp byte [0x542e2c], 0
je 0x49a854
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a843
mov ax, word [0x4cdda0]
mov word [edi], ax
cmp byte [0x542e2d], 0
je 0x49a877
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a865
mov cx, word [0x4cdd9c]
mov word [edi], cx
lea edi, [esp + 0x4e88]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a880
mov dx, word [str.htc]
mov eax, 0x542a28
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49a8a0
lea edi, [esp + 0x4e88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49a8b1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x51a779], 0
je 0x49a8e9
push 0x400
lea eax, [esp + 0x6298]
push eax
mov ecx, 0x5219d0
call fcn.004131f0
cmp byte [0x542e28], 0
mov dword [0x5407a8], ebp
mov byte [0x53ee15], 0
mov byte [0x53ee16], 1
mov edi, 2
je 0x49a918
cmp byte [0x542e2e], 0
jne 0x49a918
mov ecx, edi
jmp 0x49a91a
xor ecx, ecx
mov eax, 0x5428d8
cmp ebx, ebp
je 0x49a925
mov eax, ebx
push 3
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a6c]
call fcn.00469000
mov dword [esp + 0x172a0], 1
lea ecx, [esp + 0xd78]
call fcn.004128b0
lea ecx, [esp + 0xd9c]
call fcn.004128b0
lea ecx, [esp + 0xdc0]
call fcn.004128b0
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a60]
call fcn.00469b50
test eax, eax
jne 0x49af40
cmp byte [0x51b848], 0
jne 0x49af40
call fcn.0044c9d0
mov eax, dword [0x5407a8]
cmp eax, ebp
je 0x49a9b6
movzx edx, byte [0x542e2e]
push edx
push eax
mov eax, dword [0x51a774]
push eax
call fcn.00496f90
mov dword [0x5407a8], ebp
cmp word [esp + 0x564], 0x2e
jne 0x49a9d3
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x49a9da
lea ecx, [esp + 0x564]
lea edx, [esp + 0x5a94]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bp
jne 0x49a9e1
push 0x50
lea ecx, [esp + 0x5a98]
push ecx
call fcn.0044c5a0
push eax
push 0x523
call fcn.00466860
push eax
lea edx, [esp + 0x6a9c]
push edx
mov edx, 0x400
call fcn.00407130
mov ecx, dword [0x51a774]
add esp, 0xc
lea eax, [esp + 0x6a94]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x542e2a], 0
je 0x49aa8e
cmp byte [esp + 0xd74], 0
jne 0x49aa8e
mov ecx, 0x542980
call fcn.0046ffa0
mov ecx, 0x542980
call fcn.00470660
mov esi, eax
cmp esi, ebp
je 0x49aa8e
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.0044be70
test al, al
jne 0x49aafb
mov ecx, 0x542980
call fcn.00470660
mov esi, eax
cmp esi, ebp
jne 0x49aa67
cmp byte [0x542e29], 0
je 0x49af24
cmp byte [esp + 0xd74], 0
je 0x49aab3
cmp byte [esp + 0x4e88], 0
jne 0x49af24
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49af24
nop
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.0044be70
test al, al
jne 0x49ae23
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49aad0
jmp 0x49af24
cmp word [esi], 0x2a
jne 0x49ab30
cmp word [esi + 2], bp
jne 0x49ab30
cmp byte [0x542e2e], 0
jne 0x49ab30
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x5219d0
call fcn.004173a0
test al, al
je 0x49aa8e
cmp byte [0x542e2e], 0
mov dword [0x51b01c], edi
je 0x49ab46
mov byte [0x522f0a], 1
cmp byte [esp + 0x4e88], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x5219d0
call fcn.004169e0
cmp eax, edi
jne 0x49ab7f
call fcn.004535a0
test al, al
je 0x49af40
jmp 0x49af24
cmp eax, 1
jne 0x49aa8e
push eax
push ebp
push ebp
push ebp
xor ecx, ecx
lea edx, [esp + 0x52a4]
push edx
lea eax, [esp + 0x578]
mov word [esp + 0x52a8], cx
push eax
mov ecx, 0x5219d0
call fcn.004173a0
lea ecx, [esp + 0x5294]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00477400
test eax, eax
je 0x49ac62
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x5294]
push eax
call esi
cmp eax, 0xffffffff
jne 0x49af24
push 0x4c6e10
lea ecx, [esp + 0x5298]
push ecx
call fcn.00457e10
lea edx, [esp + 0x5294]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00477400
test eax, eax
je 0x49ac24
lea ecx, [esp + 0x5294]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x49af24
push 0x4c6e18
lea edx, [esp + 0x5298]
push edx
call fcn.00457e10
lea eax, [esp + 0x5294]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00477400
test eax, eax
je 0x49ac62
lea edx, [esp + 0x5294]
push edx
call esi
cmp eax, 0xffffffff
jne 0x49af24
cmp byte [esp + 0x4e88], 0
jne 0x49ad32
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5219d0
xor ebx, ebx
call fcn.004128c0
test al, al
je 0x49af24
mov edi, edi
cmp byte [0x51b848], 0
jne 0x49af24
inc ebx
test bl, 0x1f
jne 0x49aca8
call fcn.0044c9d0
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49ad11
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.0044be70
test al, al
jne 0x49ace4
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49acc0
jmp 0x49ad11
mov edx, dword [esp + 0x1e14]
push 0x4c6a66
push edx
call fcn.00435650
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.00491e90
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5219d0
call fcn.004128c0
test al, al
jne 0x49ac90
jmp 0x49af24
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5219d0
call fcn.00413240
mov ecx, 0x5219d0
call fcn.00411b10
and eax, 0x400
and edx, ebp
or eax, edx
je 0x49ad73
push 0x3ac
call fcn.00466860
push eax
push 0x529c92
call fcn.00499dd0
add esp, 8
jmp 0x49af24
push ebp
call fcn.004878e0
push 0x400
push 0x529c92
mov ecx, 0x5219d0
call fcn.00413210
mov edx, dword [esp + 0x94]
mov ecx, dword [0x52a494]
mov dword [0x527c24], edx
call fcn.00470000
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49adda
lea ecx, [ecx]
mov ecx, dword [0x52a494]
push eax
call fcn.00470400
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49adc0
lea eax, [esp + 0x4e88]
push eax
push 0x4cdd94
push 0x528c62
mov byte [0x527342], 1
mov dword [0x5272e4], ebp
mov dword [0x527308], ebp
call fcn.004b002b
add esp, 0xc
mov ecx, 0x5219d0
mov byte [0x528c3c], 1
mov dword [0x51b01c], edi
call fcn.00413c20
jmp 0x49af24
cmp byte [esp + 0x4e88], 0
jne 0x49ae66
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e98]
push ecx
push ebp
push ebp
call fcn.0043b2a0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72ac]
push edx
call fcn.0043b2a0
jmp 0x49af24
lea ecx, [esp + 0x1e34]
call fcn.004340f0
mov byte [esp + 0x172a0], 2
push 4
lea eax, [esp + 0x568]
push eax
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0x1e40]
call fcn.00434530
test al, al
je 0x49af10
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e98]
push ecx
push ebp
push ebp
call fcn.0043b2a0
push 0x10000
lea edx, [esp + 0x7298]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00434e60
cmp eax, ebp
je 0x49af10
lea ebx, [ebx]
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72ac]
push eax
call fcn.0043b2a0
push 0x10000
lea ecx, [esp + 0x7298]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00434e60
cmp eax, ebp
jne 0x49aee0
mov byte [esp + 0x172a0], 1
lea ecx, [esp + 0x1e34]
call fcn.00434500
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a60]
call fcn.00469b50
test eax, eax
je 0x49a981
cmp byte [0x51b848], 0
mov byte [0x53ee16], 0
je 0x49af60
cmp byte [0x53ee14], 0
je 0x49af60
mov byte [0x51b848], 0
mov eax, dword [0x5407a8]
cmp eax, ebp
je 0x49af84
movzx ecx, byte [0x542e2e]
mov edx, dword [0x51a774]
push ecx
push eax
push edx
call fcn.00496f90
mov dword [0x5407a8], ebp
push 0x270
mov byte [0x53ee15], 0
call fcn.00466860
push eax
mov eax, dword [0x51a774]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x51b848], 0
je 0x49afbf
mov ecx, dword [0x51a774]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x49afc4
call fcn.0048c5d0
cmp word [0x53f7a8], bp
je 0x49afe7
push 0x53f7a8
mov ecx, 0x5210a8
call fcn.0044a0e0
cmp word [0x53ffa8], bp
je 0x49b009
jmp 0x49affa
cmp word [0x53ffa8], bp
je 0x49b018
mov ecx, 0x5210a8
call fcn.00448480
push 0x53ffa8
mov ecx, 0x5210a8
call fcn.0044a290
push 0x53efa8
mov ecx, 0x5210a8
call fcn.004485a0
mov dword [esp + 0x172a0], 0xffffffff
lea ecx, [esp + 0x2a5c]
call fcn.004692a0
mov ecx, dword [esp + 0x17298]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17280]
xor ecx, esp
call fcn.004affec
add esp, 0x17290
ret 4