Function at 0x40a110
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x2c
mov eax, dword [esp + 0x44]
push ebx
push ebp
push esi
test eax, eax
push edi
mov esi, ecx
mov dword [esp + 0x10], 1
jne 0x40a717
mov eax, dword [esi + 0x698]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
test eax, eax
je 0x40a160
mov edx, dword [esp + 0x44]
mov ecx, dword [eax]
push 0
push ebx
push ebp
push edi
push edx
mov edx, dword [esp + 0x54]
push edx
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x44]
cmp ecx, 0x110
jne 0x40a194
push 1
mov ecx, esi
call fcn.0040a0c0
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push edi
call fcn.00406b30
mov ecx, esi
call fcn.0040a940
mov ecx, esi
mov dword [ebx], eax
call fcn.0040a0b0
jmp 0x40a46b
cmp ecx, 0xf
jne 0x40a1c4
push 1
mov ecx, esi
call fcn.0040a0c0
push ecx
mov ecx, esi
mov eax, esp
mov dword [esp + 0x58], esp
mov dword [eax], edi
call fcn.0040af20
mov ecx, esi
mov dword [ebx], 0
call fcn.0040a0b0
jmp 0x40a46b
cmp ecx, 0x111
jne 0x40a2b0
cmp di, 1
jne 0x40a1f4
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040ae20
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 2
jne 0x40a218
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040ae30
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x3e9
jne 0x40a23d
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040ae40
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x3e8
jne 0x40a262
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040c800
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x1f8
jne 0x40a287
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040b180
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x1fa
jne 0x40a482
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.0040b190
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp ecx, 0x464
jne 0x40a2dd
push 1
mov ecx, esi
call fcn.0040a0c0
push ebp
push edi
push 0x464
mov ecx, esi
call fcn.0040be00
mov ecx, esi
mov dword [ebx], eax
call fcn.0040a0b0
jmp 0x40a46b
cmp ecx, 0x7e9
jne 0x40a2fe
push 1
push ebp
push edi
push ecx
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.0040c0b0
jmp 0x40a465
cmp ecx, 0x7e8
jne 0x40a31f
push 1
push ebp
push edi
push ecx
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.0040c900
jmp 0x40a465
cmp ecx, 0x9dd
jne 0x40a340
push 1
push ebp
push edi
push ecx
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.0040bb00
jmp 0x40a465
cmp ecx, 0x8c7
jne 0x40a361
push 1
push ebp
push edi
push ecx
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.0040ca00
jmp 0x40a465
cmp ecx, 0x201
jne 0x40a389
push 1
mov ecx, esi
call fcn.0040a0c0
mov ecx, ebp
shr ecx, 0x10
movsx ecx, cx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.0040b990
jmp 0x40a3ef
cmp ecx, 0x204
jne 0x40a3b1
push 1
mov ecx, esi
call fcn.0040a0c0
mov edx, ebp
shr edx, 0x10
movsx ecx, dx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.0040ba00
jmp 0x40a3ef
cmp ecx, 5
jne 0x40a3d6
push 1
mov ecx, esi
call fcn.0040a0c0
mov ecx, ebp
shr ecx, 0x10
movsx ecx, cx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.0040b900
jmp 0x40a3ef
cmp ecx, 0x113
jne 0x40a40f
push 1
mov ecx, esi
call fcn.0040a0c0
push edi
mov ecx, esi
call fcn.0040bab0
mov ecx, esi
mov dword [ebx], 0
call fcn.0040a0b0
test eax, eax
je 0x40a47e
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp ecx, 0x14
jne 0x40a449
push 1
mov ecx, esi
call fcn.0040a0c0
push ecx
mov ecx, esi
mov eax, esp
mov dword [esp + 0x58], esp
mov dword [eax], edi
call fcn.0040baf0
mov ecx, esi
mov dword [ebx], eax
call fcn.0040a0b0
test eax, eax
je 0x40a47e
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp ecx, 0x10
jne 0x40a482
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebp
push edi
push ecx
mov ecx, esi
call fcn.0040c9c0
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40a47e
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
mov ecx, dword [esp + 0x44]
cmp ecx, 5
lea eax, [esi + 0x7c]
jne 0x40a6e5
test eax, eax
je 0x40a497
lea esi, [eax - 0x7c]
jmp 0x40a499
xor esi, esi
mov cl, byte [eax + 0x1c]
test cl, cl
je 0x40a4ce
mov eax, dword [esi + 4]
push 0xe801
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp edi, 2
jne 0x40a4bf
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x40a4d7
test edi, edi
jne 0x40a4ce
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x40a4d7
cmp edi, 1
je 0x40a702
mov ecx, ebp
lea edi, [esi + 0x7c]
shr ecx, 0x10
movsx edx, cx
movsx eax, bp
test edi, edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], edi
je 0x40a4fa
lea ebp, [edi - 0x7c]
jmp 0x40a4fc
xor ebp, ebp
mov ecx, dword [ebp + 4]
push 0xfffffffffffffff0
push ecx
mov dword [esp + 0x48], ebp
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x40a537
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x40a537
mov ecx, dword [edi + 0x18]
cmp ecx, 0xffffffff
je 0x40a537
cmp dword [esp + 0x54], eax
jge 0x40a52d
mov dword [esp + 0x54], eax
cmp dword [esp + 0x44], ecx
jge 0x40a537
mov dword [esp + 0x44], ecx
mov edx, dword [ebp + 4]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, eax
test esi, esi
mov dword [esp + 0x18], esi
je 0x40a55b
mov eax, dword [ebp + 4]
push 0
push 0
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 4]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x4c], eax
jle 0x40a6a9
xor edx, edx
jmp 0x40a57e
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [edi]
lea esi, [eax + eax*2]
shl esi, 3
add ecx, esi
mov eax, dword [ecx + 4]
test ah, 0x10
je 0x40a65d
shr eax, 0x10
and eax, 0xff
lea edx, [ecx + 8]
mov ebx, eax
mov eax, dword [edx]
cmp ebx, 1
mov dword [esp + 0x1c], eax
mov ebp, dword [edx + 4]
mov dword [esp + 0x20], ebp
mov edi, dword [edx + 8]
mov dword [esp + 0x24], edi
mov edx, dword [edx + 0xc]
mov dword [esp + 0x28], edx
jle 0x40a60c
lea eax, [ecx + 0x24]
lea ecx, [ebx - 1]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax - 4]
cmp dword [esp + 0x1c], ecx
jl 0x40a5d8
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax]
cmp ebp, ecx
jl 0x40a5e4
mov ebp, ecx
mov dword [esp + 0x20], ebp
mov ecx, dword [eax + 4]
cmp edi, ecx
jg 0x40a5f1
mov edi, ecx
mov dword [esp + 0x24], edi
mov ecx, dword [eax + 8]
cmp edx, ecx
jg 0x40a5fe
mov edx, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
add eax, 0x18
dec ecx
mov dword [esp + 0x14], ecx
jne 0x40a5cb
xor edi, edi
test ebx, ebx
jle 0x40a653
mov edx, dword [esp + 0x40]
lea ebp, [edx + 0x7c]
xor eax, eax
test edi, edi
jle 0x40a629
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
lea eax, [ecx + esi - 0x18]
mov edx, dword [esp + 0x48]
push eax
push 1
lea ecx, [esp + 0x24]
mov eax, dword [edx]
mov edx, dword [esp + 0x4c]
add eax, esi
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0040d170
inc edi
add esi, 0x18
cmp edi, ebx
jl 0x40a619
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + ebx - 1]
jmp 0x40a68b
mov eax, dword [esp + 0x44]
push edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
push edx
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
lea ecx, [ebp + 0x7c]
call fcn.0040d170
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
inc ebx
mov dword [esp + 0x4c], ebx
cmp ebx, dword [edx + 4]
jl 0x40a570
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x40a6bd
mov eax, dword [ebp + 4]
push 0
push 1
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 4]
push 0x185
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
mov dword [ebx], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
cmp ecx, 0x24
jne 0x40a717
cmp dword [eax + 0x14], 0xffffffff
je 0x40a702
cmp dword [eax + 0x18], 0xffffffff
je 0x40a702
mov edx, dword [eax + 0x14]
mov dword [ebp + 0x18], edx
mov eax, dword [eax + 0x18]
mov dword [ebp + 0x1c], eax
mov dword [ebx], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x18