Function at 0x402490
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
movzx esi, word [ebp + 8]
push edi
mov edi, eax
push edi
push 0x404b90
push 0
call fcn.004023a0
mov esi, eax
add esp, 0xc
mov dword [ebp - 4], esi
test esi, esi
jne 0x4024e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.00402080
push eax
push 0x4000022d
xor ebx, ebx
xor ecx, ecx
call fcn.00402250
add esp, 8
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
call ebx
push eax
push 0x31
call ebx
push eax
push 1
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
test eax, eax
je 0x402519
push eax
push 0
push 0x80
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0xc
call ebx
push eax
push 0xb
call ebx
push eax
push 1
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
test eax, eax
je 0x40254b
push eax
push 1
push 0x80
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp + 8]
push eax
push 0xffffffffffffffeb
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
call fcn.00402db0
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
cmp word [edi + 2], 0
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [edi + 2]
je 0x4025c0
push eax
push 0x3ed
push esi
call ebx
cmp dword [ebp + 8], 0x67
jne 0x4025c0
push 0x3ef
mov ecx, esi
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
test esi, esi
je 0x402d4b
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 0x402d4b
cmp dword [ebp + 8], 0x68
jne 0x402d4b
push edi
push 8
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
push 0x3ed
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov edx, dword [ebp - 4]
push 1
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp byte [edi], 0
je 0x402614
mov ecx, dword [0x4261f8]
lea eax, [edi + 0x8418]
push eax
push 0x3e8
push ecx
jmp 0x402626
mov eax, dword [0x4261f8]
lea edx, [edi + 0x18416]
push edx
push 0x3e8
push eax
call ebx
mov edx, dword [0x4261f8]
lea ecx, [edi + 0x30412]
push ecx
push 0x400
push edx
call ebx
mov ecx, dword [0x4261f8]
lea eax, [edi + 0x28414]
push eax
push 0x3ec
push ecx
call ebx
mov eax, dword [0x4261fc]
lea edx, [edi + 0x202]
push edx
push 0x409
push eax
call ebx
mov edx, dword [0x4261fc]
lea ecx, [edi + 0x402]
push ecx
push 0x40a
push edx
call ebx
mov eax, dword [0x4261fc]
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 0x402724
lea ecx, [edi + 2]
call fcn.004018b0
test eax, eax
je 0x4026e3
mov edx, dword [0x426200]
push 0x41d
push 0x41d
push 0x40c
push edx
call dword [sym.imp.USER32.dll_CheckRadioButton]
xor bl, bl
xor al, al
call fcn.00402430
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x402766
mov eax, dword [0x426200]
push 0x40e
push 0x41d
push 0x40c
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov ecx, dword [edi + 0x8404]
mov edx, dword [0x426200]
push ecx
push 0x40f
push edx
call ebx
mov bl, 1
xor al, al
call fcn.00402430
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x402766
mov eax, dword [0x426200]
push 0x40c
push 0x41d
push 0x40c
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
test dword [edi + 0x8414], 0x100
je 0x402766
mov ecx, dword [0x426200]
push 0
push 1
push 0xf1
push 0x40d
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [edi + 0x4040c]
test ecx, ecx
je 0x4027dd
mov esi, dword [edi + 0x40408]
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 8]
mov ebx, ecx
call fcn.0040ab80
add esp, 4
test eax, eax
je 0x4027ac
mov ecx, dword [ebp - 4]
push str.invgate_dlg__
push str.dependencies
push 0xc00003eb
mov ebx, 0x30
call fcn.00402250
add esp, 0xc
jmp 0x4027d1
mov esi, dword [ebp + 8]
mov eax, dword [0x426204]
push esi
push 0x416
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [edi + 0x4041c]
test eax, eax
je 0x402813
push eax
call fcn.0040c850
mov ecx, dword [0x426208]
add esp, 4
push 0x412
push ecx
mov dword [ebp + 8], eax
call esi
mov edx, dword [ebp + 8]
push 0
push edx
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x40400]
or eax, dword [edi + 0x40404]
je 0x4028ff
mov ecx, dword [0x426208]
push 0x414
push ecx
call esi
mov edx, dword [0x426208]
push 0
push 0
push 0xf1
push 0x413
push edx
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [0x426208]
push 1
push 0x414
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x4028b2
mov edx, dword [edi + 0x40400]
mov eax, dword [ebp + 8]
mov ebx, dword [edi + 0x40404]
xor ecx, ecx
and eax, edx
and ecx, ebx
cmp eax, edx
jne 0x40289d
cmp ecx, ebx
je 0x4028b2
mov ecx, dword [ebp - 4]
push 0x4000025e
mov ebx, 0x30
call fcn.00402250
add esp, 4
xor ebx, ebx
call fcn.00408670
test eax, eax
jle 0x4028f9
lea ecx, [ecx]
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.0041da60
and eax, dword [edi + 0x40400]
and edx, dword [edi + 0x40404]
or eax, edx
jne 0x4028ef
push ebx
push eax
mov eax, dword [ebp - 8]
push 0x185
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
inc ebx
call fcn.00408670
cmp ebx, eax
jl 0x4028c0
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [edi + 0x40420], 0
je 0x402923
mov ecx, dword [0x426208]
push 0
push 0
push 0xf1
push 0x415
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test byte [edi + 0x7049c], 1
jne 0x40295d
mov edx, dword [0x42620c]
push 0
push 0
push 0xf1
push 0x3f0
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [0x42620c]
push 0
push 0x3f4
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [edi + 0x704a0]
mov edx, dword [0x42620c]
push 0
push ecx
push 0x3f4
push edx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
test byte [edi + 0x7049c], 2
jne 0x4029b2
mov eax, dword [0x42620c]
push 0
push 0
push 0xf1
push 0x3f1
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x42620c]
push 0
push 0x3f5
push ecx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov edx, dword [edi + 0x704a4]
mov eax, dword [0x42620c]
push 0
push edx
push 0x3f5
push eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
test byte [edi + 0x7049c], 4
jne 0x402a07
mov ecx, dword [0x42620c]
push 0
push 0
push 0xf1
push 0x3f2
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edx, dword [0x42620c]
push 0
push 0x3f6
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [edi + 0x704a8]
mov ecx, dword [0x42620c]
push 0
push eax
push 0x3f6
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
test byte [edi + 0x7049c], 8
jne 0x402a46
mov edx, dword [0x42620c]
push 0
push 0
push 0xf1
push 0x3f3
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp byte [edi + 0x704ac], 0
jne 0x402a69
mov eax, dword [0x42620c]
push 0
push 0
push 0xf1
push 0x417
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [edi + 0x70498]
mov edx, dword [0x426210]
push 0
push ecx
push 0x3fd
push edx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
mov eax, dword [0x426210]
push 0x3fe
push eax
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 [0x426210]
push 0
push edx
push 0x3ff
push eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
mov edx, dword [0x426214]
lea ecx, [edi + 0x40424]
push ecx
push 0x3f7
push edx
call ebx
mov ecx, dword [0x426214]
lea eax, [edi + 0x50430]
push eax
push 0x3f8
push ecx
call ebx
mov eax, dword [0x426214]
lea edx, [edi + 0x60450]
push edx
push 0x3f9
push eax
call ebx
cmp byte [edi + 0x70472], 0
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
je 0x402b24
mov ecx, dword [0x426214]
push 0
push 1
push 0xf1
push 0x41e
push ecx
call ebx
cmp dword [edi + 0x60434], 2
jne 0x402b44
mov edx, dword [0x426218]
push 0
push 1
push 0xf1
push 0x404
push edx
call ebx
cmp byte [edi + 0x70471], 0
je 0x402ba7
mov eax, dword [0x426218]
push 0
push 1
push 0xf1
push 0x405
push eax
call ebx
mov ecx, dword [0x426218]
push 1
push 0x406
push ecx
call esi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
mov edx, dword [0x426218]
push 1
push 0x407
push edx
call esi
push eax
call ebx
mov eax, dword [0x426218]
push 1
push 0x408
push eax
call esi
push eax
call ebx
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp dword [edi + 0x70478], 0
jne 0x402bb9
cmp dword [edi + 0x7047c], 0
je 0x402bd0
mov ecx, dword [0x426218]
push 0
push 1
push 0xf1
push 0x406
push ecx
call ebx
mov edx, dword [edi + 0x70480]
mov eax, dword [0x426218]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push edx
push 0x407
push eax
call esi
cmp dword [edi + 0x70488], 0
jne 0x402c0c
mov ecx, dword [edi + 0x70484]
mov edx, dword [0x426218]
push 0
push ecx
push 0x408
push edx
call esi
cmp byte [edi + 0x70470], 0
je 0x402c2b
mov eax, dword [0x426220]
push 0
push 1
push 0xf1
push 0x41c
push eax
call ebx
mov eax, dword [edi + 0x60434]
mov ecx, dword [edi + 0x70454]
cmp eax, ecx
jne 0x402c57
test eax, eax
je 0x402c49
cmp eax, 4
je 0x402c49
cmp eax, 2
jne 0x402c57
test ecx, ecx
je 0x402c6c
cmp ecx, 4
je 0x402c6c
cmp ecx, 2
je 0x402c6c
mov ecx, dword [ebp - 4]
push 0x40000260
mov ebx, 0x30
call fcn.00402250
add esp, 4
cmp dword [edi + 0x70488], 0
je 0x402c8a
mov ecx, dword [ebp - 4]
push 0x40000261
mov ebx, 0x30
call fcn.00402250
add esp, 4
mov ebx, dword [edi + 0x40418]
test ebx, ebx
je 0x402c9c
mov esi, dword [edi + 0x40414]
jmp 0x402cc7
mov ebx, dword [edi + 0x40410]
mov esi, dword [edi + 0x403f8]
test ebx, ebx
je 0x402d24
mov ecx, dword [0x42621c]
push 0
push 1
push 0xf1
push 0x403
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test ebx, ebx
je 0x402d24
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0xc]
call fcn.0040ab80
add esp, 4
test eax, eax
je 0x402cff
mov ecx, dword [ebp - 4]
push str.invgate_dlg__
push str.environment
push 0xc00003eb
mov ebx, 0x30
call fcn.00402250
add esp, 0xc
jmp 0x402d24
mov esi, dword [ebp + 8]
mov eax, dword [0x42621c]
push esi
push 0x402
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [edi + 0x40410], 0
je 0x402d4b
cmp dword [edi + 0x40418], 0
je 0x402d4b
mov ecx, dword [ebp - 4]
push 0x40000262
mov ebx, 0x30
call fcn.00402250
add esp, 4
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea ecx, [ebp - 0x28]
push ecx
call esi
test eax, eax
je 0x402d9e
mov edi, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ecx]
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x28]
push edx
push eax
call edi
test eax, eax
jne 0x402d8e
lea ecx, [ebp - 0x28]
push ecx
call ebx
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x28]
push eax
call esi
test eax, eax
jne 0x402d70
mov eax, dword [ebp - 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret