Function at 0x40874f
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x432034]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, 0x3ee
mov esi, ecx
push ebx
push dword [esi + 4]
call edi
push eax
push 0xf
call fcn.0040869e
mov eax, dword [esi + 0x50]
cmp dword [eax - 0xc], 0
mov dword [esp + 0xc], 0x1c
je 0x4087aa
push ebx
push dword [esi + 4]
call edi
push eax
push 0xc
call fcn.0040869e
mov eax, dword [esi + 0x4c]
add eax, 0x19
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x54]
cmp dword [eax - 0xc], 0
je 0x40881f
push ebx
push dword [esi + 4]
call edi
push eax
push 0xc
call fcn.0040869e
mov eax, dword [esi + 0x50]
cmp dword [eax - 0xc], 0
mov dword [esp + 0xc], 0x19
je 0x4087dc
mov eax, dword [esi + 0x4c]
add eax, 0x19
mov dword [esp + 0xc], eax
push 0x3fc
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
jl 0x4087ff
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408804
push 0
push eax
call ebx
push dword [esi + 0x54]
push 0x3fc
push dword [esi + 4]
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
add dword [esp + 0xc], 0xa
jmp 0x408834
push 0x3fc
push dword [esi + 4]
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
add dword [esp + 0xc], 0xa
mov eax, dword [esp + 0xc]
cdq
sub eax, edx
sar eax, 1
add eax, 0xfffffff1
jns 0x40884e
and dword [esp + 0x10], 0
jmp 0x408852
mov dword [esp + 0x10], eax
push 0x419
push dword [esi + 4]
call edi
cmp dword [esp + 0x10], 0
jl 0x40886f
push eax
push dword [esp + 0x14]
call fcn.0040869e
jmp 0x408874
push 0
push eax
call ebx
push 0x3fd
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408891
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408896
push 0
push eax
call ebx
add dword [esp + 0xc], 5
push 0x3fb
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x4088b8
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x4088bd
push 0
push eax
call ebx
push 0x421
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x4088da
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x4088df
push 0
push eax
call ebx
add dword [esp + 0xc], 0x13
call fcn.004010c5
mov eax, dword [eax]
cmp dword [eax + 0x5f8], 0
jne 0x408916
push 0x41a
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408911
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408916
push 0
push eax
call ebx
add dword [esp + 0xc], 0xd
cmp dword [esi + 0x18], 0
push 0x3eb
push dword [esi + 4]
je 0x408972
call edi
cmp dword [esp + 0xc], 0
jl 0x40893e
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408943
push 0
push eax
call ebx
push 0x3ea
push dword [esi + 4]
call edi
mov ecx, dword [esp + 0xc]
add ecx, 2
js 0x408966
push eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
call fcn.0040869e
jmp 0x40896b
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
jmp 0x408988
call edi
push 0
push eax
call ebx
push 0x3ea
push dword [esi + 4]
call edi
push 0
push eax
call ebx
add dword [esp + 0xc], 2
push 0x41d
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x4089aa
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x4089af
push 0
push eax
call ebx
add dword [esp + 0xc], 0x32
push 0x3f8
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x4089d1
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x4089d6
push 0
push eax
call ebx
push 0x3f4
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x4089f3
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x4089f8
push 0
push eax
call ebx
push 0x420
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408a15
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408a1a
push 0
push eax
call ebx
push 0x3f9
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408a37
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408a3c
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
cmp dword [esi + 0x28], 0
push 0x3f5
push dword [esi + 4]
je 0x408a92
call edi
cmp dword [esp + 0xc], 0
jl 0x408a64
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408a69
push 0
push eax
call ebx
push 0x3fa
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408a86
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408a8b
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
jmp 0x408aa8
call edi
push 0
push eax
call ebx
push 0x3fa
push dword [esi + 4]
call edi
push 0
push eax
call ebx
cmp dword [esi + 0x10], 0
push 0x402
push dword [esi + 4]
je 0x408c62
cmp dword [esi + 0x28], 0
je 0x408b03
call edi
cmp dword [esp + 0xc], 0
jl 0x408ad5
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408ada
push 0
push eax
call ebx
push 0x403
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408af7
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408afc
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
jmp 0x408b19
call edi
push 0
push eax
call ebx
push 0x403
push dword [esi + 4]
call edi
push 0
push eax
call ebx
cmp dword [esi + 0x2c], 0
je 0x408b70
cmp dword [esi + 0x28], 0
je 0x408b70
push 0x3f6
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408b42
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408b47
push 0
push eax
call ebx
push 0x3ff
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408b64
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408b69
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
jmp 0x408b8e
push 0x3f6
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3ff
push dword [esi + 4]
call edi
push 0
push eax
call ebx
cmp dword [esi + 0x30], 0
je 0x408be5
cmp dword [esi + 0x28], 0
je 0x408be5
push 0x3f7
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408bb7
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408bbc
push 0
push eax
call ebx
push 0x400
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408bd9
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408bde
push 0
push eax
call ebx
add dword [esp + 0xc], 0xf
jmp 0x408c03
push 0x3f7
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x400
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3f2
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408c20
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408c25
push 0
push eax
call ebx
add dword [esp + 0xc], 0x2f
push 0x3fe
push dword [esi + 4]
call edi
push 0
push eax
call ebx
add dword [esp + 0xc], 5
push 0x41b
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408ce7
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408cec
call edi
push 0
push eax
call ebx
push 0x403
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3f6
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3ff
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3f7
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x400
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3f2
push dword [esi + 4]
call edi
push 0
push eax
call ebx
push 0x3fe
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408c34
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408c39
push 0
push eax
call ebx
push 1
push dword [esi + 4]
call edi
cmp dword [esp + 0xc], 0
jl 0x408d06
push eax
push dword [esp + 0x10]
call fcn.0040869e
jmp 0x408d0b
push 0
push eax
call ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x24], ebx
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x14], ebx
lea edi, [esp + 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esp + 0xc]
add eax, 0x10
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MapDialogRect]
lea eax, [esp + 0x14]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0x34]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x20]
push 0x16
sub eax, dword [esp + 0x3c]
add eax, dword [esp + 0x44]
add eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
push eax
push ebx
push ebx
push ebx
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push ebx
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041f212
mov esp, ebp
pop ebp
ret