Function at 0x49510c
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffd84
mov ebx, eax
mov al, byte [ebx + 0x54]
cmp al, 9
je 0x495133
cmp al, 0xa
je 0x495133
cmp al, 0xb
je 0x495133
cmp al, 0xc
je 0x495133
cmp al, 0xd
jne 0x4951e5
mov eax, dword [0x4be784]
cmp byte [eax + 0x1d7c], 0
jne 0x495c67
mov edx, dword [0x4be580]
mov dl, byte [edx]
mov eax, ebx
call fcn.0048dd64
test al, al
je 0x495c67
mov eax, dword [0x4be784]
cmp byte [eax + 0x1d7b], 0
jne 0x495171
mov esi, 2
jmp 0x495176
mov esi, 3
mov dword [esp + 0x278], esi
fild dword [esp + 0x278]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x1df
call fcn.004aa600
call fcn.004ae0e4
mov eax, dword [0x4bedb0]
push eax
push 0
push 0x180
mov eax, dword [0x4c2488]
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
mov edx, dword [0x4be580]
mov byte [edx], al
push 0
mov eax, esi
dec eax
push eax
push 0x186
mov eax, dword [0x4c2488]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x4be784]
mov byte [eax + esi + 0x1d79], 1
mov eax, ebx
call fcn.0048dc84
cmp byte [ebx + 0x54], 1
jne 0x4951f5
push 4
mov eax, dword [ebx]
push eax
call sub.user32.dll_EndDialog
cmp byte [ebx + 0x54], 0x40
jne 0x49523c
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18f1]
mov edx, dword [0x4be784]
mov byte [edx + 0x188e], al
mov dl, 0x50
mov ax, 0x2b
call fcn.0048841c
test eax, eax
je 0x495c67
mov eax, dword [0x4be784]
mov al, byte [eax + 0x188e]
mov edx, dword [0x4be784]
mov byte [edx + 0x18f1], al
mov al, byte [ebx + 0x54]
cmp al, 0x32
je 0x495247
cmp al, 0x33
jne 0x495288
mov eax, dword [0x4be784]
mov al, byte [eax + 0x1875]
mov edx, dword [0x4be784]
mov byte [edx + 0x188e], al
mov dl, 0x50
mov ax, 0x2b
call fcn.0048841c
test eax, eax
je 0x495c67
mov eax, dword [0x4be784]
mov al, byte [eax + 0x188e]
mov edx, dword [0x4be784]
mov byte [edx + 0x1875], al
mov al, byte [ebx + 0x54]
cmp al, 0x52
je 0x495293
cmp al, 0x51
jne 0x4952df
push 0xff
mov eax, dword [0x4bedb0]
push eax
push 0x71
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
xor eax, eax
call fcn.00421294
test al, al
je 0x4952df
mov edx, dword [0x4bedb0]
mov eax, dword [0x4be784]
add eax, 0x400
call fcn.004b81b0
mov ecx, dword [0x4be784]
add ecx, 0x400
mov eax, ebx
mov dx, 0x71
call fcn.00488934
mov al, byte [ebx + 0x54]
cmp al, 3
je 0x4952ee
cmp al, 5
jne 0x4953b0
mov edx, dword [0x4bec94]
lea eax, [esp + 0x160]
call fcn.004b81b0
push 0x495c74
lea eax, [esp + 0x164]
push eax
call sub.kernel32.dll_lstrcatA
push 0x64
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
mov esi, eax
lea eax, [esp + 0x160]
mov edx, esi
call fcn.0048e330
lea eax, [esp + 0x160]
push eax
push 0
push 0x40d
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov edx, dword [0x4be6b0]
mov dword [edx], eax
lea eax, [esp + 0x160]
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [0x4be6b0]
cmp dword [eax], 0
jge 0x495384
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
neg eax
push eax
mov eax, dword [0x4be9fc]
mov eax, dword [eax]
push eax
push 0xb1
push esi
call sub.user32.dll_SendMessageA
mov eax, dword [0x4be6b0]
cmp dword [eax], 1
jne 0x4953b0
mov ax, 0x233
call fcn.004aa600
mov edx, 4
call fcn.004b12a8
push 0
push 0
push 0xb1
push esi
call sub.user32.dll_SendMessageA
cmp byte [ebx + 0x54], 2
jne 0x495496
mov eax, dword [ebx + 0x18]
test eax, eax
jl 0x495496
mov edx, dword [0x4beb38]
push edx
push 0xff
mov edx, eax
mov eax, dword [ebx + 4]
xor ecx, ecx
call fcn.004101bc
mov ax, 0x7b
call fcn.004aa600
mov edx, dword [0x4beb38]
call fcn.004ae1b0
mov eax, dword [0x4bedb0]
mov edx, 0x13
call fcn.004b12a8
test al, al
je 0x495c67
mov eax, dword [0x4bec94]
push eax
push 0xff
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
mov ecx, 2
call fcn.004101bc
mov eax, dword [0x4bec94]
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x495449
mov edx, dword [0x4bec94]
mov ax, 4
call fcn.004acdac
jmp 0x495496
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
call fcn.0041002c
dec dword [ebx + 0x1c]
mov eax, dword [ebx + 0x1c]
test eax, eax
jle 0x49546f
cmp eax, dword [ebx + 0x18]
jne 0x495466
dec dword [ebx + 0x18]
mov eax, ebx
call fcn.0048e258
jmp 0x495496
mov eax, ebx
xor ecx, ecx
mov dx, 3
call fcn.00489a04
mov eax, ebx
xor ecx, ecx
mov dx, 4
call fcn.00489a04
mov eax, ebx
xor ecx, ecx
mov dx, 1
call fcn.00489a04
cmp byte [ebx + 0x54], 0x4e
jne 0x4954a8
mov eax, ebx
mov edx, 1
call fcn.00495c80
cmp byte [ebx + 0x54], 0x4d
jne 0x495510
mov dl, 0x49
mov ax, 0x20
call fcn.0048841c
dec eax
jne 0x495510
mov eax, dword [0x4be374]
mov dl, 1
call fcn.00407928
mov eax, dword [0x4be784]
cmp byte [eax + 0x18dc], 0
je 0x4954f3
mov eax, dword [0x4bedb0]
call fcn.00489cc8
mov ecx, dword [0x4bedb0]
mov eax, ebx
mov dx, 0x30a
call fcn.00488934
jmp 0x495504
mov ecx, dword [0x4be374]
mov eax, ebx
mov dx, 0x30a
call fcn.00488934
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
cmp byte [ebx + 0x54], 0x1e
jne 0x495608
push 9
lea eax, [esp + 0x164]
push eax
push 4
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov esi, 1
mov edi, 0x4bdc9c
mov eax, dword [edi]
push eax
lea eax, [esp + 0x164]
push eax
call sub.kernel32.dll_lstrcmpA
test eax, eax
je 0x495555
inc esi
add edi, 4
cmp esi, 7
jne 0x495538
inc esi
cmp esi, 3
jne 0x495560
mov esi, 4
cmp esi, 5
jne 0x4955a4
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa3], 0
jne 0x4955a4
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa4], 0
jne 0x4955a4
mov esi, 6
cmp esi, 6
jne 0x4955c8
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x442], 0
jne 0x4955c8
mov esi, 7
cmp esi, 7
jne 0x4955d2
mov esi, 1
mov ecx, dword [esi*4 + 0x4bdc98]
mov eax, ebx
mov dx, 4
call fcn.00488934
push 0x30a
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
mov esi, eax
push esi
call sub.user32.dll_SetFocus
push 0
push 0
push 0xb1
push esi
call sub.user32.dll_SendMessageA
cmp byte [ebx + 0x54], 0x41
jne 0x49563d
mov dl, 0x46
mov ax, 0x10
call fcn.0048841c
dec eax
jne 0x495639
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18a2]
call fcn.0048b898
mov ecx, eax
mov eax, ebx
mov dx, 0x65
call fcn.00488934
mov byte [ebx + 0x54], 0x41
cmp byte [ebx + 0x54], 0x3d
jne 0x49564a
mov eax, dword [ebx]
call fcn.00494e6c
cmp byte [ebx + 0x54], 0x2e
jne 0x495659
mov eax, ebx
mov dl, 1
call fcn.00494f64
cmp byte [ebx + 0x54], 0x47
jne 0x4956c8
cmp dword [ebx + 0x18], 0xffffffff
jle 0x4956c8
mov dx, word [ebx + 0x18]
mov eax, ebx
call fcn.00487178
mov esi, eax
push 0
push 0xc
push 0x111
movsx edi, si
mov eax, dword [0x4be754]
mov eax, dword [eax + edi*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x4be754]
mov eax, dword [eax + edi*4 - 4]
cmp byte [eax + 0x443], 0
jne 0x4956c8
mov eax, ebx
xor ecx, ecx
mov dx, 4
call fcn.00489a04
mov ax, 0x27b
call fcn.004aa600
push eax
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
mov ecx, 4
call fcn.004101e8
cmp byte [ebx + 0x54], 0x30
jne 0x495886
mov ax, 0x7c
call fcn.004aa600
mov edx, 0x66
call fcn.004b12a8
test al, al
je 0x495c67
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov edx, dword [0x4be784]
add edx, 0x200
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4be9a4]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov byte [esp + 0x4c], 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_FindFirstFileA
mov esi, eax
jmp 0x495843
mov edx, dword [0x4be784]
add edx, 0x200
mov eax, dword [0x4bedb0]
call fcn.004b81b0
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4be784]
cmp byte [eax + 0x18d8], 0
je 0x4957de
mov eax, dword [0x4bedb0]
mov ecx, 0x10000000
mov edx, 0x80000000
call fcn.004adc9c
mov edi, eax
push 0
push 0
push 0x110
push edi
call sub.kernel32.dll_SetFilePointer_1
push 2
mov eax, dword [0x4beed8]
push eax
push edi
call sub.kernel32.dll__lread
push 1
push 0
mov eax, dword [0x4beed8]
movzx eax, word [eax]
add eax, 2
add eax, 8
add eax, 8
add eax, 0x10
add eax, 8
push eax
push edi
call sub.kernel32.dll_SetFilePointer_1
push 1
lea eax, [esp + 0x10]
push eax
push edi
call sub.kernel32.dll__lread
push edi
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x4be784]
cmp byte [eax + 0x18d8], 0
je 0x4957f3
cmp byte [esp + 0xc], 1
jne 0x49582e
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x495819
mov edx, dword [0x4bedb0]
mov ax, 4
call fcn.004acdac
jmp 0x49582e
mov eax, dword [0x4bedb0]
call fcn.004adcfc
or ecx, 0xffffffff
or edx, 0xffffffff
call fcn.004b19b4
lea eax, [esp + 0x20]
push eax
push esi
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x49584e
cmp byte [esp + 0x4c], 0
jne 0x495742
push esi
call sub.kernel32.dll_FindClose
mov eax, ebx
xor edx, edx
call fcn.00487100
mov eax, ebx
call fcn.00488f54
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
push 2
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 0x42
jne 0x495aa4
mov eax, dword [ebx + 4]
call fcn.00410234
mov esi, eax
cmp esi, 2
jge 0x4958b2
push 1
mov edx, dword [ebx + 0x18]
mov eax, ebx
mov cl, 1
call fcn.00497b4c
jmp 0x495a7e
cmp esi, dword [ebx + 0x1c]
jne 0x4958c9
mov eax, ebx
xor ecx, ecx
mov dx, 0x3e8
call fcn.0048a024
jmp 0x495c67
mov dword [esp + 0x278], esi
fild dword [esp + 0x278]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0xd0
call fcn.004aa600
call fcn.004ae0e4
mov eax, dword [0x4bedb0]
mov edx, 0x13
call fcn.004b12a8
test al, al
je 0x495c67
mov eax, dword [ebx + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp + 4], 0x3e7
jle 0x495926
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
push 4
push 0x1000
mov eax, dword [0x4c2484]
mov eax, dword [eax + 4]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov ebp, eax
test ebp, ebp
jne 0x495967
mov eax, dword [0x4c2484]
fild dword [eax + 4]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x495c67
mov eax, dword [ebx + 0x1c]
dec eax
mov dword [esp], eax
mov dword [esp + 0x18], 0xffffffff
mov edi, dword [esp]
test edi, edi
jl 0x4959da
inc edi
xor esi, esi
lea eax, [ebx + 0x22]
mov edx, 0x24
call fcn.004066e4
mov dword [ebx + 0x22], 8
mov dword [ebx + 0x32], 2
mov dword [ebx + 0x26], esi
lea edx, [ebx + 0x22]
mov eax, dword [ebx + 4]
call fcn.0040ffe4
test eax, eax
je 0x4959d6
mov eax, dword [ebx + 0x2e]
and eax, 2
cmp eax, 2
jne 0x4959d6
mov eax, ebx
mov edx, esi
call fcn.00497b20
test eax, eax
jle 0x4959cb
add eax, ebp
dec eax
mov byte [eax], 1
cmp dword [esp + 0x18], 0xffffffff
jne 0x4959d6
mov dword [esp + 0x18], esi
inc esi
dec edi
jne 0x495980
mov eax, dword [0x4c2484]
mov eax, dword [eax + 4]
mov dword [esp], eax
xor eax, eax
mov dword [esp + 8], eax
mov edi, dword [esp]
test edi, edi
jle 0x495a18
mov esi, 1
lea eax, [esi + ebp]
dec eax
cmp byte [eax], 0
je 0x495a14
mov edx, esi
sub edx, dword [esp + 8]
mov eax, dword [0x4c2484]
call fcn.004abda8
inc dword [esp + 8]
inc esi
dec edi
jne 0x4959f7
push 0x4000
mov eax, dword [esp + 4]
push eax
push ebp
call sub.kernel32.dll_VirtualFree_1
mov eax, ebx
xor edx, edx
call fcn.00487100
cmp dword [esp + 4], 0x3e7
jle 0x495a4d
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov eax, ebx
mov edx, 1
call fcn.00488c6c
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x18], eax
push 3
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, 3
call fcn.0041018c
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
xor ecx, ecx
call fcn.004100a0
mov eax, dword [0x4be744]
cmp dword [eax], 0
jle 0x495a93
mov eax, dword [0x4c2484]
cmp dword [eax + 4], 0
jg 0x495a97
xor ecx, ecx
jmp 0x495a99
mov cl, 1
mov eax, ebx
mov dx, 1
call fcn.00489a04
mov al, byte [ebx + 0x54]
cmp al, 0x20
je 0x495aaf
cmp al, 0x21
jne 0x495ae8
push 0xe
mov eax, dword [0x4be380]
mov eax, dword [eax]
push eax
mov eax, dword [0x4be380]
mov eax, dword [eax]
push eax
mov eax, dword [0x4be598]
push eax
mov eax, dword [0x4be434]
mov eax, dword [eax]
push eax
push 4
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.winspool.drv_DocumentPropertiesA
mov eax, ebx
xor edx, edx
call fcn.004898dc
cmp byte [ebx + 0x54], 0x2f
jne 0x495c67
push 0xff
mov eax, dword [0x4be538]
push eax
push 0x68
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
call sub.user32.dll_GetFocus
mov dword [esp + 0x10], eax
mov esi, 1
lea edi, [esp + 0x260]
push 0xc
mov eax, dword [0x4bedb0]
push eax
lea eax, [esi + 0xc8]
push eax
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
test eax, eax
jne 0x495b4a
mov edx, esi
add dx, 0xc8
mov eax, ebx
call fcn.00488878
jmp 0x495c67
push 0xc
mov eax, dword [0x4beb38]
push eax
lea eax, [esi + 0xcb]
push eax
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
test eax, eax
jne 0x495b78
mov edx, esi
add dx, 0xcb
mov eax, ebx
call fcn.00488878
jmp 0x495c67
push 0x83b
push edi
mov edx, dword [0x4beb38]
mov eax, dword [0x4bedb0]
mov ecx, 0x7bc
call fcn.004127d4
mov ebp, eax
and ebp, 0xff
mov eax, edi
call fcn.00411360
test ebp, ebp
je 0x495bc1
mov edx, esi
add dx, 0xc8
dec ebp
lea eax, [ebp + ebp*2]
add dx, ax
mov eax, ebx
call fcn.00488878
jmp 0x495c67
inc esi
add edi, 8
cmp esi, 4
jne 0x495b1c
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0x26c]
push eax
lea ecx, [esp + 0x268]
mov edx, dword [0x4be538]
mov al, 1
call fcn.004b3bb4
test al, al
jne 0x495c07
mov edx, dword [0x4be538]
mov ax, 0xa
call fcn.004acdac
jmp 0x495c5d
push 5
mov eax, dword [0x4bedb0]
push eax
push 0x67
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov eax, dword [0x4bedb0]
mov dl, 0x41
call fcn.004b8284
test eax, eax
jne 0x495c39
push 0x495c7c
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov ecx, dword [0x4bedb0]
mov eax, ebx
mov dx, 0x67
call fcn.00488934
mov ax, 0x112
call fcn.004aa600
mov edx, 4
call fcn.004b12a8
mov eax, dword [esp + 0x10]
push eax
call sub.user32.dll_SetFocus
add esp, 0x27c
pop ebp
pop edi
pop esi
pop ebx
ret