Function at 0x564d34
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd
push 0
push 0
dec ecx
jne 0x564d3c
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x56552b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebx + 0x301], 0
je 0x5654e9
mov eax, dword [ebx + 0x2a8]
test eax, eax
je 0x564d7a
call fcn.004051ec
xor eax, eax
mov dword [ebx + 0x2a8], eax
cmp dword [ebx + 0x2a8], 0
jne 0x5654c6
mov ecx, ebx
mov dl, 1
mov eax, dword [0x499068]
call fcn.004a00d0
mov dword [ebx + 0x2a8], eax
cmp dword [0x666070], 0
je 0x5654c6
mov edi, dword [ebx + 0x28c]
test edi, edi
je 0x564ebd
lea edx, [ebp - 0x28]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x50]
cmp dword [ebp - 0x28], 0
je 0x564ebd
lea edx, [ebp - 0x2c]
mov eax, dword [ebx + 0x28c]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 4]
mov ecx, 0
call fcn.00407860
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
xor ecx, ecx
mov edx, 0x565548
call fcn.005459d4
mov eax, dword [ebp - 8]
call fcn.00407744
push eax
call sub.kernel32.dll_OutputDebugStringA
jmp 0x564eb3
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 8]
call fcn.00407e04
mov edx, dword [ebp - 0x30]
mov eax, 0x565558
call fcn.00408274
dec eax
jne 0x564e3b
lea eax, [ebp - 8]
mov ecx, 3
mov edx, 1
call fcn.0040779c
push 1
push ebx
push 0x563bec
push 0
push 0
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 8]
mov edx, 0x56556c
call fcn.004075b0
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.00407e04
mov eax, dword [ebp - 0x34]
xor ecx, ecx
xor edx, edx
call fcn.004a0340
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x3c]
mov ecx, dword [ebp - 8]
mov edx, 0x565580
call fcn.004075b0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
add eax, 0x58
call fcn.00407e04
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
xor ecx, ecx
mov edx, 0x565548
call fcn.005459d4
cmp dword [ebp - 8], 0
jne 0x564e0e
push 1
push 0
push 0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x565590
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [0x666070]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x564f4b
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x666070]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
call fcn.0049e618
test eax, eax
jne 0x564f43
push 1
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x666070]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
xor edx, edx
call fcn.004a0340
mov esi, eax
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
inc dword [ebp - 0xc]
dec dword [ebp - 0x20]
jne 0x564ef2
mov dl, 1
mov eax, dword [0x437f64]
call fcn.00444ec4
mov dword [ebp - 0x1c], eax
mov dl, 1
mov eax, dword [ebp - 0x1c]
call fcn.00444e00
mov eax, dword [0x666070]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x564fee
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [0x666070]
mov ecx, dword [eax]
call dword [ecx + 0x18]
lea edx, [ebp - 0x48]
call fcn.004050e4
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 4]
mov ecx, 0
call fcn.00407860
lea eax, [ebp - 0x4c]
mov edx, dword [ebp - 4]
call fcn.00407e04
mov edx, dword [ebp - 0x4c]
mov eax, 0x565558
call fcn.00408274
dec eax
jne 0x564fd0
lea eax, [ebp - 4]
mov ecx, 3
mov edx, 1
call fcn.0040779c
lea eax, [ebp - 0x50]
mov edx, dword [ebp - 4]
call fcn.00407e04
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
dec dword [ebp - 0x20]
jne 0x564f7e
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x56511a
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
push 1
push ebx
push 0x563c00
push 0
push 0
lea ecx, [ebp - 0x54]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
xor edx, edx
call fcn.004a0340
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], 0xff
mov eax, dword [0x666070]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x565100
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
mov eax, dword [0x666070]
mov ecx, dword [eax]
call dword [ecx + 0x18]
lea edx, [ebp - 0x58]
call fcn.004050e4
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 4]
mov ecx, 0
call fcn.00407860
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 4]
call fcn.00407e04
mov edx, dword [ebp - 0x5c]
mov eax, 0x565558
call fcn.00408274
dec eax
jne 0x5650ad
lea eax, [ebp - 4]
mov ecx, 3
mov edx, 1
call fcn.0040779c
lea eax, [ebp - 0x60]
mov edx, dword [ebp - 4]
call fcn.00407e04
mov eax, dword [ebp - 0x60]
push eax
lea ecx, [ebp - 0x64]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x64]
pop eax
call fcn.004080d0
jne 0x5650f4
lea ecx, [ebp - 0x68]
mov edx, dword [ebp - 0x10]
mov eax, dword [0x666070]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
call fcn.0049e618
mov esi, eax
jmp 0x565100
inc dword [ebp - 0x10]
dec dword [ebp - 0x24]
jne 0x56505b
test esi, esi
je 0x56510e
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.0049d85c
inc dword [ebp - 0xc]
dec dword [ebp - 0x20]
jne 0x56500a
mov eax, dword [ebp - 0x1c]
call fcn.004051ec
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563b84
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5655b4
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563fdc
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5655dc
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
mov eax, dword [ebx + 0x28c]
test eax, eax
je 0x56529b
push 1
push ebx
push 0x563b00
push 0
push 0
movzx ecx, byte [eax + 0xf8]
xor edx, edx
mov eax, 0x56560c
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0xa8], 1
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
mov esi, dword [ebx + 0x28c]
mov eax, esi
mov edx, dword [0x5435f4]
call fcn.004053fc
test al, al
je 0x565258
mov eax, esi
call fcn.005595bc
test eax, eax
je 0x565258
push 1
push ebx
push 0x5644e0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x565640
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x564138
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x565678
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x54], 0
je 0x56529b
cmp byte [eax + 0xc4], 0
je 0x56529b
push 1
push ebx
push 0x564a84
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5656b0
call fcn.004a0340
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push 0
push 0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5656d8
call fcn.004a0340
mov dword [ebp - 0x18], eax
push 1
push ebx
push 0x563c7c
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5656f0
call fcn.004a0340
mov esi, eax
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563c7c
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x56571c
call fcn.004a0340
mov esi, eax
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push 0
push 0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x565744
call fcn.004a0340
mov dword [ebp - 0x18], eax
push 1
push ebx
push 0x563e14
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x56575c
call fcn.004a0340
mov esi, eax
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563f44
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x56578c
call fcn.004a0340
mov esi, eax
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push 0
push 0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x5657c4
call fcn.004a0340
mov dword [ebp - 0x18], eax
push 1
push ebx
push 0x563d6c
push 0
push 0
movzx ecx, byte [ebx + 0x2f7]
xor edx, edx
mov eax, 0x5657dc
call fcn.004a0340
mov esi, eax
mov dword [esi + 0xc], 1
mov byte [esi + 0xa8], 1
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563d6c
push 0
push 0
movzx ecx, byte [ebx + 0x2f5]
xor edx, edx
mov eax, 0x565808
call fcn.004a0340
mov esi, eax
mov dword [esi + 0xc], 2
mov dl, 1
mov eax, esi
call fcn.0049dab0
mov byte [esi + 0xa8], 1
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563d6c
push 0
push 0
movzx ecx, byte [ebx + 0x2f6]
xor edx, edx
mov eax, 0x565830
call fcn.004a0340
mov esi, eax
mov dword [esi + 0xc], 3
mov dl, 1
mov eax, esi
call fcn.0049dab0
mov byte [esi + 0xa8], 1
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
push 1
push ebx
push 0x563d6c
push 0
push 0
movzx eax, byte [ebx + 0x2f6]
xor al, 1
test al, al
jne 0x565484
test al, al
jne 0x565484
xor ecx, ecx
jmp 0x565486
mov cl, 1
xor edx, edx
mov eax, 0x565858
call fcn.004a0340
mov esi, eax
mov dword [esi + 0xc], 4
mov dl, 1
mov eax, esi
call fcn.0049dab0
mov byte [esi + 0xa8], 1
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0049d85c
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x18]
call fcn.0049d85c
lea eax, [ebx + 0x338]
push eax
call sub.user32.dll_GetCursorPos
mov ecx, dword [ebx + 0x33c]
mov edx, dword [ebx + 0x338]
mov eax, dword [ebx + 0x2a8]
mov ebx, dword [eax]
call dword [ebx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x565532
lea eax, [ebp - 0x68]
mov edx, 0xb
call fcn.00406d90
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.00406dc0
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00406d90
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406dc0
ret