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

Disassembly:
push 0xffffffffffffffff
push 0x4b8a64
mov eax, dword fs:[0]
push eax
mov eax, 0x1727c
call fcn.004a5370
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x17278], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc3b0]
xor eax, esp
push eax
lea eax, [esp + 0x17290]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x172a0]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x5150e8], 1
mov word [0x512260], ax
mov word [0x511a60], cx
mov word [0x511260], dx
jne 0x49445b
or dword [0x5150e8], 1
mov dword [esp + 0x17298], ebp
mov ecx, 0x514ae8
call fcn.00490c10
push 0x4b94c0
call fcn.004a75a3
add esp, 4
mov dword [esp + 0x17298], 0xffffffff
mov ecx, 0x514ae8
mov dword [0x512a64], 0x514ae8
call fcn.0046ae60
mov ecx, 0x514b90
call fcn.0046ae60
mov ecx, 0x514c38
call fcn.0046ae60
mov al, byte [0x4e9b89]
mov byte [0x5150e6], al
cmp ebx, ebp
jne 0x4944bc
mov ecx, dword [0x4eacd4]
mov edx, dword [0x4d76b0]
push 0x514ae8
push 0x48e510
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x494d76
push 0x491380
push ebp
push ebp
push 7
call fcn.00488810
push 0x4c1564
call fcn.00486680
cmp ebx, ebp
je 0x4945a8
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x4f804c]
mov byte [esp + eax + 0x4e80], cl
inc eax
test cl, cl
jne 0x4944e0
mov byte [0x5150e0], cl
push 0x4baefc
mov ecx, 0x514c38
mov byte [0x5150e2], 1
mov byte [0x5150e1], 1
call fcn.0046b250
mov ecx, dword [0x4f987c]
call fcn.0046ae00
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f987c]
call fcn.0046b320
test al, al
je 0x494679
jmp 0x494550
push 0x400
lea edx, [esp + 0x5a90]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x5298]
push ecx
call fcn.00451ad0
lea edx, [esp + 0x5a8c]
push edx
mov ecx, 0x514ae8
call fcn.0046b250
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f987c]
call fcn.0046b320
test al, al
jne 0x494550
jmp 0x494679
cmp byte [0x514ce0], 0
mov byte [esp + 0x4e80], 0
je 0x494679
cmp byte [0x5150e3], 0
je 0x4945e2
lea edi, [esp + 0x4e80]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4945d0
mov dx, word [0x4c1560]
mov word [edi], dx
cmp byte [0x5150e4], 0
je 0x494604
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4945f3
mov ax, word [0x4c155c]
mov word [edi], ax
cmp byte [0x5150e5], 0
je 0x494627
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494615
mov cx, word [0x4c1558]
mov word [edi], cx
lea edi, [esp + 0x4e80]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494630
mov dx, word [str.htc]
mov eax, 0x514ce0
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x494650
lea edi, [esp + 0x4e80]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x494661
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 [0x4e9b89], 0
je 0x494699
push 0x400
lea eax, [esp + 0x6290]
push eax
mov ecx, 0x4f0dd0
call fcn.00413080
cmp byte [0x5150e0], 0
mov dword [0x512a60], ebp
mov byte [0x5110cc], 0
mov byte [0x5110cd], 1
mov edi, 2
je 0x4946c8
cmp byte [0x5150e6], 0
jne 0x4946c8
mov ecx, edi
jmp 0x4946ca
xor ecx, ecx
mov eax, 0x514b90
cmp ebx, ebp
je 0x4946d5
mov eax, ebx
push ebp
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a64]
call fcn.00463ae0
mov dword [esp + 0x17298], 1
lea ecx, [esp + 0xd78]
call fcn.0046db90
lea ecx, [esp + 0xd9c]
call fcn.0046db90
lea ecx, [esp + 0xdc0]
call fcn.0046db90
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a58]
call fcn.00464630
test eax, eax
jne 0x494ca0
cmp byte [0x4eac4c], 0
jne 0x494ca0
call fcn.00447110
mov eax, dword [0x512a60]
cmp eax, ebp
je 0x494765
movzx edx, byte [0x5150e6]
push edx
push eax
mov eax, dword [0x4e9b84]
push eax
call fcn.00490cf0
mov dword [0x512a60], ebp
cmp word [esp + 0x564], 0x2e
jne 0x494782
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x494789
lea ecx, [esp + 0x564]
lea edx, [esp + 0x5a8c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bp
jne 0x494790
push 0x50
lea ecx, [esp + 0x5a90]
push ecx
call fcn.00446ce0
push eax
push 0x523
call fcn.00461310
push eax
lea edx, [esp + 0x6a94]
push edx
mov edx, 0x400
call fcn.0049c820
mov ecx, dword [0x4e9b84]
add esp, 0xc
lea eax, [esp + 0x6a8c]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x5150e2], 0
je 0x494833
mov ecx, 0x514c38
call fcn.0046ae00
mov ecx, 0x514c38
call fcn.0046b4c0
mov esi, eax
cmp esi, ebp
je 0x494833
lea esp, [esp]
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.004465b0
test al, al
jne 0x49488b
mov ecx, 0x514c38
call fcn.0046b4c0
mov esi, eax
cmp esi, ebp
jne 0x494810
cmp byte [0x5150e1], 0
je 0x494c84
mov ecx, 0x514ae8
call fcn.0046ae00
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
je 0x494c84
lea esp, [esp]
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.004465b0
test al, al
jne 0x494b83
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
jne 0x494860
jmp 0x494c84
cmp word [esi], 0x2a
jne 0x4948c0
cmp word [esi + 2], bp
jne 0x4948c0
cmp byte [0x5150e6], 0
jne 0x4948c0
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x4f0dd0
call fcn.00416cb0
test al, al
je 0x494833
cmp byte [0x5150e6], 0
mov dword [0x4ea42c], edi
je 0x4948d6
mov byte [0x4f230a], 1
cmp byte [esp + 0x4e80], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, edi
jne 0x49490f
call fcn.0044f470
test al, al
je 0x494ca0
jmp 0x494c84
cmp eax, 1
jne 0x494833
push eax
push ebp
push ebp
push ebp
xor ecx, ecx
lea edx, [esp + 0x529c]
push edx
lea eax, [esp + 0x578]
mov word [esp + 0x52a0], cx
push eax
mov ecx, 0x4f0dd0
call fcn.00416cb0
lea ecx, [esp + 0x528c]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00473520
test eax, eax
je 0x4949f2
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x528c]
push eax
call esi
cmp eax, 0xffffffff
jne 0x494c84
push 0x4badc8
lea ecx, [esp + 0x5290]
push ecx
call fcn.00453b20
lea edx, [esp + 0x528c]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00473520
test eax, eax
je 0x4949b4
lea ecx, [esp + 0x528c]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x494c84
push 0x4badd0
lea edx, [esp + 0x5290]
push edx
call fcn.00453b20
lea eax, [esp + 0x528c]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00473520
test eax, eax
je 0x4949f2
lea edx, [esp + 0x528c]
push edx
call esi
cmp eax, 0xffffffff
jne 0x494c84
cmp byte [esp + 0x4e80], 0
jne 0x494ac2
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0dd0
xor ebx, ebx
call fcn.00412750
test al, al
je 0x494c84
mov edi, edi
cmp byte [0x4eac4c], 0
jne 0x494c84
inc ebx
test bl, 0x1f
jne 0x494a38
call fcn.00447110
mov ecx, 0x514ae8
call fcn.0046ae00
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
je 0x494aa1
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.004465b0
test al, al
jne 0x494a74
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
jne 0x494a50
jmp 0x494aa1
mov edx, dword [esp + 0x1e14]
push 0x4baa2e
push edx
call fcn.00431800
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.0048bab0
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0dd0
call fcn.00412750
test al, al
jne 0x494a20
jmp 0x494c84
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x4f0dd0
call fcn.004130d0
call fcn.00481910
push 0x400
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004130a0
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f987c]
mov dword [0x4f701c], edx
call fcn.0046ae60
mov ecx, 0x514ae8
call fcn.0046ae00
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
je 0x494b3a
lea ebx, [ebx]
mov ecx, dword [0x4f987c]
push eax
call fcn.0046b260
mov ecx, 0x514ae8
call fcn.0046b4c0
cmp eax, ebp
jne 0x494b20
lea eax, [esp + 0x4e80]
push eax
push 0x4c1550
push 0x4f804b
mov byte [0x4f673a], 1
mov dword [0x4f66dc], ebp
mov dword [0x4f6700], ebp
call fcn.004a4b52
add esp, 0xc
mov ecx, 0x4f0dd0
mov byte [0x4f802e], 1
mov dword [0x4ea42c], edi
call fcn.004115c0
jmp 0x494c84
cmp byte [esp + 0x4e80], 0
jne 0x494bc6
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e90]
push ecx
push ebp
push ebp
call fcn.004359f0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72a4]
push edx
call fcn.004359f0
jmp 0x494c84
lea ecx, [esp + 0x1e34]
call fcn.00430310
mov byte [esp + 0x17298], 2
push ebp
push 1
lea eax, [esp + 0x56c]
push eax
lea ecx, [esp + 0x170]
push ecx
lea ecx, [esp + 0x1e44]
call fcn.00430750
test al, al
je 0x494c70
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e90]
push ecx
push ebp
push ebp
call fcn.004359f0
push 0x10000
lea edx, [esp + 0x7290]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00431010
cmp eax, ebp
je 0x494c70
jmp 0x494c40
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72a4]
push eax
call fcn.004359f0
push 0x10000
lea ecx, [esp + 0x7290]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00431010
cmp eax, ebp
jne 0x494c40
mov byte [esp + 0x17298], 1
lea ecx, [esp + 0x1e34]
call fcn.00430720
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a58]
call fcn.00464630
test eax, eax
je 0x494730
mov eax, dword [0x512a60]
mov byte [0x5110cd], 0
cmp eax, ebp
je 0x494ccb
movzx ecx, byte [0x5150e6]
mov edx, dword [0x4e9b84]
push ecx
push eax
push edx
call fcn.00490cf0
mov dword [0x512a60], ebp
push 0x270
mov byte [0x5110cc], 0
call fcn.00461310
push eax
mov eax, dword [0x4e9b84]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x4eac4c], 0
je 0x494d06
mov ecx, dword [0x4e9b84]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x494d0b
call fcn.004861f0
cmp word [0x511a60], bp
je 0x494d2e
push 0x511a60
mov ecx, 0x4f04a8
call fcn.00444ce0
cmp word [0x512260], bp
je 0x494d50
jmp 0x494d41
cmp word [0x512260], bp
je 0x494d5f
mov ecx, 0x4f04a8
call fcn.00442a80
push 0x512260
mov ecx, 0x4f04a8
call fcn.00444730
push 0x511260
mov ecx, 0x4f04a8
call fcn.00442ba0
mov dword [esp + 0x17298], 0xffffffff
lea ecx, [esp + 0x2a54]
call fcn.00463d90
mov ecx, dword [esp + 0x17290]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17278]
xor ecx, esp
call fcn.004a4b43
add esp, 0x17288
ret 4