Function at 0x10087a40
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes
Hide graphical window

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fc4c7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4a0
mov eax, dword [0x1013c014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x4ac], edi
push ecx
call fcn.1009a710
push 6
push dword [edi + 4]
call dword [sym.imp.UxTheme.dll_EnableThemeDialogTexture]
push 0x41c
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x434c5348
push 0x10087a00
push eax
mov dword [edi + 0x27a8], eax
call dword [sym.imp.COMCTL32.dll_SetWindowSubclass]
push dword [edi + 0x27a8]
call fcn.100a7bd0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0
push 0x1109
push dword [edi + 0x27a8]
call esi
push 4
push 4
push 0x112c
push dword [edi + 0x27a8]
call esi
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [edi + 0x27a8]
call esi
or eax, 0x20
push eax
push 0xfffffffffffffff0
push dword [edi + 0x27a8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
call dword [sym.imp.UxTheme.dll_IsAppThemed]
test eax, eax
je 0x10087b50
push 0xfffffffffffffff0
push dword [edi + 0x27a8]
call esi
or eax, 0x200
push eax
push 0xfffffffffffffff0
push dword [edi + 0x27a8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
push str.Explorer
push dword [edi + 0x27a8]
call dword [sym.imp.UxTheme.dll_SetWindowTheme]
mov edx, dword [edi + 0x27cc]
lea esi, [edi + 0x27c8]
push ecx
mov ecx, dword [esi]
call fcn.10035f10
mov eax, dword [esi]
lea ecx, [ebp - 0x4a4]
add esp, 4
mov dword [esi + 4], eax
mov edx, 0xbd6
call fcn.100aedf0
mov ecx, eax
mov dword [ebp - 4], 0
mov eax, dword [esi + 4]
mov dword [ebp - 0x4a8], eax
cmp dword [esi + 8], eax
je 0x10087bae
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.10021e50
mov ecx, dword [ebp - 0x4a8]
add eax, 0x10
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10087bb7
push ecx
push eax
mov ecx, esi
call fcn.10073ac0
mov edx, dword [ebp - 0x4a4]
add edx, 0xfffffff0
mov dword [ebp - 4], 1
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10087bdc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
call fcn.100a1e30
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10087bf7
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
mov edx, 0x104
sub edx, ecx
push str.1.txt
lea ecx, [eax + ecx*2]
call fcn.100a4780
add esp, 4
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10087d0f
call fcn.100215d0
mov ecx, eax
test ecx, ecx
je 0x10088158
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4a4], eax
mov eax, 0x10115110
mov dword [ebp - 4], 2
test eax, 0xffff0000
jne 0x10087c8e
movzx ecx, ax
call fcn.10027d50
test eax, eax
je 0x10087ca0
mov edx, 0x10115110
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10026d00
jmp 0x10087ca0
push 6
push 0x10115110
lea ecx, [ebp - 0x4a4]
call fcn.10021eb0
mov dword [ebp - 4], 3
mov eax, dword [esi + 4]
mov dword [ebp - 0x4a8], eax
cmp dword [esi + 8], eax
je 0x10087cd4
mov ecx, dword [ebp - 0x4a4]
lea ecx, [ecx - 0x10]
call fcn.10021e50
mov ecx, dword [ebp - 0x4a8]
add eax, 0x10
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10087ce3
lea ecx, [ebp - 0x4a4]
push ecx
push eax
mov ecx, esi
call fcn.10073ac0
mov edx, dword [ebp - 0x4a4]
add edx, 0xfffffff0
mov dword [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10087d08
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
xor ecx, ecx
mov edx, 0x10115120
mov word [eax], cx
mov eax, 0x10115130
cmp dword [edi + 0x44], 2
lea ecx, [ebp - 0x220]
cmovne edx, eax
lea eax, [ecx + 2]
mov dword [ebp - 0x4a8], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10087d41
sub ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x220]
sar ecx, 1
push edx
mov edx, 0x104
sub edx, ecx
lea ecx, [eax + ecx*2]
call fcn.100a4780
add esp, 4
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4a8], eax
cmp eax, 0xffffffff
je 0x10087ebc
test byte [ebp - 0x470], 0x10
jne 0x10087e8d
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
xor ecx, ecx
mov word [eax], cx
call fcn.100215d0
mov ecx, eax
test ecx, ecx
je 0x10088158
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4a4], eax
lea eax, [ebp - 0x444]
mov dword [ebp - 4], 5
test eax, 0xffff0000
jne 0x10087dff
movzx edi, ax
mov ecx, edi
call fcn.10027d50
test eax, eax
je 0x10087e24
push edi
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10026d00
jmp 0x10087e24
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10087e02
sub eax, edx
lea ecx, [ebp - 0x4a4]
sar eax, 1
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.10021eb0
mov dword [ebp - 4], 6
mov edi, dword [esi + 4]
cmp dword [esi + 8], edi
je 0x10087e4c
mov ecx, dword [ebp - 0x4a4]
lea ecx, [ecx - 0x10]
call fcn.10021e50
add eax, 0x10
mov dword [edi], eax
add dword [esi + 4], 4
jmp 0x10087e5b
lea eax, [ebp - 0x4a4]
mov ecx, esi
push eax
push edi
call fcn.10073ac0
mov edx, dword [ebp - 0x4a4]
add edx, 0xfffffff0
mov dword [ebp - 4], 7
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10087e80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x470]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x10087eaa
mov eax, dword [ebp - 0x4a8]
jmp 0x10087d90
push dword [ebp - 0x4a8]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edi, dword [ebp - 0x4ac]
push 0x3fb
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [esi]
mov edi, eax
mov eax, dword [ebp - 0x4ac]
cmp esi, dword [eax + 0x27cc]
je 0x10087f01
nop dword [eax]
push dword [esi]
push 0
push 0x143
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x4ac]
add esi, 4
cmp esi, dword [eax + 0x27cc]
jne 0x10087ee0
push 0
push 0
push 0x1119
push dword [eax + 0x27a8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2710
push 2
mov esi, eax
push 0x403
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x3e8
push 3
push 0x403
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x3e8
push 1
push 0x403
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x434c5348
push 0x10074dc0
push esi
call dword [sym.imp.COMCTL32.dll_SetWindowSubclass]
mov eax, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x4b0]
xorps xmm0, xmm0
mov dword [ebp - 0x4a0], 0x30
mov edx, 0xfa8
mov dword [ebp - 0x49c], 0x10
mov dword [ebp - 0x494], 0x434c5348
mov eax, dword [eax + 4]
mov dword [ebp - 0x498], eax
movups xmmword [ebp - 0x490], xmm0
movups xmmword [ebp - 0x480], xmm0
call fcn.100aedf0
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x47c], eax
lea eax, [ebp - 0x490]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
push 2
lea eax, [ebp - 0x490]
push eax
mov eax, dword [ebp - 0x4ac]
push dword [eax + 4]
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
lea eax, [ebp - 0x4a0]
push eax
push 0
push 0x432
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x4ac]
push 0x426
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
xor ecx, ecx
mov edx, 5
cmp dword [esi + 0x44], 3
cmove ecx, edx
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [0x1014a878]
push 0
push 0
push 0x31
push dword [esi + 0x27a8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push edi
push 0x65
push dword [esi + 0x27a8]
mov dword [ebp - 0x4a8], eax
push 0
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push 0
push 0
push 0x40800080
push 0
push str.EDIT
push 0
call esi
mov ecx, dword [ebp - 0x4ac]
push 1
push dword [ebp - 0x4a8]
push 0x30
push eax
mov dword [ecx + 0x27ac], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x4ac]
push 0
push 0x434c5348
push 0x10087910
push dword [eax + 0x27ac]
call dword [sym.imp.COMCTL32.dll_SetWindowSubclass]
push 0
push edi
mov edi, dword [ebp - 0x4ac]
push 0x66
push dword [edi + 0x27a8]
push 0
push 0
push 0
push 0
push 0x40000000
push 0x10115140
push str.BUTTON
push 0
call esi
push 1
push dword [ebp - 0x4a8]
mov dword [edi + 0x27b0], eax
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x4b0]
mov dword [edi + 0x27b4], 0xffffffff
add edx, 0xfffffff0
mov dword [edi + 0x27b8], 0
mov dword [edi + 0x27bc], 0xffffffff
mov byte [edi + 0x27c1], 0
mov dword [ebp - 4], 8
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10088133
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d4906
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
push 0x80004005
call fcn.10013970
int3