Function at 0x43987c
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], 0x48
jne 0x439995
mov eax, dword [0x48d830]
call fcn.0040f9c8
test al, al
je 0x439925
push 0x439e80
mov eax, dword [0x48d830]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48d838]
mov eax, dword [eax + 0x24]
call fcn.00412904
push eax
mov eax, dword [0x48d830]
push eax
call sub.kernel32.dll_lstrcatA
push 0x439e84
mov eax, dword [0x48d830]
push eax
call sub.kernel32.dll_lstrcatA
push 1
mov eax, dword [0x48d830]
push eax
call sub.kernel32.dll_WinExec
cmp eax, 0x20
jae 0x439902
mov edx, dword [0x48d830]
mov ax, 7
call fcn.0040de10
jmp 0x439995
mov eax, dword [0x48d550]
cmp byte [eax + 0x19c6], 0
jne 0x439917
mov al, 0x42
call fcn.00411204
mov eax, dword [0x48d550]
mov byte [eax + 0x19c6], 1
jmp 0x439995
push 1
push 0x439e88
mov eax, dword [0x48d838]
mov eax, dword [eax + 0x24]
call fcn.00412904
push eax
mov eax, dword [0x48d550]
add eax, 0x500
push eax
push 0
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.shell32.dll_ShellExecuteA
cmp eax, 0x20
ja 0x439974
test eax, eax
jbe 0x439974
mov edx, dword [0x48d550]
add edx, 0x500
mov ax, 7
call fcn.0040de10
jmp 0x439995
mov eax, dword [0x48d550]
cmp byte [eax + 0x19c6], 0
jne 0x439989
mov al, 0x42
call fcn.00411204
mov eax, dword [0x48d550]
mov byte [eax + 0x19c6], 1
mov al, byte [ebx + 0x54]
cmp al, 9
je 0x4399b0
cmp al, 0xa
je 0x4399b0
cmp al, 0xb
je 0x4399b0
cmp al, 0xc
je 0x4399b0
cmp al, 0xd
jne 0x439a9a
mov eax, dword [0x48d3ac]
cmp byte [eax], 3
je 0x4399d2
mov eax, dword [0x48d3ac]
movzx eax, byte [eax]
mov edx, dword [0x48d550]
cmp byte [edx + eax + 0x1d7a], 0
jne 0x4399f1
mov eax, dword [0x48d3ac]
movzx eax, byte [eax]
mov edx, dword [0x48d550]
mov byte [edx + eax + 0x1d79], 0
mov eax, dword [0x48d3ac]
dec byte [eax]
jmp 0x439a6c
mov eax, dword [0x48d3ac]
movzx eax, byte [eax]
cmp eax, 2
jg 0x439a60
mov dword [esp], eax
mov eax, dword [0x48d550]
mov edx, dword [esp]
lea eax, [eax + edx + 0x1d7a]
mov edx, dword [0x48d550]
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 [0x48d550]
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 0x439a37
mov eax, dword [0x48d550]
mov byte [eax + 0x1d7c], 0
mov dword [esp], 3
push 0
push 0
push 0x182
mov eax, dword [0x49ba70]
push eax
call sub.user32.dll_SendMessageA
dec dword [esp]
jne 0x439a73
mov eax, ebx
call fcn.00432af4
mov eax, ebx
call fcn.004327cc
cmp byte [ebx + 0x54], 1
jne 0x439aaa
push 5
mov eax, dword [ebx]
push eax
call sub.user32.dll_EndDialog
cmp byte [ebx + 0x54], 0x2d
jne 0x439af2
mov eax, dword [ebx + 0x18]
test eax, eax
jl 0x439af2
mov edx, dword [0x48da44]
push edx
push 0xff
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, 6
call fcn.0040b4b8
mov eax, dword [0x48da44]
call fcn.0040cda0
push 0
push 0
push 0x412
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
cmp byte [ebx + 0x54], 0x45
jne 0x439b04
mov eax, ebx
mov edx, 2
call fcn.0043977c
cmp byte [ebx + 0x54], 0x22
jne 0x439b55
mov eax, dword [0x48d390]
mov al, byte [eax]
mov edx, dword [0x48d550]
mov byte [edx + 0x187d], al
call fcn.0041b45c
mov dl, 0x34
mov ax, 0x1a
call fcn.0042d52c
dec eax
jne 0x439b55
mov ecx, dword [0x48da44]
mov eax, dword [0x48d390]
mov al, byte [eax]
mov dl, 1
call fcn.0041ac5c
mov ecx, dword [0x48da44]
mov eax, ebx
mov dx, 5
call fcn.0042d910
cmp byte [ebx + 0x54], 0x44
jne 0x439bf1
mov edx, dword [0x48d370]
lea eax, [esp + 4]
call fcn.00405c48
push 0xff
mov eax, dword [0x48d370]
push eax
push 0x30b
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov al, 0x1a
call fcn.0042aef4
test al, al
je 0x439be3
push 0x439e8c
mov eax, dword [0x48d370]
call fcn.0040faf0
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x439bbb
mov eax, dword [0x48d3d0]
push eax
mov eax, dword [0x48d370]
push eax
call sub.kernel32.dll_lstrcatA
mov ecx, dword [0x48d370]
mov eax, ebx
mov dx, 0x30b
call fcn.0042d910
push 0x192
push 0x192
push 0x191
mov eax, dword [ebx]
push eax
call sub.user32.dll_CheckRadioButton
lea edx, [esp + 4]
mov eax, dword [0x48d370]
call fcn.00405c48
cmp byte [ebx + 0x54], 0x2c
jne 0x439d09
push 0xff
mov eax, dword [0x48d370]
push eax
push 0x68
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
push 6
mov eax, dword [0x48da44]
push eax
push 0x67
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItemTextA
mov eax, dword [0x48da44]
cmp byte [eax], 0
je 0x439c6d
mov eax, dword [0x48da44]
call fcn.00405bdc
mov esi, eax
dec esi
test esi, esi
jl 0x439c6d
inc esi
mov eax, dword [0x48da44]
mov dl, byte [eax]
cmp dl, 0x41
je 0x439c69
cmp dl, 0x52
je 0x439c69
cmp dl, 0x53
je 0x439c69
cmp dl, 0x48
je 0x439c69
mov eax, ebx
mov dx, 0x67
call fcn.0042d854
jmp 0x439e74
inc eax
dec esi
jne 0x439c43
xor esi, esi
mov eax, dword [0x48da44]
mov dl, 0x41
call fcn.00405cf8
test eax, eax
je 0x439c83
add si, 0x20
mov eax, dword [0x48da44]
mov dl, 0x52
call fcn.00405cf8
test eax, eax
je 0x439c94
inc esi
mov eax, dword [0x48da44]
mov dl, 0x53
call fcn.00405cf8
test eax, eax
je 0x439ca8
add si, 4
mov eax, dword [0x48da44]
mov dl, 0x48
call fcn.00405cf8
test eax, eax
je 0x439cbc
add si, 2
movzx eax, si
push eax
mov eax, dword [0x48d370]
push eax
call sub.kernel32.dll_SetFileAttributesA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x439ce6
mov edx, dword [0x48d370]
mov ax, 0xa
call fcn.0040de10
jmp 0x439cf9
mov ax, 0x112
call fcn.0040bc04
mov edx, 4
call fcn.00411d74
push 0x67
mov eax, dword [ebx]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 0x3a
jne 0x439dbf
mov esi, dword [0x48d4cc]
mov esi, dword [esi]
inc esi
mov dl, 0x3b
mov ax, 0x11
call fcn.0042d52c
dec eax
jne 0x439db6
mov eax, pe_nt_image_headers32
call fcn.004024e8
mov dword [0x49bae8], eax
mov eax, dword [0x48d30c]
mov eax, dword [eax]
test eax, eax
jne 0x439d52
mov eax, dword [0x49bae8]
mov byte [eax], 0
jmp 0x439d64
mov edx, dword [0x48d30c]
mov edx, eax
mov eax, dword [0x49bae8]
call fcn.00405c48
mov dl, 0x3c
mov ax, 0x21
call fcn.0042d52c
dec eax
jne 0x439dac
mov eax, dword [0x48d59c]
push dword [eax + 4]
push dword [eax]
mov edx, dword [0x49bae8]
xor eax, eax
call fcn.0040ce6c
test al, al
je 0x439dac
mov eax, ebx
mov edx, esi
call fcn.0042db98
mov eax, dword [0x48d510]
cmp dword [eax], 0
setg cl
mov eax, ebx
mov dx, 1
call fcn.0042e904
mov eax, dword [0x49bae8]
call fcn.00402508
mov eax, dword [ebx + 4]
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 0x2b
jne 0x439dce
mov eax, ebx
mov dl, 2
call fcn.00438a98
cmp byte [ebx + 0x54], 0x36
jne 0x439e2b
mov edx, dword [0x48d370]
lea eax, [esp + 4]
call fcn.00405c48
mov edx, dword [0x48d550]
add edx, 0x500
mov eax, dword [0x48d370]
call fcn.00405c48
mov al, 0x12
call fcn.0042aef4
test al, al
je 0x439e15
mov ecx, dword [0x48d370]
mov eax, ebx
mov dx, 0x64
call fcn.0042d910
lea edx, [esp + 4]
mov eax, dword [0x48d370]
call fcn.00405c48
mov eax, dword [ebx]
push eax
call sub.user32.dll_SetFocus
cmp byte [ebx + 0x54], 2
jne 0x439e74
mov byte [0x49bae2], 0
mov dl, 5
mov ax, 0xf
call fcn.0042d52c
cmp byte [0x49bae2], 0
je 0x439e74
mov ax, word [ebx + 0x18]
mov edx, dword [0x48d550]
mov word [edx + 0x1832], ax
mov eax, ebx
xor edx, edx
call fcn.0042c318
mov eax, ebx
call fcn.004315e0
mov eax, ebx
call fcn.00432da0
add esp, 0x104
pop edi
pop esi
pop ebx
ret