Function at 0x6445b4
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xe4]
test byte [ebx + 0x1c], 8
jne 0x6445dd
call fcn.0062bd34
cmp ebx, eax
jne 0x644636
cmp esi, 2
jne 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0x51], 0
jne 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0x12b], 0
je 0x644610
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 4]
call fcn.0064971c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x12a], 0
je 0x644d41
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xcc]
mov eax, dword [ebp - 4]
call fcn.0064ad6c
jmp 0x644d41
mov eax, esi
cmp eax, 0x46
jg 0x64467f
je 0x644d2b
cmp eax, 0x1a
jg 0x644668
je 0x644b25
dec eax
je 0x644883
sub eax, 5
je 0x6446bc
sub eax, 0xf
je 0x644b51
jmp 0x644d41
sub eax, 0x1c
je 0x6447dd
sub eax, 6
je 0x644871
jmp 0x644d41
cmp eax, 0x7e
jg 0x6446a1
je 0x644920
sub eax, 0x47
je 0x644ccb
sub eax, 0xc
je 0x64492d
jmp 0x644d41
sub eax, 0x112
je 0x644bd7
sub eax, 0x110
je 0x644af2
jmp 0x644d41
mov bx, word [ebp - 8]
test bx, bx
jne 0x6446f6
mov eax, dword [ebp + 8]
call fcn.00494558
mov edx, dword [0x635aec]
call fcn.0040439c
test al, al
je 0x6446f6
mov eax, dword [ebp + 8]
call fcn.00494558
mov edi, eax
mov eax, edi
call fcn.006536a4
cmp eax, dword [ebp - 4]
je 0x644d41
test bx, bx
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0xe8], al
push ebp
mov ecx, dword [ebp + 8]
xor edx, edx
call fcn.00644590
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
test eax, eax
je 0x64475b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
call fcn.00639ff8
test eax, eax
je 0x64475b
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
call fcn.00639ff8
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.006445b4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13c], 0
jne 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0xe8], 0
je 0x644d41
call fcn.0062bd34
test eax, eax
je 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0xd1], 0
je 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004a0e60
push eax
call sub.user32.dll_IsWindowEnabled
test eax, eax
jne 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004a0e60
push eax
mov eax, dword [ebp - 8]
push eax
push esi
call fcn.0062bd34
call fcn.004a0e60
push eax
call sub.user32.dll_SendMessageA
jmp 0x644d41
cmp dword [ebp - 8], 0
jne 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
test eax, eax
je 0x644831
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
call fcn.00639ff8
test eax, eax
je 0x644831
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
call fcn.004b8650
call fcn.00639ff8
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.006445b4
push ebp
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00644590
pop ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x120]
test ebx, ebx
je 0x644862
push 0
push 0
push 0x2a3
mov eax, dword [ebx + 0x20]
call fcn.004a0e60
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00642e04
jmp 0x644d41
push ebp
xor ecx, ecx
xor edx, edx
mov al, 1
call fcn.00644590
pop ecx
jmp 0x644d41
mov eax, dword [ebp - 4]
call fcn.0064600c
test al, al
je 0x644d41
mov eax, dword [ebp - 4]
mov byte [eax + 0xd2], 1
xor eax, eax
push ebp
push 0x644919
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00642204
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x6448e3
inc ebx
xor edi, edi
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.006421f0
call fcn.004fe7fc
test al, al
je 0x6448df
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.006421f0
call fcn.004a0e28
inc edi
dec ebx
jne 0x6448bd
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006460b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x644d41
mov eax, dword [ebp - 4]
call fcn.006423c8
test eax, eax
jne 0x64490e
mov eax, dword [ebp - 4]
call fcn.00646000
mov eax, dword [ebp - 4]
mov byte [eax + 0xd2], 0
ret
mov eax, dword [ebp - 4]
call fcn.006453c4
jmp 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0x51], 0
jne 0x644d41
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 1
jne 0x644d41
xor esi, esi
call fcn.00639fe4
test eax, eax
je 0x644a06
call fcn.00639fe4
mov ebx, eax
mov esi, dword [ebx + 0x25c]
test esi, esi
je 0x644993
mov eax, esi
call fcn.00663030
cmp dword [eax + 0x5c], 0
jne 0x644a4a
jmp 0x644993
mov esi, dword [edi + 0x2c4]
mov ebx, dword [ebx + 0x254]
mov eax, esi
call fcn.00663030
cmp dword [eax + 0x5c], 0
jne 0x64499e
mov edi, ebx
cmp dword [edi + 0x254], 0
jne 0x64497a
test esi, esi
je 0x6449b3
mov eax, esi
call fcn.00663030
cmp dword [eax + 0x5c], 0
jne 0x644a4a
mov eax, dword [ebp - 4]
call fcn.006484ec
mov ebx, dword [ebx + 0x158]
test ebx, ebx
je 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
test byte [eax + 0x228], 8
je 0x6449f3
mov eax, dword [0x74c914]
mov eax, dword [eax]
mov ecx, ebx
mov edx, 8
call fcn.004c06a0
jmp 0x644d41
mov eax, dword [0x74c914]
mov eax, dword [eax]
mov edx, ebx
call fcn.004c060c
jmp 0x644d41
mov eax, dword [edi + 0xc]
call fcn.00494558
mov ebx, eax
mov eax, ebx
mov edx, dword [0x635aec]
call fcn.0040439c
test al, al
je 0x644a4a
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
mov eax, ebx
call fcn.004a0e60
push eax
call sub.user32.dll_ScreenToClient
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.00655248
mov esi, eax
test esi, esi
je 0x644d41
mov eax, dword [esi + 0x18]
lea edi, [eax + 0x1c]
mov eax, dword [edi]
add eax, dword [edi + 8]
sar eax, 1
jns 0x644a64
adc eax, 0
lea ecx, [ebp - 0x10]
mov edx, dword [edi + 0xc]
call fcn.00424358
lea eax, [ebp - 0x10]
push eax
mov eax, ebx
call fcn.004a0e60
push eax
call sub.user32.dll_ClientToScreen
mov eax, esi
call fcn.00663030
mov ebx, dword [eax + 0x5c]
mov eax, dword [ebp - 4]
call fcn.006484ec
test ebx, ebx
je 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
test byte [eax + 0x228], 8
je 0x644adf
lea eax, [ebp - 0x10]
call fcn.00408f0c
mov ecx, eax
mov eax, dword [0x74c914]
mov eax, dword [eax]
mov edx, 0xd
call fcn.004c06a0
mov eax, dword [0x74c914]
mov eax, dword [eax]
mov ecx, ebx
mov edx, 8
call fcn.004c06a0
jmp 0x644d41
mov eax, dword [0x74c914]
mov eax, dword [eax]
mov edx, ebx
call fcn.004c060c
jmp 0x644d41
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xe4]
cmp byte [ebx + 0x22f], 1
jne 0x644d41
push ebp
mov eax, ebx
call fcn.004a0e60
cmp eax, dword [ebp + 8]
sete al
xor ecx, ecx
xor edx, edx
call fcn.00644590
pop ecx
jmp 0x644d41
mov eax, dword [ebp - 8]
sub eax, 0x2a
je 0x644b37
sub eax, 5
je 0x644b44
jmp 0x644d41
mov eax, dword [ebp - 4]
call fcn.00646100
jmp 0x644d41
mov eax, dword [ebp - 4]
call fcn.006453c4
jmp 0x644d41
call fcn.0063a6d8
call fcn.0063a728
mov eax, dword [ebp - 4]
call fcn.00645d78
mov eax, dword [ebp - 4]
call fcn.00645d98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe4]
cmp byte [eax + 0x22f], 2
jne 0x644d41
mov eax, dword [0x74e81c]
call fcn.0064b57c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x644d41
inc ebx
xor edi, edi
mov edx, edi
mov eax, dword [0x74e81c]
call fcn.0064b550
mov eax, dword [eax + 0xe4]
cmp byte [eax + 0x22f], 1
jne 0x644bce
mov eax, dword [ebp + 8]
push eax
mov edx, edi
mov eax, dword [0x74e81c]
call fcn.0064b550
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.006445b4
inc edi
dec ebx
jne 0x644b99
jmp 0x644d41
cmp dword [ebp - 8], 0xf060
jne 0x644c0e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x51], 0
je 0x644c0e
call fcn.00639fe4
test eax, eax
je 0x644c0e
call fcn.00639fe4
call fcn.006536a4
cmp eax, dword [ebp - 4]
jne 0x644c0e
call fcn.00639fe4
mov edx, dword [eax]
call dword [edx + 0x178]
cmp dword [ebp - 8], 0xf020
je 0x644c36
cmp dword [ebp - 8], 0xf030
je 0x644c36
cmp dword [ebp - 8], 0xf120
je 0x644c36
cmp dword [ebp - 8], 0xf060
jne 0x644d41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00427f18
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x644d41
inc ebx
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, edi
call fcn.0064d070
mov esi, eax
cmp byte [esi + 0x85], 0
je 0x644cc5
mov eax, esi
call fcn.0064b810
test eax, eax
je 0x644cc5
mov eax, esi
call fcn.0064b82c
test al, al
jne 0x644cc5
mov eax, esi
call fcn.0064b810
mov esi, eax
cmp dword [ebp - 8], 0xf020
je 0x644c98
cmp dword [ebp - 8], 0xf060
jne 0x644ca9
push 0
mov eax, esi
call fcn.004a0e60
push eax
call sub.user32.dll_ShowWindow
jmp 0x644cc5
push 4
mov eax, esi
call fcn.004a0e60
push eax
call sub.user32.dll_ShowWindow
mov eax, esi
call fcn.004a0e60
push eax
call sub.user32.dll_UpdateWindow
inc edi
dec ebx
jne 0x644c4f
jmp 0x644d41
mov eax, dword [ebp - 4]
cmp byte [eax + 0xd1], 0
je 0x644d41
call fcn.0062bd34
test eax, eax
je 0x644d41
call fcn.0062bd34
mov ebx, dword [ebp + 8]
mov edx, ebx
call fcn.0063090c
call fcn.00629520
test eax, eax
je 0x644d41
mov eax, dword [ebx + 0x18]
test al, 0x40
je 0x644d13
push 8
call fcn.00629520
call fcn.004a0e60
push eax
call sub.user32.dll_ShowWindow
jmp 0x644d41
test al, 0x80
je 0x644d41
push 0
call fcn.00629520
call fcn.004a0e60
push eax
call sub.user32.dll_ShowWindow
jmp 0x644d41
mov eax, dword [ebp + 8]
test byte [eax + 0x18], 0x80
je 0x644d41
push ebp
xor ecx, ecx
mov dl, 1
xor eax, eax
call fcn.00644590
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4