Function at 0x404fa0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x24
push esi
movzx esi, word [esp + 0x2c]
push edi
mov edi, dword [esp + 0x34]
push edi
push 0x404370
push 0
call fcn.00402430
add esp, 0xc
mov dword [esp + 8], eax
test eax, eax
jne 0x404fef
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004020f0
push eax
push 0x4000022d
push 0
push 0
call fcn.004022d0
add esp, 0x14
pop edi
mov eax, 1
pop esi
add esp, 0x24
ret
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
push ebp
push 0
push 0x32
call esi
push eax
push 0x31
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push 1
push 0x65
push 0
call ebx
mov ebp, dword [sym.imp.USER32.dll_LoadImageW]
push eax
call ebp
test eax, eax
je 0x405031
push eax
mov eax, dword [esp + 0x14]
push 0
push 0x80
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0xc
call esi
push eax
push 0xb
call esi
push eax
push 1
push 0x65
push 0
call ebx
push eax
call ebp
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x40505f
push eax
push 1
push 0x80
push ebp
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [esp + 0x38]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push 0xffffffffffffffeb
push ebp
call esi
push ebp
call fcn.00402510
add esp, 4
push 5
push ebp
call dword [sym.imp.USER32.dll_ShowWindow]
cmp word [edi + 2], 0
lea ebp, [edi + 2]
je 0x4050de
mov ecx, dword [esp + 0x10]
push ebp
push 0x3ed
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp ebx, 0x67
jne 0x4050de
mov edx, dword [esp + 0x10]
push 0x3ef
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
test esi, esi
je 0x405866
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x201
push esi
call edi
push 0
push 0
push 0x202
push esi
call edi
jmp 0x405866
cmp ebx, 0x68
jne 0x405866
mov ebx, dword [esp + 0x10]
push edi
push 8
push ebx
call esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3ed
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp byte [edi], 0
je 0x405136
mov ecx, dword [0x429608]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [edi + 0x8418]
push eax
push 0x3e8
push ecx
call ebx
jmp 0x405154
mov eax, dword [0x429608]
lea edx, [edi + 0x18416]
push edx
push 0x3e8
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov edx, dword [0x429608]
lea ecx, [edi + 0x30412]
push ecx
push 0x400
push edx
call ebx
mov ecx, dword [0x429608]
lea eax, [edi + 0x28414]
push eax
push 0x3ec
push ecx
call ebx
mov eax, dword [0x42960c]
lea edx, [edi + 0x202]
push edx
push 0x409
push eax
call ebx
mov edx, dword [0x42960c]
lea ecx, [edi + 0x402]
push ecx
push 0x40a
push edx
call ebx
mov eax, dword [0x42960c]
push 0x40b
push eax
call esi
mov ecx, dword [edi + 0x8400]
push 0
push ecx
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x8404]
test eax, eax
je 0x405252
push eax
push ebp
call fcn.004010f0
add esp, 8
test eax, eax
je 0x405211
mov edx, dword [0x429610]
push 0x41d
push 0x41d
push 0x40c
push edx
call dword [sym.imp.USER32.dll_CheckRadioButton]
xor bl, bl
xor al, al
call fcn.004024b0
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x405294
mov eax, dword [0x429610]
push 0x40e
push 0x41d
push 0x40c
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov ecx, dword [edi + 0x8404]
mov edx, dword [0x429610]
push ecx
push 0x40f
push edx
call ebx
mov bl, 1
xor al, al
call fcn.004024b0
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x405294
mov eax, dword [0x429610]
push 0x40c
push 0x41d
push 0x40c
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
test dword [edi + 0x8414], 0x100
je 0x405294
mov ecx, dword [0x429610]
push 0
push 1
push 0xf1
push 0x40d
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [edi + 0x4040c]
test eax, eax
je 0x405303
lea edx, [esp + 0x14]
push edx
mov edx, dword [edi + 0x40408]
lea ecx, [esp + 0x3c]
push ecx
push eax
push edx
call fcn.0040a3f0
add esp, 0x10
test eax, eax
je 0x4052dc
mov eax, dword [esp + 0x10]
push str.nssm_dlg__
push str.dependencies
push 0xc00003eb
push 0x30
push eax
call fcn.004022d0
add esp, 0x14
jmp 0x405303
mov ecx, dword [esp + 0x38]
mov edx, dword [0x429614]
push ecx
push 0x416
push edx
call ebx
mov eax, dword [esp + 0x38]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [edi + 0x4041c]
test eax, eax
je 0x405335
push eax
call fcn.0040c910
mov ecx, dword [0x429618]
add esp, 4
push 0x412
push ecx
mov ebx, eax
call esi
push 0
push ebx
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [edi + 0x40400]
or edx, dword [edi + 0x40404]
je 0x405416
mov eax, dword [0x429618]
push 0x414
push eax
call esi
mov ecx, dword [0x429618]
push 0
push 0
push 0xf1
push 0x413
push ecx
mov ebp, eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edx, dword [0x429618]
push 1
push 0x414
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x4053d5
mov edx, dword [edi + 0x40400]
mov eax, dword [esp + 0x38]
mov ebx, dword [edi + 0x40404]
xor ecx, ecx
and eax, edx
and ecx, ebx
cmp eax, edx
jne 0x4053c1
cmp ecx, ebx
je 0x4053d5
mov edx, dword [esp + 0x10]
push 0x4000025e
push 0x30
push edx
call fcn.004022d0
add esp, 0xc
xor ebx, ebx
call fcn.00408790
test eax, eax
jle 0x405416
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.00414ec0
and eax, dword [edi + 0x40400]
and edx, dword [edi + 0x40404]
or eax, edx
jne 0x40540c
push ebx
push eax
push 0x185
push ebp
call dword [sym.imp.USER32.dll_SendMessageW]
inc ebx
call fcn.00408790
cmp ebx, eax
jl 0x4053e0
cmp dword [edi + 0x40420], 0
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
je 0x40543b
mov eax, dword [0x429618]
push 0
push 0
push 0xf1
push 0x415
push eax
call ebp
test byte [edi + 0x7049c], 1
jne 0x405472
mov ecx, dword [0x42961c]
push 0
push 0
push 0xf1
push 0x3f0
push ecx
call ebp
mov edx, dword [0x42961c]
push 0
push 0x3f4
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [edi + 0x704a0]
mov ecx, dword [0x42961c]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push eax
push 0x3f4
push ecx
call ebx
test byte [edi + 0x7049c], 2
jne 0x4054c9
mov edx, dword [0x42961c]
push 0
push 0
push 0xf1
push 0x3f1
push edx
call ebp
mov eax, dword [0x42961c]
push 0
push 0x3f5
push eax
call esi
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebp
jmp 0x4054cf
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [edi + 0x704a4]
mov edx, dword [0x42961c]
push 0
push ecx
push 0x3f5
push edx
call ebx
test byte [edi + 0x7049c], 4
jne 0x40551c
mov eax, dword [0x42961c]
push 0
push 0
push 0xf1
push 0x3f2
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x42961c]
push 0
push 0x3f6
push ecx
call esi
push eax
call ebp
mov edx, dword [edi + 0x704a8]
mov eax, dword [0x42961c]
push 0
push edx
push 0x3f6
push eax
call ebx
test byte [edi + 0x7049c], 8
jne 0x405556
mov ecx, dword [0x42961c]
push 0
push 0
push 0xf1
push 0x3f3
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp byte [edi + 0x704ac], 0
jne 0x40557a
mov edx, dword [0x42961c]
push 0
push 0
push 0xf1
push 0x417
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [edi + 0x70498]
mov ecx, dword [0x429620]
push 0
push eax
push 0x3fd
push ecx
call ebx
mov edx, dword [0x429620]
push 0x3fe
push edx
call esi
mov ecx, dword [edi + 0x70490]
push 0
push ecx
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [edi + 0x70494]
mov eax, dword [0x429620]
push 0
push edx
push 0x3ff
push eax
call ebx
mov edx, dword [0x429624]
lea ecx, [edi + 0x40424]
push ecx
push 0x3f7
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [0x429624]
lea eax, [edi + 0x50430]
push eax
push 0x3f8
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [0x429624]
lea edx, [edi + 0x60450]
push edx
push 0x3f9
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [edi + 0x70472], 0
je 0x405638
mov ecx, dword [0x429624]
push 0
push 1
push 0xf1
push 0x41e
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp dword [edi + 0x60434], 2
jne 0x40565c
mov edx, dword [0x429628]
push 0
push 1
push 0xf1
push 0x404
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp byte [edi + 0x70471], 0
je 0x4056b7
mov eax, dword [0x429628]
push 0
push 1
push 0xf1
push 0x405
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x429628]
push 1
push 0x406
push ecx
call esi
push eax
call ebp
mov edx, dword [0x429628]
push 1
push 0x407
push edx
call esi
push eax
call ebp
mov eax, dword [0x429628]
push 1
push 0x408
push eax
call esi
push eax
call ebp
cmp dword [edi + 0x70478], 0
jne 0x4056c9
cmp dword [edi + 0x7047c], 0
je 0x4056e4
mov ecx, dword [0x429628]
push 0
push 1
push 0xf1
push 0x406
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edx, dword [edi + 0x70480]
mov eax, dword [0x429628]
push 0
push edx
push 0x407
push eax
call ebx
cmp dword [edi + 0x70488], 0
jne 0x40571a
mov ecx, dword [edi + 0x70484]
mov edx, dword [0x429628]
push 0
push ecx
push 0x408
push edx
call ebx
cmp byte [edi + 0x70470], 0
je 0x40573d
mov eax, dword [0x429630]
push 0
push 1
push 0xf1
push 0x41c
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [edi + 0x60434]
mov ecx, dword [edi + 0x70454]
cmp eax, ecx
jne 0x405769
test eax, eax
je 0x40575b
cmp eax, 4
je 0x40575b
cmp eax, 2
jne 0x405769
test ecx, ecx
je 0x40577f
cmp ecx, 4
je 0x40577f
cmp ecx, 2
je 0x40577f
mov ebp, dword [esp + 0x10]
push 0x40000260
push 0x30
push ebp
call fcn.004022d0
add esp, 0xc
jmp 0x405783
mov ebp, dword [esp + 0x10]
cmp dword [edi + 0x70488], 0
je 0x40579c
push 0x40000261
push 0x30
push ebp
call fcn.004022d0
add esp, 0xc
mov esi, dword [edi + 0x40418]
test esi, esi
je 0x4057ae
mov ebx, dword [edi + 0x40414]
jmp 0x4057dd
mov esi, dword [edi + 0x40410]
mov ebx, dword [edi + 0x403f8]
test esi, esi
je 0x405840
mov ecx, dword [0x42962c]
push 0
push 1
push 0xf1
push 0x403
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test esi, esi
je 0x405840
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x3c]
push eax
push esi
push ebx
call fcn.0040a3f0
add esp, 0x10
test eax, eax
je 0x405815
push str.nssm_dlg__
push str.environment
push 0xc00003eb
push 0x30
push ebp
call fcn.004022d0
add esp, 0x14
jmp 0x405840
mov ecx, dword [esp + 0x38]
mov edx, dword [0x42962c]
push ecx
push 0x402
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [esp + 0x38]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [edi + 0x40410], 0
je 0x405866
cmp dword [edi + 0x40418], 0
je 0x405866
mov ecx, dword [esp + 0x10]
push 0x40000262
push 0x30
push ecx
call fcn.004022d0
add esp, 0xc
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea edx, [esp + 0x24]
push edx
call esi
test eax, eax
je 0x4058bf
mov edi, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
nop
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push ecx
call edi
test eax, eax
jne 0x4058ae
lea edx, [esp + 0x18]
push edx
call ebx
lea eax, [esp + 0x18]
push eax
call ebp
push 0
push 0
push 0
lea ecx, [esp + 0x24]
push ecx
call esi
test eax, eax
jne 0x405890
mov eax, dword [esp + 0x20]
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x24
ret