Function at 0x495f38
Capabilities:
Create process on windows
Set file attributes

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffefc
mov ebx, eax
cmp byte [ebx + 0x54], 0x3e
jne 0x495fa0
mov edx, dword [0x4be538]
lea eax, [esp + 4]
call fcn.004b81b0
mov edx, dword [0x4be784]
add edx, 0x500
mov eax, dword [0x4be538]
call fcn.004b81b0
mov al, 0x12
call fcn.00421294
test al, al
je 0x495f8a
mov ecx, dword [0x4be538]
mov eax, ebx
mov dx, 0x65
call fcn.00488934
lea edx, [esp + 4]
mov eax, dword [0x4be538]
call fcn.004b81b0
mov eax, dword [ebx]
push eax
call sub.user32.dll_SetFocus
mov al, byte [ebx + 0x54]
cmp al, 0x52
je 0x495fb3
cmp al, 0x53
je 0x495fb3
cmp al, 0x32
jne 0x4960b7
mov eax, dword [0x4beb38]
call fcn.004ae768
test al, al
je 0x496047
push 0x496510
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0x24]
call fcn.004b1c50
push eax
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
push 0x496514
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
push 1
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_WinExec
cmp eax, 0x20
jae 0x496024
mov edx, dword [0x4beb38]
mov ax, 7
call fcn.004acdac
jmp 0x4960b7
mov eax, dword [0x4be784]
cmp byte [eax + 0x19c6], 0
jne 0x496039
mov al, 0x42
call fcn.004b0608
mov eax, dword [0x4be784]
mov byte [eax + 0x19c6], 1
jmp 0x4960b7
push 1
push 0x496518
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0x24]
call fcn.004b1c50
push eax
mov eax, dword [0x4be784]
add eax, 0x500
push eax
push 0
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.shell32.dll_ShellExecuteA
cmp eax, 0x20
ja 0x496096
test eax, eax
jbe 0x496096
mov edx, dword [0x4be784]
add edx, 0x500
mov ax, 7
call fcn.004acdac
jmp 0x4960b7
mov eax, dword [0x4be784]
cmp byte [eax + 0x19c6], 0
jne 0x4960ab
mov al, 0x42
call fcn.004b0608
mov eax, dword [0x4be784]
mov byte [eax + 0x19c6], 1
mov al, byte [ebx + 0x54]
cmp al, 9
je 0x4960d2
cmp al, 0xa
je 0x4960d2
cmp al, 0xb
je 0x4960d2
cmp al, 0xc
je 0x4960d2
cmp al, 0xd
jne 0x4961bc
mov eax, dword [0x4be580]
cmp byte [eax], 3
je 0x4960f4
mov eax, dword [0x4be580]
movzx eax, byte [eax]
mov edx, dword [0x4be784]
cmp byte [edx + eax + 0x1d7a], 0
jne 0x496113
mov eax, dword [0x4be580]
movzx eax, byte [eax]
mov edx, dword [0x4be784]
mov byte [edx + eax + 0x1d79], 0
mov eax, dword [0x4be580]
dec byte [eax]
jmp 0x49618e
mov eax, dword [0x4be580]
movzx eax, byte [eax]
cmp eax, 2
jg 0x496182
mov dword [esp], eax
mov eax, dword [0x4be784]
mov edx, dword [esp]
lea eax, [eax + edx + 0x1d7a]
mov edx, dword [0x4be784]
mov ecx, dword [esp]
lea edx, [edx + ecx*2 + 0x1d7d]
mov ecx, dword [esp]
mov esi, ecx
shl ecx, 5
add ecx, esi
mov esi, dword [0x4be784]
lea esi, [esi + ecx + 0x1d83]
mov cl, byte [eax]
mov byte [eax - 1], cl
mov cx, word [edx]
mov word [edx - 2], cx
push esi
lea edi, [esi - 0x21]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
inc dword [esp]
add esi, 0x21
add edx, 2
inc eax
cmp dword [esp], 3
jne 0x496159
mov eax, dword [0x4be784]
mov byte [eax + 0x1d7c], 0
mov dword [esp], 3
push 0
push 0
push 0x182
mov eax, dword [0x4c2488]
push eax
call sub.user32.dll_SendMessageA
dec dword [esp]
jne 0x496195
mov eax, ebx
call fcn.0048dfac
mov eax, ebx
call fcn.0048dc84
cmp byte [ebx + 0x54], 1
jne 0x4961cc
push 5
mov eax, dword [ebx]
push eax
call sub.user32.dll_EndDialog
cmp byte [ebx + 0x54], 0x30
jne 0x496214
mov eax, dword [ebx + 0x18]
test eax, eax
jl 0x496214
mov edx, dword [0x4bedb0]
push edx
push 0xff
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, 6
call fcn.004101bc
mov eax, dword [0x4bedb0]
call fcn.004ab81c
push 0
push 0
push 0x412
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
cmp byte [ebx + 0x54], 0x4e
jne 0x496226
mov eax, ebx
mov edx, 2
call fcn.00495c80
cmp byte [ebx + 0x54], 0x22
jne 0x496277
mov eax, dword [0x4be55c]
mov al, byte [eax]
mov edx, dword [0x4be784]
mov byte [edx + 0x187d], al
call fcn.004a7468
mov dl, 0x3a
mov ax, 0x1a
call fcn.0048841c
dec eax
jne 0x496277
mov ecx, dword [0x4bedb0]
mov eax, dword [0x4be55c]
mov al, byte [eax]
mov dl, 1
call fcn.0049e530
mov ecx, dword [0x4bedb0]
mov eax, ebx
mov dx, 5
call fcn.00488934
cmp byte [ebx + 0x54], 0x4d
jne 0x4962e5
mov edx, dword [0x4be538]
lea eax, [esp + 4]
call fcn.004b81b0
push 0xff
mov eax, dword [0x4be538]
push eax
push 0x30b
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov al, 0x1a
call fcn.00421294
test al, al
je 0x4962d7
mov ecx, dword [0x4be538]
mov eax, ebx
mov dx, 0x30b
call fcn.00488934
push 0x192
push 0x192
push 0x191
mov eax, dword [ebx]
push eax
call sub.user32.dll_CheckRadioButton
lea edx, [esp + 4]
mov eax, dword [0x4be538]
call fcn.004b81b0
cmp byte [ebx + 0x54], 0x2f
jne 0x4963fd
push 0xff
mov eax, dword [0x4be538]
push eax
push 0x68
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
push 6
mov eax, dword [0x4bedb0]
push eax
push 0x67
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov eax, dword [0x4bedb0]
cmp byte [eax], 0
je 0x496361
mov eax, dword [0x4bedb0]
call fcn.004b8144
mov esi, eax
dec esi
test esi, esi
jl 0x496361
inc esi
mov eax, dword [0x4bedb0]
mov dl, byte [eax]
cmp dl, 0x41
je 0x49635d
cmp dl, 0x52
je 0x49635d
cmp dl, 0x53
je 0x49635d
cmp dl, 0x48
je 0x49635d
mov eax, ebx
mov dx, 0x67
call fcn.00488878
jmp 0x496505
inc eax
dec esi
jne 0x496337
xor esi, esi
mov eax, dword [0x4bedb0]
mov dl, 0x41
call fcn.004b8284
test eax, eax
je 0x496377
add si, 0x20
mov eax, dword [0x4bedb0]
mov dl, 0x52
call fcn.004b8284
test eax, eax
je 0x496388
inc esi
mov eax, dword [0x4bedb0]
mov dl, 0x53
call fcn.004b8284
test eax, eax
je 0x49639c
add si, 4
mov eax, dword [0x4bedb0]
mov dl, 0x48
call fcn.004b8284
test eax, eax
je 0x4963b0
add si, 2
movzx eax, si
push eax
mov eax, dword [0x4be538]
push eax
call sub.kernel32.dll_SetFileAttributesA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4963da
mov edx, dword [0x4be538]
mov ax, 0xa
call fcn.004acdac
jmp 0x4963ed
mov ax, 0x112
call fcn.004aa600
mov edx, 4
call fcn.004b12a8
push 0x67
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 0x42
jne 0x496450
mov eax, dword [0x4c2484]
mov esi, dword [eax + 4]
inc esi
mov dl, 0x43
mov ax, 0x11
call fcn.0048841c
dec eax
jne 0x496447
mov eax, dword [0x4c2484]
call fcn.00495db0
test al, al
je 0x496447
mov eax, ebx
mov edx, esi
call fcn.00488c6c
mov eax, dword [0x4be744]
cmp dword [eax], 0
setg cl
mov eax, ebx
mov dx, 1
call fcn.00489a04
mov eax, dword [ebx + 4]
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 0x2e
jne 0x49645f
mov eax, ebx
mov dl, 2
call fcn.00494f64
cmp byte [ebx + 0x54], 0x3d
jne 0x4964bc
mov edx, dword [0x4be538]
lea eax, [esp + 4]
call fcn.004b81b0
mov edx, dword [0x4be784]
add edx, 0x500
mov eax, dword [0x4be538]
call fcn.004b81b0
mov al, 0x12
call fcn.00421294
test al, al
je 0x4964a6
mov ecx, dword [0x4be538]
mov eax, ebx
mov dx, 0x65
call fcn.00488934
lea edx, [esp + 4]
mov eax, dword [0x4be538]
call fcn.004b81b0
mov eax, dword [ebx]
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 2
jne 0x496505
mov byte [0x4c24d2], 0
mov dl, 5
mov ax, 0xf
call fcn.0048841c
cmp byte [0x4c24d2], 0
je 0x496505
mov ax, word [ebx + 0x18]
mov edx, dword [0x4be784]
mov word [edx + 0x1832], ax
mov eax, ebx
xor edx, edx
call fcn.00487100
mov eax, ebx
call fcn.0048c964
mov eax, ebx
call fcn.0048e258
add esp, 0x104
pop edi
pop esi
pop ebx
ret