Function at 0x50c8a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff0c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004064dc
mov eax, dword [ebp - 8]
call fcn.004064dc
lea eax, [ebp - 0xd4]
mov edx, dword [0x45b494]
call fcn.00406eac
xor eax, eax
push ebp
push 0x50cba9
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5a9824], 0
je 0x50cb56
xor eax, eax
push ebp
push 0x50cb4a
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xe8]
xor eax, eax
call fcn.00403478
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
call fcn.0045d3c0
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xe0]
call fcn.0046491c
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 8]
call fcn.004068c8
cmp dword [ebp - 4], 0
jne 0x50c9ae
mov dl, 1
mov eax, dword [0x47121c]
call fcn.00476d94
mov ebx, eax
mov eax, dword [ebp - 0xc]
call fcn.0045cf74
test al, al
je 0x50c98f
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, ebx
call fcn.004042e8
jmp 0x50cb40
mov eax, dword [ebp - 4]
mov edx, 0x50cbc4
call fcn.00406b40
jne 0x50ca03
mov dl, 1
mov eax, dword [0x47121c]
call fcn.00476d94
mov ebx, eax
mov eax, dword [ebp - 0xc]
call fcn.0045cf74
test al, al
je 0x50c9e1
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov edx, 0x50cbd4
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, ebx
call fcn.004042e8
jmp 0x50cb40
mov word [ebp - 0xcc], 0x2d
mov word [ebp - 0xca], 0x3a
lea eax, [ebp - 0xc0]
mov edx, 0x50cc20
call fcn.00406548
lea eax, [ebp - 0xb0]
mov edx, 0x50cc44
call fcn.00406548
mov dl, 1
mov eax, dword [0x47121c]
call fcn.00476d94
mov ebx, eax
mov eax, dword [ebp - 0xc]
call fcn.0045cf74
test al, al
je 0x50ca59
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x2710
jl 0x50cae2
mov dl, 1
mov eax, dword [0x47121c]
call fcn.00476d94
mov dword [ebp - 0xd8], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
sub esi, 0x2328
jl 0x50cac3
inc esi
mov dword [ebp - 0xdc], 0x2328
lea ecx, [ebp - 0xec]
mov edx, dword [ebp - 0xdc]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xdc]
dec esi
jne 0x50ca96
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 0xd8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 0xd8]
call fcn.004042e8
call fcn.004601c4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0xf4]
lea edx, [ebp - 0xd4]
mov eax, 0x50cc64
call fcn.00461c4c
push dword [ebp - 0xf4]
push 0x50cca0
push dword [ebp - 4]
lea eax, [ebp - 0xf0]
mov edx, 3
call fcn.00406998
mov edx, dword [ebp - 0xf0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, ebx
call fcn.004042e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50cb6d
cmp byte [0x5a9825], 0
je 0x50cb6d
mov eax, dword [ebp - 4]
call fcn.00406580
push eax
call sub.kernel32.dll_OutputDebugStringW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50cbb0
lea eax, [ebp - 0xf4]
mov edx, 6
call fcn.004064ec
lea eax, [ebp - 0xd4]
mov edx, dword [0x45b494]
call fcn.00406f84
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004064ec
ret