Function at 0x41f5d0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x2c
test eax, eax
push ebx
push ebp
push esi
push edi
mov esi, ecx
jne 0x41fb97
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
cmp eax, 1
jne 0x41f610
push 1
call fcn.0041f580
push ebp
mov ecx, esi
call fcn.00420000
mov dword [ebx], eax
jmp 0x41f8e4
cmp eax, 0x10
jne 0x41f62a
push 1
mov ecx, esi
call fcn.0041f580
mov ecx, esi
call fcn.00421530
jmp 0x41f8de
cmp eax, 0x111
jne 0x41f753
cmp di, 0xe140
jne 0x41f652
mov ecx, esi
call fcn.00420020
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 1
jne 0x41f66e
mov ecx, esi
call fcn.00420030
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 2
jne 0x41f68a
mov ecx, esi
call fcn.00420040
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x68
jne 0x41f6a6
mov ecx, esi
call fcn.004204c0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x69
jne 0x41f6c2
mov ecx, esi
call fcn.004204f0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x71
jne 0x41f6de
mov ecx, esi
call fcn.004205c0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x6a
jne 0x41f6fa
mov ecx, esi
call fcn.004206d0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x7d
jne 0x41f716
mov ecx, esi
call fcn.00420900
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x6c
jne 0x41f732
mov ecx, esi
call fcn.00420790
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp di, 0x85
jne 0x41f902
mov ecx, esi
call fcn.00421560
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp eax, 0x18
jne 0x41f76f
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
mov ecx, esi
call fcn.004215e0
jmp 0x41f8de
cmp eax, 0x112
jne 0x41f799
push 1
mov ecx, esi
call fcn.0041f580
mov ecx, ebp
shr ecx, 0x10
movsx ecx, cx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.004217a0
jmp 0x41f8de
cmp eax, 3
jne 0x41f7d1
push 1
mov ecx, esi
call fcn.0041f580
mov eax, dword [esi + 0x18]
test eax, eax
je 0x41f8de
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
push edx
mov edx, dword [eax + 4]
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esi + 0x1c]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_CallWindowProcW]
jmp 0x41f8de
cmp eax, 5
jne 0x41f7f9
push 1
mov ecx, esi
call fcn.0041f580
mov edx, ebp
shr edx, 0x10
movsx ecx, dx
movsx eax, bp
push ecx
push eax
push edi
mov ecx, esi
call fcn.00420d60
jmp 0x41f8de
cmp eax, 2
jne 0x41f813
push 1
mov ecx, esi
call fcn.0041f580
mov ecx, esi
call fcn.00420f20
jmp 0x41f8de
cmp eax, 0x11
jne 0x41f82c
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
mov ecx, esi
call fcn.00421540
jmp 0x41f8aa
cmp eax, 0x7e9
jne 0x41f84c
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
push 0x7e9
mov ecx, esi
call fcn.00420f40
jmp 0x41f8aa
cmp eax, 0x7ea
jne 0x41f86c
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
push 0x7ea
mov ecx, esi
call fcn.00421a10
jmp 0x41f8aa
cmp eax, 0x7eb
jne 0x41f88c
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
push 0x7eb
mov ecx, esi
call fcn.00421a30
jmp 0x41f8aa
cmp eax, 0x7ec
jne 0x41f8c6
push 1
mov ecx, esi
call fcn.0041f580
push ebp
push edi
push 0x7ec
mov ecx, esi
call fcn.00421b10
mov ecx, esi
mov dword [ebx], eax
call fcn.0041f570
test eax, eax
je 0x41f8fe
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp eax, 0x113
jne 0x41f902
push 1
mov ecx, esi
call fcn.0041f580
push edi
mov ecx, esi
call fcn.00421310
mov dword [ebx], 0
mov ecx, esi
call fcn.0041f570
test eax, eax
je 0x41f8fe
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
mov eax, dword [esp + 0x44]
cmp eax, 5
lea ecx, [esi + 0x40]
jne 0x41fb65
test ecx, ecx
je 0x41f917
lea esi, [ecx - 0x40]
jmp 0x41f919
xor esi, esi
mov al, byte [ecx + 0x1c]
test al, al
je 0x41f94e
mov eax, dword [esi + 4]
push 0xe801
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp edi, 2
jne 0x41f93f
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x41f957
test edi, edi
jne 0x41f94e
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x41f957
cmp edi, 1
je 0x41fb82
mov ecx, ebp
lea edi, [esi + 0x40]
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 0x41f97a
lea ebp, [edi - 0x40]
jmp 0x41f97c
xor ebp, ebp
mov ecx, dword [ebp + 4]
push 0xfffffffffffffff0
push ecx
mov dword [esp + 0x18], ebp
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x41f9b7
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x41f9b7
mov ecx, dword [edi + 0x18]
cmp ecx, 0xffffffff
je 0x41f9b7
cmp dword [esp + 0x54], eax
jge 0x41f9ad
mov dword [esp + 0x54], eax
cmp dword [esp + 0x44], ecx
jge 0x41f9b7
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 0x41f9db
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 0x41fb29
xor edx, edx
jmp 0x41f9fe
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
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 0x41fadd
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 0x41fa8c
lea eax, [ecx + 0x24]
lea ecx, [ebx - 1]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax - 4]
cmp dword [esp + 0x1c], ecx
jl 0x41fa58
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax]
cmp ebp, ecx
jl 0x41fa64
mov ebp, ecx
mov dword [esp + 0x20], ebp
mov ecx, dword [eax + 4]
cmp edi, ecx
jg 0x41fa71
mov edi, ecx
mov dword [esp + 0x24], edi
mov ecx, dword [eax + 8]
cmp edx, ecx
jg 0x41fa7e
mov edx, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
add eax, 0x18
dec ecx
mov dword [esp + 0x14], ecx
jne 0x41fa4b
xor edi, edi
test ebx, ebx
jle 0x41fad3
mov edx, dword [esp + 0x10]
lea ebp, [edx + 0x40]
xor eax, eax
test edi, edi
jle 0x41faa9
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.00422430
inc edi
add esi, 0x18
cmp edi, ebx
jl 0x41fa99
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + ebx - 1]
jmp 0x41fb0b
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 + 0x40]
call fcn.00422430
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
inc ebx
mov dword [esp + 0x4c], ebx
cmp ebx, dword [edx + 4]
jl 0x41f9f0
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x41fb3d
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]
pop edi
pop esi
mov dword [ebx], 0
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
cmp eax, 0x24
jne 0x41fb97
cmp dword [ecx + 0x14], 0xffffffff
je 0x41fb82
cmp dword [ecx + 0x18], 0xffffffff
je 0x41fb82
mov edx, dword [ecx + 0x14]
mov dword [ebp + 0x18], edx
mov eax, dword [ecx + 0x18]
mov dword [ebp + 0x1c], eax
pop edi
pop esi
mov dword [ebx], 0
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret 0x18