Function at 0x415320
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x48]
push ebx
push ebp
push esi
test eax, eax
push edi
mov esi, ecx
mov dword [esp + 0x10], 1
jne 0x4158d4
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
cmp eax, 0x110
jne 0x41537e
push 1
call fcn.004152d0
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x60], esp
push edi
call fcn.0040a490
mov ecx, esi
call fcn.00415af0
mov ecx, esi
mov dword [ebx], eax
call fcn.004152c0
jmp 0x415626
cmp eax, 0xf
jne 0x4153ae
push 1
mov ecx, esi
call fcn.004152d0
push ecx
mov ecx, esi
mov eax, esp
mov dword [esp + 0x5c], esp
mov dword [eax], edi
call fcn.00415fc0
mov ecx, esi
mov dword [ebx], 0
call fcn.004152c0
jmp 0x415626
cmp eax, 0x111
jne 0x415499
cmp di, 1
jne 0x4153dd
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00415f20
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp di, 2
jne 0x415401
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00415f30
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp di, 0x3e9
jne 0x415426
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00415f40
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp di, 0x3e8
jne 0x41544b
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00417cd0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp di, 0x1f8
jne 0x415470
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00416220
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp di, 0x1fa
jne 0x41563d
mov ecx, esi
mov dword [esp + 0x10], 1
call fcn.00416230
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp eax, 0x464
jne 0x4154c5
push 1
mov ecx, esi
call fcn.004152d0
push ebp
push edi
push 0x464
mov ecx, esi
call fcn.00417060
mov ecx, esi
mov dword [ebx], eax
call fcn.004152c0
jmp 0x415626
cmp eax, 0x7e9
jne 0x4154e5
push 1
push ebp
push edi
push eax
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00417320
jmp 0x415620
cmp eax, 0x7e8
jne 0x415505
push 1
push ebp
push edi
push eax
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00417da0
jmp 0x415620
cmp eax, 0x9dd
jne 0x415525
push 1
push ebp
push edi
push eax
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00416d60
jmp 0x415620
cmp eax, 0x8c7
jne 0x415545
push 1
push ebp
push edi
push eax
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00417ea0
jmp 0x415620
cmp eax, 0x201
jne 0x41556c
push 1
mov ecx, esi
call fcn.004152d0
mov ecx, ebp
shr ecx, 0x10
movsx ecx, cx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.00416af0
jmp 0x4155a9
cmp eax, 5
jne 0x415591
push 1
mov ecx, esi
call fcn.004152d0
mov edx, ebp
shr edx, 0x10
movsx ecx, dx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.00416a60
jmp 0x4155a9
cmp eax, 0x113
jne 0x4155c9
push 1
mov ecx, esi
call fcn.004152d0
push edi
mov ecx, esi
call fcn.00416c50
mov ecx, esi
mov dword [ebx], 0
call fcn.004152c0
test eax, eax
je 0x415639
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp eax, 0x14
jne 0x415603
push 1
mov ecx, esi
call fcn.004152d0
push ecx
mov ecx, esi
mov eax, esp
mov dword [esp + 0x5c], esp
mov dword [eax], edi
call fcn.00416d50
mov ecx, esi
mov dword [ebx], eax
call fcn.004152c0
test eax, eax
je 0x415639
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
cmp eax, 0x10
jne 0x41563d
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebp
push edi
push 0x10
mov dword [esp + 0x20], 1
call fcn.00417e60
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x415639
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
mov eax, dword [esp + 0x48]
cmp eax, 5
lea ecx, [esi + 0x7c]
jne 0x4158a2
test ecx, ecx
je 0x415652
lea esi, [ecx - 0x7c]
jmp 0x415654
xor esi, esi
mov al, byte [ecx + 0x1c]
test al, al
je 0x415689
mov ecx, dword [esi + 4]
push 0xe801
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp edi, 2
jne 0x41567a
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x415692
test edi, edi
jne 0x415689
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x415692
cmp edi, 1
je 0x4158bf
mov edx, ebp
lea edi, [esi + 0x7c]
shr edx, 0x10
movsx eax, dx
movsx ecx, bp
test edi, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edi
je 0x4156b5
lea ebp, [edi - 0x7c]
jmp 0x4156b7
xor ebp, ebp
mov edx, dword [ebp + 4]
push 0xfffffffffffffff0
push edx
mov dword [esp + 0x1c], ebp
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x4156f2
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x4156f2
mov ecx, dword [edi + 0x18]
cmp ecx, 0xffffffff
je 0x4156f2
cmp dword [esp + 0x58], eax
jge 0x4156e8
mov dword [esp + 0x58], eax
cmp dword [esp + 0x48], ecx
jge 0x4156f2
mov dword [esp + 0x48], ecx
mov eax, dword [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x415716
mov ecx, dword [ebp + 4]
push 0
push 0
push 0xb
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 4]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x50], eax
jle 0x415866
xor edx, edx
jmp 0x415739
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
xor edx, edx
lea esi, [eax + eax*2]
mov eax, dword [edi]
shl esi, 3
lea ecx, [esi + eax]
mov eax, dword [esi + eax + 4]
test ah, 0x10
je 0x41581a
shr eax, 0x10
and eax, 0xff
lea edx, [ecx + 8]
mov ebx, eax
mov eax, dword [edx]
cmp ebx, 1
mov dword [esp + 0x20], eax
mov ebp, dword [edx + 4]
mov dword [esp + 0x24], ebp
mov edi, dword [edx + 8]
mov dword [esp + 0x28], edi
mov edx, dword [edx + 0xc]
mov dword [esp + 0x2c], edx
jle 0x4157c9
lea eax, [ecx + 0x24]
lea ecx, [ebx - 1]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax - 4]
cmp dword [esp + 0x20], ecx
jl 0x415795
mov dword [esp + 0x20], ecx
mov ecx, dword [eax]
cmp ebp, ecx
jl 0x4157a1
mov ebp, ecx
mov dword [esp + 0x24], ebp
mov ecx, dword [eax + 4]
cmp edi, ecx
jg 0x4157ae
mov edi, ecx
mov dword [esp + 0x28], edi
mov ecx, dword [eax + 8]
cmp edx, ecx
jg 0x4157bb
mov edx, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x18]
add eax, 0x18
dec ecx
mov dword [esp + 0x18], ecx
jne 0x415788
xor edi, edi
test ebx, ebx
jle 0x415810
mov edx, dword [esp + 0x14]
lea ebp, [edx + 0x7c]
xor eax, eax
test edi, edi
jle 0x4157e6
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
lea eax, [ecx + esi - 0x18]
mov edx, dword [esp + 0x4c]
push eax
push 1
lea ecx, [esp + 0x28]
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
add eax, esi
push eax
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.00418720
inc edi
add esi, 0x18
cmp edi, ebx
jl 0x4157d6
mov ecx, dword [esp + 0x50]
lea ebx, [ecx + ebx - 1]
jmp 0x415848
mov eax, dword [esp + 0x48]
push edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
push edx
lea edx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push eax
push ecx
lea ecx, [ebp + 0x7c]
call fcn.00418720
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
inc ebx
mov dword [esp + 0x50], ebx
cmp ebx, dword [edx + 4]
jl 0x41572b
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x41587a
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, 0x30
ret 0x18
cmp eax, 0x24
jne 0x4158d4
cmp dword [ecx + 0x14], 0xffffffff
je 0x4158bf
cmp dword [ecx + 0x18], 0xffffffff
je 0x4158bf
mov edx, dword [ecx + 0x14]
mov dword [ebp + 0x18], edx
mov eax, dword [ecx + 0x18]
mov dword [ebp + 0x1c], eax
mov dword [ebx], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret 0x18