Function at 0x404de7
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x428008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x429ac4]
push edi
movzx edi, word [ebp + 8]
cmp edi, 2
jne 0x404d7d
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EndDialog]
cmp dword [esi + 0x5ec], 0x3ed
mov ebx, dword [sym.imp.USER32.dll_GetParent]
jne 0x404dc3
cmp edi, 0x3ed
je 0x404dc3
mov byte [esi + 0x5f4], 1
mov eax, dword [0x429abc]
cmp dword [eax + 0xbc], 0
je 0x404dca
push 0
push 0
push 0x202
push dword [esi + 4]
call ebx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x404dca
mov byte [esi + 0x5f4], 0
lea eax, [edi - 0x3e8]
cmp eax, 9
ja case.default.0x404de0
movzx eax, byte [eax + 0x405074]
jmp dword [eax*4 + 0x40506c]
push 0
mov dword [esi + 0x5ec], edi
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push dword [esi + 0x40c]
mov byte [esi + 0x5e8], 1
mov dword [esi + 0x418], 0
call edi
push 0
push 0
push dword [esi + 0x43c]
mov dword [esi + 0x448], 0
call edi
push 0
push 0
push dword [esi + 0x46c]
mov dword [esi + 0x478], 0
call edi
push 0
push 0
push dword [esi + 0x49c]
mov dword [esi + 0x4a8], 0
call edi
push 0
push 0
push dword [esi + 0x4cc]
mov dword [esi + 0x4d8], 0
call edi
push 0
push 0
push dword [esi + 0x4fc]
mov dword [esi + 0x508], 0
call edi
cmp dword [esi + 0x5ec], 0x3e8
jne 0x404ea0
push 0
push 0
push dword [esi + 0x40c]
mov dword [esi + 0x418], 2
call edi
cmp dword [esi + 0x5ec], 0x3e9
jne 0x404ec2
push 0
push 0
push dword [esi + 0x43c]
mov dword [esi + 0x448], 2
call edi
cmp dword [esi + 0x5ec], 0x3ea
jne 0x404ee4
push 0
push 0
push dword [esi + 0x46c]
mov dword [esi + 0x478], 2
call edi
cmp dword [esi + 0x5ec], 0x3eb
jne 0x404f06
push 0
push 0
push dword [esi + 0x49c]
mov dword [esi + 0x4a8], 2
call edi
cmp dword [esi + 0x5ec], 0x3ec
jne 0x404f28
push 0
push 0
push dword [esi + 0x4cc]
mov dword [esi + 0x4d8], 2
call edi
cmp dword [esi + 0x5ec], 0x3ed
jne 0x404f4a
push 0
push 0
push dword [esi + 0x4fc]
mov dword [esi + 0x508], 2
call edi
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0xc]
mov edi, dword [esi + 0x5ec]
test eax, eax
jne 0x404f7c
mov eax, dword [0x429abc]
push ebx
push 0x402d10
push dword [eax + 4]
push 0x85
push dword [0x429688]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [ebx + 4], eax
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebx + 0xc], edi
lea eax, [ebp - 0x14]
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebx + 8], 1
push eax
mov eax, dword [0x429abc]
push dword [eax + 0xc8]
call edi
mov esi, dword [sym.imp.USER32.dll_MapWindowPoints]
lea eax, [ebp - 0x14]
push 2
push eax
mov eax, dword [0x429abc]
push dword [eax + 4]
push 0
call esi
lea eax, [ebp - 0x24]
push eax
push dword [ebx + 4]
call edi
push 2
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x429abc]
push dword [eax + 4]
push 0
call esi
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
add eax, 2
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov edi, dword [0x429690]
mov dword [ebp - 0x28], eax
mov eax, edx
sub eax, esi
add eax, ecx
cmp eax, edi
jle 0x405001
mov ecx, edi
sub ecx, edx
add ecx, esi
push 0x45
push 0
push 0
push dword [ebp - 0x28]
push ecx
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, ebx
call fcn.00402a30
jmp case.default.0x404de0
cmp byte [esi + 0x5f4], 0
mov eax, dword [esi + 4]
mov dword [esi + 0x5f0], edi
push 0
je 0x405046
push 0xc8
push 0x3001
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x404de0
push edi
push 0x1401
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00409972
mov esp, ebp
pop ebp
ret 8