Function at 0x42f990
Capabilities:
Get file system object information
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462a4d
mov eax, dword fs:[0]
push eax
sub esp, 0x338
mov eax, dword [0x472008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 4]
xor edx, edx
push 0
call fcn.00402070
add esp, 4
cmp dword [edi + 0x68], 0
je 0x42f9e1
push dword [edi + 0x64]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x64
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x67
mov dword [edi + 8], eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x66
mov dword [edi + 0x10], eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [edi + 0xc], eax
cmp byte [edi + 0x60], 0
mov eax, dword [edi + 4]
push 0x67
push eax
je 0x42fa28
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x42fa37
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 1
push 0x2005
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 8
call fcn.0045e549
mov ebx, eax
mov edx, 3
xor eax, eax
mov dword [ebp - 0x28], ebx
xor ecx, ecx
mov dword [ebp - 0x24], eax
add esp, 4
mov dword [ebp - 0x20], edx
mov word [ebx], cx
mov dword [ebp - 4], ecx
lea esi, [eax + 2]
cmp dword [edi + 0x90], ecx
je 0x42fbc4
lea eax, [edi + 0x8c]
lea ecx, [ebp - 0x28]
cmp eax, ecx
je 0x42fad2
mov eax, dword [eax + 4]
mov dword [ebp - 0x340], eax
cmp eax, edx
jbe 0x42fabb
xor ecx, ecx
inc eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push ebx
mov esi, eax
call fcn.0045e2f3
mov eax, dword [ebp - 0x340]
add esp, 8
mov ebx, esi
lea eax, [eax*2 + 2]
push eax
push dword [edi + 0x8c]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
push 0
push 0x143
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x14e
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0045e2f3
add esp, 4
lea eax, [ebp - 0x300]
push 0x4011
push 0x2b4
push eax
push 0x90
push 0x468348
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push eax
push 1
push 0x1003
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x4110
push 0x2b4
lea eax, [ebp - 0x300]
push eax
push 0x90
push 0x468348
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push eax
push 0
push 0x1003
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x3ec
call fcn.004024d0
mov ebx, eax
test ebx, ebx
je 0x42fccf
xor esi, esi
cmp word [ebx], si
je 0x42fb8c
inc esi
cmp word [ebx + esi*2], 0
jne 0x42fb84
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
lea ecx, [esi*2 + 2]
mov dword [ebp - 0x340], eax
push ecx
push ebx
mov ebx, eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0x10
jmp 0x42fcdf
cmp byte [edi + 0x7c], 0
je 0x42fc2f
xor edx, edx
lea esp, [esp]
inc edx
cmp byte [edx + 0x4693d8], 0
jne 0x42fbd0
xor ecx, ecx
mov dword [ebp - 0x340], edx
cmp edx, 3
jbe 0x42fc10
lea eax, [edx + 1]
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push ebx
mov esi, eax
call fcn.0045e2f3
mov edx, dword [ebp - 0x340]
add esp, 8
mov ebx, esi
xor ecx, ecx
jmp 0x42fc14
test edx, edx
je 0x42fc24
movzx eax, byte [ecx + 0x4693d8]
mov word [ebx + ecx*2], ax
inc ecx
cmp ecx, edx
jb 0x42fc14
xor eax, eax
mov word [ebx + edx*2], ax
jmp 0x42fad2
xor ecx, ecx
mov dword [ebp - 0x340], ecx
cmp dword [edi + 0x84], ecx
jbe 0x42fad2
mov esi, 0x20
test ecx, ecx
je 0x42fc72
cmp edx, eax
jne 0x42fc64
lea ecx, [ebp - 0x28]
call fcn.0040b900
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x340]
mov word [ebx + eax*2], si
inc eax
xor edx, edx
mov dword [ebp - 0x24], eax
mov word [ebx + eax*2], dx
mov eax, dword [edi + 0x80]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x28]
push dword [esi + 4]
call fcn.0040b990
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
lea ecx, [ebx + eax*2]
mov eax, dword [esi + 4]
lea eax, [eax*2 + 2]
push eax
push dword [esi]
push ecx
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x340]
add esp, 0xc
mov eax, dword [ebp - 0x24]
inc ecx
add eax, dword [esi + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x340], ecx
cmp ecx, dword [edi + 0x84]
jae 0x42fad2
mov edx, dword [ebp - 0x20]
jmp 0x42fc43
mov edx, 0x3ec
lea ecx, [ebp - 0x40]
call fcn.0040ffa0
mov ebx, dword [ebp - 0x40]
mov eax, ebx
mov dword [ebp - 0x32c], 0xe
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x32c]
push eax
push 0
push 0x1061
push dword [edi + 8]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x324], 0x64
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.0045e2f3
add esp, 4
push 0x3f4
call fcn.004024d0
mov ebx, eax
test ebx, ebx
je 0x42fd7d
xor esi, esi
cmp word [ebx], si
je 0x42fd48
lea esp, [esp]
inc esi
cmp word [ebx + esi*2], 0
jne 0x42fd40
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
lea ecx, [esi*2 + 2]
mov dword [ebp - 0x340], eax
push ecx
push ebx
mov ebx, eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0x10
jmp 0x42fd8d
mov edx, 0x3f4
lea ecx, [ebp - 0x40]
call fcn.0040ffa0
mov ebx, dword [ebp - 0x40]
mov eax, ebx
mov dword [ebp - 0x32c], 0xe
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x32c]
push eax
push 1
push 0x1061
push dword [edi + 8]
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x324], 0x64
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.0045e2f3
add esp, 4
mov dword [ebp - 0x318], 2
xor eax, eax
mov dword [ebp - 0x32c], 0xf
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], 0x64
push 0x3ef
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
call fcn.004024d0
mov ebx, eax
test ebx, ebx
je 0x42fe61
xor esi, esi
cmp word [ebx], si
je 0x42fe28
lea ecx, [ecx]
inc esi
cmp word [ebx + esi*2], 0
jne 0x42fe20
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
lea ecx, [esi*2 + 2]
mov dword [ebp - 0x340], eax
push ecx
push ebx
push eax
call sub.msvcrt.dll_memcpy
mov esi, dword [ebp - 0x340]
add esp, 0x10
jmp 0x42fe71
mov edx, 0x3ef
lea ecx, [ebp - 0x40]
call fcn.0040ffa0
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x320], esi
push eax
push 2
push 0x1061
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call fcn.0045e2f3
add esp, 4
mov dword [ebp - 0x33c], 5
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x328], 0x4693dc
push eax
push 0
push 0x104d
push dword [edi + 8]
mov dword [ebp - 0x334], 0
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x33c], 1
push eax
push 0
push 0x104c
push dword [edi + 8]
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x328], str.2009_09_09_09:09
mov dword [ebp - 0x334], 1
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x33c], 1
push eax
push 0
push 0x104c
push dword [edi + 8]
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x328], str.9999_MB
mov dword [ebp - 0x334], 2
call dword [sym.imp.USER32.dll_SendMessageW]
xor esi, esi
push 0xffff
push esi
push 0x101e
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
inc esi
cmp esi, 3
jl 0x42ff60
push 0
push 0
push 0x1009
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
mov ecx, edi
mov byte [edi + 0x44], 1
mov dword [edi + 0x40], 0
call fcn.0040d200
mov eax, dword [edi + 0x48]
lea esi, [edi + 0x48]
xor ecx, ecx
mov dword [esi + 4], 0
mov word [eax], cx
mov ebx, dword [edi + 0x70]
mov ecx, ebx
call fcn.0040f350
movzx ecx, word [ebx]
mov edx, eax
mov dword [ebp - 0x340], edx
mov eax, ecx
mov dword [ebp - 0x344], eax
cmp ecx, 0x61
jb 0x42ffd9
cmp eax, 0x7a
jbe 0x42ffe3
cmp eax, 0x41
jb 0x430004
cmp eax, 0x5a
ja 0x430004
cmp word [ebx + 2], 0x3a
jne 0x430004
movzx eax, word [ebx + 4]
mov ecx, eax
cmp eax, 0x5c
je 0x42fffa
cmp ecx, 0x2f
jne 0x42fffe
xor edx, edx
jmp 0x43006d
mov eax, dword [ebp - 0x344]
cmp ax, 0x5c
je 0x430010
cmp ax, 0x2f
jne 0x430073
movzx eax, word [ebx + 2]
mov ecx, eax
cmp eax, 0x5c
je 0x430020
cmp ecx, 0x2f
jne 0x430073
cmp word [ebx + 4], 0x3f
jne 0x430073
movzx eax, word [ebx + 6]
mov ecx, eax
cmp eax, 0x5c
je 0x430037
cmp ecx, 0x2f
jne 0x430073
movzx eax, word [ebx + 8]
mov ecx, eax
cmp eax, 0x61
jb 0x430047
cmp ecx, 0x7a
jbe 0x430051
cmp ecx, 0x41
jb 0x430073
cmp ecx, 0x5a
ja 0x430073
cmp word [ebx + 0xa], 0x3a
jne 0x430073
movzx eax, word [ebx + 0xc]
mov ecx, eax
cmp eax, 0x5c
je 0x430068
cmp ecx, 0x2f
jne 0x430073
mov edx, 4
mov dword [ebp - 0x340], edx
cmp edx, dword [esi + 8]
jbe 0x4300ad
lea eax, [edx + 1]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push dword [edi + 0x48]
mov esi, eax
call fcn.0045e2f3
mov edx, dword [ebp - 0x340]
add esp, 8
mov dword [edi + 0x48], esi
lea esi, [edi + 0x48]
mov dword [esi + 8], edx
test edx, edx
je 0x4300d4
lea eax, [edx + edx]
push eax
push ebx
push dword [esi]
mov dword [ebp - 0x344], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x340]
add esp, 0xc
mov ecx, dword [ebp - 0x344]
jmp 0x4300d7
lea ecx, [edx + edx]
mov eax, dword [esi]
xor ebx, ebx
push 8
mov word [ecx + eax], bx
mov dword [esi + 4], edx
call fcn.0045e549
xor ecx, ecx
mov dword [ebp - 0x1c], eax
add esp, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 3
mov word [eax], cx
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 1
push eax
lea ebx, [edi + 0x54]
mov ecx, edi
push ebx
lea eax, [edi + 0x70]
push eax
call fcn.00430ab0
test al, al
jne 0x430176
cmp esi, ebx
je 0x430176
mov eax, dword [esi + 4]
mov dword [ebp - 0x344], eax
cmp eax, dword [ebx + 8]
jbe 0x43015f
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push dword [ebx]
mov esi, eax
call fcn.0045e2f3
mov eax, dword [ebp - 0x344]
add esp, 8
mov dword [ebx], esi
lea esi, [edi + 0x48]
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
lea eax, [eax*2 + 2]
push eax
push dword [esi]
push dword [ebx]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [ebx + 4]
xor ecx, ecx
mov edx, 2
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebx]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x10
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.00430d80
test eax, eax
je 0x4302f9
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x18], esi
mov word [eax], cx
cmp dword [edi + 0x58], ecx
je 0x430355
push 8
call fcn.0045e549
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], 3
mov word [eax], cx
push 8
mov byte [ebp - 4], 3
call fcn.0045e549
xor ecx, ecx
mov dword [ebp - 0x40], eax
add esp, 8
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], 3
mov word [eax], cx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x4c]
mov ecx, edi
push eax
push ebx
call fcn.00430ab0
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
cmp eax, ebx
je 0x430289
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebx + 8]
jbe 0x430273
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push dword [ebx]
mov esi, eax
call fcn.0045e2f3
mov eax, dword [ebp - 0x48]
add esp, 8
mov dword [ebx], esi
mov esi, dword [ebp - 0x4c]
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
lea eax, [eax*2 + 2]
push eax
push esi
push dword [ebx]
call sub.msvcrt.dll_memcpy
add esp, 0xc
push dword [ebp - 0x40]
call fcn.0045e2f3
push esi
call fcn.0045e2f3
mov byte [ebp - 4], 1
push dword [ebp - 0x34]
call fcn.0045e2f3
mov esi, dword [ebx + 4]
xor ecx, ecx
mov edx, 2
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebx]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x1c
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.00430d80
test eax, eax
jne 0x4301d0
mov byte [ebp - 4], 1
push dword [ebp - 0x34]
call fcn.0045e2f3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
jne 0x430382
lea ecx, [ebp - 0x1c]
lea eax, [edi + 0x70]
cmp eax, ecx
je 0x430382
mov esi, dword [eax + 4]
mov dword [ebp - 0x344], esi
cmp esi, dword [ebp - 0x14]
jbe 0x430366
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045e549
push dword [ebp - 0x1c]
mov ebx, eax
call fcn.0045e2f3
add esp, 8
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
jmp 0x430369
mov byte [ebp - 4], 1
push dword [ebp - 0x34]
call fcn.0045e2f3
add esp, 4
jmp 0x43030f
mov ebx, dword [ebp - 0x1c]
lea eax, [esi*2 + 2]
mov dword [ebp - 0x18], esi
push eax
push dword [edi + 0x70]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x430385
mov ebx, dword [ebp - 0x1c]
cmp byte [edi + 0x60], 0
je 0x4303b8
test esi, esi
je 0x4303b8
movzx eax, word [ebx + esi*2 - 2]
cmp eax, 0x5c
je 0x4303b8
cmp eax, 0x2f
je 0x4303b8
cmp dword [ebp - 0x14], esi
jne 0x4303b1
lea ecx, [ebp - 0x1c]
call fcn.0040b900
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx + esi*2], 0x5c
push ebx
push dword [edi + 0xc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0
push 0x10002
push pe_nt_image_headers32
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push ebx
call fcn.0045e2f3
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045e090
mov esp, ebp
pop ebp
ret