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

Disassembly:
push 0xffffffffffffffff
push 0x4c44e4
mov eax, dword fs:[0]
push eax
mov eax, 0x17284
call fcn.004af740
mov eax, dword [0x4d88f0]
xor eax, esp
mov dword [esp + 0x17280], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d88f0]
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 [0x541e30], 1
mov word [0x53efa8], ax
mov word [0x53e7a8], cx
mov word [0x53dfa8], dx
mov byte [0x53de14], al
jne 0x499e40
or dword [0x541e30], 1
mov dword [esp + 0x172a0], ebp
mov ecx, 0x541830
call fcn.00496660
push 0x4c4f10
call fcn.004b157f
add esp, 4
mov dword [esp + 0x172a0], 0xffffffff
mov ecx, 0x541830
mov dword [0x53f7ac], 0x541830
call fcn.0046f780
mov ecx, 0x5418d8
call fcn.0046f780
mov ecx, 0x541980
call fcn.0046f780
mov al, byte [0x519779]
mov byte [0x541e2e], al
cmp ebx, ebp
jne 0x499ea1
mov ecx, dword [0x51a8cc]
mov edx, dword [0x5062f0]
push 0x541830
push 0x4940b0
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49a7cf
push 0x496dd0
push ebp
push ebp
push 7
call fcn.0048e310
push 0x4ccda8
call fcn.0048c1d0
cmp ebx, ebp
je 0x499f98
xor eax, eax
jmp 0x499ed0
mov cl, byte [eax + 0x527c62]
mov byte [esp + eax + 0x4e88], cl
inc eax
test cl, cl
jne 0x499ed0
mov byte [0x541e28], cl
push 0x4c5f44
mov ecx, 0x541980
mov byte [0x541e2a], 1
mov byte [0x541e29], 1
call fcn.0046fb70
mov ecx, dword [0x529494]
call fcn.0046f720
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x529494]
call fcn.0046fc40
test al, al
je 0x49a069
jmp 0x499f40
push 0x400
lea edx, [esp + 0x5a98]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x52a0]
push ecx
call fcn.004555f0
lea edx, [esp + 0x5a94]
push edx
mov ecx, 0x541830
call fcn.0046fb70
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x529494]
call fcn.0046fc40
test al, al
jne 0x499f40
jmp 0x49a069
cmp byte [0x541a28], 0
mov byte [esp + 0x4e88], 0
je 0x49a069
cmp byte [0x541e2b], 0
je 0x499fd2
lea edi, [esp + 0x4e88]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x499fc0
mov dx, word [0x4ccda4]
mov word [edi], dx
cmp byte [0x541e2c], 0
je 0x499ff4
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x499fe3
mov ax, word [0x4ccda0]
mov word [edi], ax
cmp byte [0x541e2d], 0
je 0x49a017
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a005
mov cx, word [0x4ccd9c]
mov word [edi], cx
lea edi, [esp + 0x4e88]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a020
mov dx, word [str.htc]
mov eax, 0x541a28
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49a040
lea edi, [esp + 0x4e88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49a051
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 [0x519779], 0
je 0x49a089
push 0x400
lea eax, [esp + 0x6298]
push eax
mov ecx, 0x5209d0
call fcn.004131e0
cmp byte [0x541e28], 0
mov dword [0x53f7a8], ebp
mov byte [0x53de15], 0
mov byte [0x53de16], 1
mov edi, 2
je 0x49a0b8
cmp byte [0x541e2e], 0
jne 0x49a0b8
mov ecx, edi
jmp 0x49a0ba
xor ecx, ecx
mov eax, 0x5418d8
cmp ebx, ebp
je 0x49a0c5
mov eax, ebx
push 3
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a6c]
call fcn.00468780
mov dword [esp + 0x172a0], 1
lea ecx, [esp + 0xd78]
call fcn.004128a0
lea ecx, [esp + 0xd9c]
call fcn.004128a0
lea ecx, [esp + 0xdc0]
call fcn.004128a0
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a60]
call fcn.004692d0
test eax, eax
jne 0x49a6e0
cmp byte [0x51a848], 0
jne 0x49a6e0
call fcn.0044c2e0
mov eax, dword [0x53f7a8]
cmp eax, ebp
je 0x49a156
movzx edx, byte [0x541e2e]
push edx
push eax
mov eax, dword [0x519774]
push eax
call fcn.00496740
mov dword [0x53f7a8], ebp
cmp word [esp + 0x564], 0x2e
jne 0x49a173
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x49a17a
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 0x49a181
push 0x50
lea ecx, [esp + 0x5a98]
push ecx
call fcn.0044beb0
push eax
push 0x523
call fcn.00465ff0
push eax
lea edx, [esp + 0x6a9c]
push edx
mov edx, 0x400
call fcn.00407130
mov ecx, dword [0x519774]
add esp, 0xc
lea eax, [esp + 0x6a94]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x541e2a], 0
je 0x49a22e
cmp byte [esp + 0xd74], 0
jne 0x49a22e
mov ecx, 0x541980
call fcn.0046f720
mov ecx, 0x541980
call fcn.0046fde0
mov esi, eax
cmp esi, ebp
je 0x49a22e
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.0044b780
test al, al
jne 0x49a29b
mov ecx, 0x541980
call fcn.0046fde0
mov esi, eax
cmp esi, ebp
jne 0x49a207
cmp byte [0x541e29], 0
je 0x49a6c4
cmp byte [esp + 0xd74], 0
je 0x49a253
cmp byte [esp + 0x4e88], 0
jne 0x49a6c4
mov ecx, 0x541830
call fcn.0046f720
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
je 0x49a6c4
nop
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.0044b780
test al, al
jne 0x49a5c3
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
jne 0x49a270
jmp 0x49a6c4
cmp word [esi], 0x2a
jne 0x49a2d0
cmp word [esi + 2], bp
jne 0x49a2d0
cmp byte [0x541e2e], 0
jne 0x49a2d0
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x5209d0
call fcn.00417390
test al, al
je 0x49a22e
cmp byte [0x541e2e], 0
mov dword [0x51a01c], edi
je 0x49a2e6
mov byte [0x521f0a], 1
cmp byte [esp + 0x4e88], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x5209d0
call fcn.004169d0
cmp eax, edi
jne 0x49a31f
call fcn.00452e60
test al, al
je 0x49a6e0
jmp 0x49a6c4
cmp eax, 1
jne 0x49a22e
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, 0x5209d0
call fcn.00417390
lea ecx, [esp + 0x5294]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00476b80
test eax, eax
je 0x49a402
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x5294]
push eax
call esi
cmp eax, 0xffffffff
jne 0x49a6c4
push 0x4c5e10
lea ecx, [esp + 0x5298]
push ecx
call fcn.004576c0
lea edx, [esp + 0x5294]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00476b80
test eax, eax
je 0x49a3c4
lea ecx, [esp + 0x5294]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x49a6c4
push 0x4c5e18
lea edx, [esp + 0x5298]
push edx
call fcn.004576c0
lea eax, [esp + 0x5294]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00476b80
test eax, eax
je 0x49a402
lea edx, [esp + 0x5294]
push edx
call esi
cmp eax, 0xffffffff
jne 0x49a6c4
cmp byte [esp + 0x4e88], 0
jne 0x49a4d2
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5209d0
xor ebx, ebx
call fcn.004128b0
test al, al
je 0x49a6c4
mov edi, edi
cmp byte [0x51a848], 0
jne 0x49a6c4
inc ebx
test bl, 0x1f
jne 0x49a448
call fcn.0044c2e0
mov ecx, 0x541830
call fcn.0046f720
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
je 0x49a4b1
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.0044b780
test al, al
jne 0x49a484
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
jne 0x49a460
jmp 0x49a4b1
mov edx, dword [esp + 0x1e14]
push 0x4c5a66
push edx
call fcn.00434f50
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.00491630
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5209d0
call fcn.004128b0
test al, al
jne 0x49a430
jmp 0x49a6c4
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5209d0
call fcn.00413230
mov ecx, 0x5209d0
call fcn.00411b10
and eax, 0x400
and edx, ebp
or eax, edx
je 0x49a513
push 0x3ac
call fcn.00465ff0
push eax
push 0x528c92
call fcn.00499570
add esp, 8
jmp 0x49a6c4
push ebp
call fcn.00487070
push 0x400
push 0x528c92
mov ecx, 0x5209d0
call fcn.00413200
mov edx, dword [esp + 0x94]
mov ecx, dword [0x529494]
mov dword [0x526c24], edx
call fcn.0046f780
mov ecx, 0x541830
call fcn.0046f720
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
je 0x49a57a
lea ecx, [ecx]
mov ecx, dword [0x529494]
push eax
call fcn.0046fb80
mov ecx, 0x541830
call fcn.0046fde0
cmp eax, ebp
jne 0x49a560
lea eax, [esp + 0x4e88]
push eax
push 0x4ccd94
push 0x527c61
mov byte [0x526342], 1
mov dword [0x5262e4], ebp
mov dword [0x526308], ebp
call fcn.004af76b
add esp, 0xc
mov ecx, 0x5209d0
mov byte [0x527c3c], 1
mov dword [0x51a01c], edi
call fcn.00413c10
jmp 0x49a6c4
cmp byte [esp + 0x4e88], 0
jne 0x49a606
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.0043abc0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72ac]
push edx
call fcn.0043abc0
jmp 0x49a6c4
lea ecx, [esp + 0x1e34]
call fcn.004339f0
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.00433e30
test al, al
je 0x49a6b0
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.0043abc0
push 0x10000
lea edx, [esp + 0x7298]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00434760
cmp eax, ebp
je 0x49a6b0
lea ebx, [ebx]
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72ac]
push eax
call fcn.0043abc0
push 0x10000
lea ecx, [esp + 0x7298]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00434760
cmp eax, ebp
jne 0x49a680
mov byte [esp + 0x172a0], 1
lea ecx, [esp + 0x1e34]
call fcn.00433e00
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a60]
call fcn.004692d0
test eax, eax
je 0x49a121
cmp byte [0x51a848], 0
mov byte [0x53de16], 0
je 0x49a700
cmp byte [0x53de14], 0
je 0x49a700
mov byte [0x51a848], 0
mov eax, dword [0x53f7a8]
cmp eax, ebp
je 0x49a724
movzx ecx, byte [0x541e2e]
mov edx, dword [0x519774]
push ecx
push eax
push edx
call fcn.00496740
mov dword [0x53f7a8], ebp
push 0x270
mov byte [0x53de15], 0
call fcn.00465ff0
push eax
mov eax, dword [0x519774]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x51a848], 0
je 0x49a75f
mov ecx, dword [0x519774]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x49a764
call fcn.0048bd40
cmp word [0x53e7a8], bp
je 0x49a787
push 0x53e7a8
mov ecx, 0x5200a8
call fcn.004499f0
cmp word [0x53efa8], bp
je 0x49a7a9
jmp 0x49a79a
cmp word [0x53efa8], bp
je 0x49a7b8
mov ecx, 0x5200a8
call fcn.00447da0
push 0x53efa8
mov ecx, 0x5200a8
call fcn.00449ba0
push 0x53dfa8
mov ecx, 0x5200a8
call fcn.00447ec0
mov dword [esp + 0x172a0], 0xffffffff
lea ecx, [esp + 0x2a5c]
call fcn.00468a20
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.004af72c
add esp, 0x17290
ret 4