Function at 0x45d0f4
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 8
push 0
push 0
dec ecx
jne 0x45d0fd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00406c24
xor eax, eax
push ebp
push 0x45d5cd
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4c0f25], 0
jne 0x45d133
call fcn.0045d7dc
cmp byte [0x4c0f24], 0
je 0x45d5a5
mov eax, dword [0x4c28ec]
cmp dword [eax], 2
je 0x45d15d
mov eax, dword [ebp - 4]
call fcn.00407984
push eax
call sub.kernel32.dll_OutputDebugStringW
jmp 0x45d5a5
lea eax, [ebp - 8]
call fcn.00406b40
call sub.kernel32.dll_GetCurrentThreadId_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x10]
call fcn.0041c350
lea eax, [ebp - 0x14]
call fcn.00406b40
cmp dword [0x4c0f4c], 0
je 0x45d197
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [0x4c0f4c]
call fcn.0043f558
cmp byte [0x4c8119], 0
jne 0x45d296
push 0x4c8128
call sub.kernel32.dll_QueryPerformanceCounter_1
cmp dword [0x4c8124], 0
jne 0x45d1ca
cmp dword [0x4c8120], 0
jne 0x45d1ca
push 0x4c8120
call sub.kernel32.dll_QueryPerformanceFrequency
cmp dword [0x4c8124], 0
jne 0x45d1da
cmp dword [0x4c8120], 0
je 0x45d22f
push dword [0x4c8124]
push dword [0x4c8120]
push 0
push 0x3e8
mov eax, dword [0x4c8128]
mov edx, dword [0x4c812c]
call fcn.00408778
call fcn.0040879c
mov ebx, eax
push 0x45d5ec
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x24]
call fcn.0041c350
push dword [ebp - 0x24]
push 0x45d600
lea eax, [ebp - 8]
mov edx, 3
call fcn.00407c68
push dword [ebp - 8]
push 0x45d614
lea edx, [ebp - 0x28]
mov eax, esi
call fcn.0041c328
push dword [ebp - 0x28]
push 0x45d600
lea eax, [ebp - 8]
mov edx, 4
call fcn.00407c68
push dword [ebp - 8]
push 0x45d628
push dword [ebp - 0x10]
push 0x45d600
lea eax, [ebp - 8]
mov edx, 4
call fcn.00407c68
cmp dword [ebp - 0x14], 0
je 0x45d296
push dword [ebp - 8]
push 0x45d63c
push dword [ebp - 0x14]
push 0x45d600
lea eax, [ebp - 8]
mov edx, 4
call fcn.00407c68
cmp byte [0x4c8119], 1
jne 0x45d31b
push 0x45d654
push dword [0x4c0f3c]
push 0x45d664
push dword [0x4c0f38]
push 0x45d674
lea eax, [ebp - 8]
mov edx, 5
call fcn.00407c68
cmp dword [ebp - 0x14], 0
je 0x45d2ec
push dword [ebp - 8]
push 0x45d654
push dword [ebp - 0x14]
push 0x45d674
lea eax, [ebp - 8]
mov edx, 4
call fcn.00407c68
jmp 0x45d309
push dword [ebp - 8]
push 0x45d654
push dword [ebp - 0x10]
push 0x45d674
lea eax, [ebp - 8]
mov edx, 4
call fcn.00407c68
cmp esi, 2
jne 0x45d31b
lea eax, [ebp - 8]
mov edx, 0x45d688
call fcn.00407b88
cmp byte [0x4c8119], 2
jne 0x45d35c
cmp dword [ebp - 0x14], 0
je 0x45d344
push dword [ebp - 8]
push dword [ebp - 0x14]
push 0x45d6a8
lea eax, [ebp - 8]
mov edx, 3
call fcn.00407c68
jmp 0x45d35c
push dword [ebp - 8]
push dword [ebp - 0x10]
push 0x45d6a8
lea eax, [ebp - 8]
mov edx, 3
call fcn.00407c68
cmp byte [0x4c0f26], 0
je 0x45d52f
xor eax, eax
push ebp
push 0x45d51e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
cmp eax, dword [0x4c0f2c]
jge 0x45d514
cmp dword [0x4c0f48], 0
jne 0x45d3a2
xor ecx, ecx
mov dl, 1
mov eax, dword [0x45cb40]
call fcn.0045ccfc
mov dword [0x4c0f48], eax
mov edx, 0x2710
mov eax, dword [0x4c0f48]
call fcn.0045ce0c
test al, al
je 0x45d50d
xor eax, eax
push ebp
push 0x45d506
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4c0f34], 0
jne 0x45d489
cmp dword [0x4c0f28], 0
jne 0x45d3f9
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.004048b0
mov edx, dword [ebp - 0x2c]
mov eax, 0x4c0f28
mov ecx, 0x45d6b8
call fcn.00407be0
mov dl, 1
mov eax, dword [0x45bee4]
call fcn.0045c464
mov dword [0x4c0f30], eax
mov eax, dword [0x4c0f30]
mov byte [eax + 0x12], 1
mov eax, dword [0x4c0f30]
mov byte [eax + 0x13], 1
mov eax, dword [0x4c0f30]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [0x4c0f30]
mov byte [eax + 0x14], 1
mov edx, dword [0x4c0f28]
mov eax, dword [0x4c0f30]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0041f7ec
fstp qword [ebp - 0x20]
wait
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea edx, [ebp - 0x18]
mov eax, dword [0x4c27a0]
call fcn.00420724
push 0x45d6d0
push dword [ebp - 0x18]
push 0x45d72c
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00407c68
mov edx, dword [ebp - 0x30]
mov eax, dword [0x4c0f30]
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [0x4c0f34], 1
cmp byte [0x4c0f34], 0
je 0x45d4ee
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x38]
call fcn.0041c350
push dword [ebp - 0x38]
push 0x45d758
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x3c]
call fcn.0041c350
push dword [ebp - 0x3c]
push 0x45d600
push dword [ebp - 8]
push dword [ebp - 4]
lea eax, [ebp - 0x34]
mov edx, 6
call fcn.00407c68
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4c0f30]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x4c0f30]
mov edx, dword [eax]
call dword [edx + 0x40]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d514
mov eax, dword [0x4c0f48]
call fcn.0045ce2c
ret
mov byte [0x4c0f26], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d52f
mov edx, dword [ebp - 4]
mov eax, 0x45d770
call fcn.00407efc
mov ebx, eax
test ebx, ebx
jle 0x45d58f
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00407d50
lea ecx, [ebx + 1]
lea eax, [ebp - 4]
mov edx, 1
call fcn.00407d98
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00407be0
mov eax, dword [ebp - 0x40]
call fcn.0045cf94
mov edx, dword [ebp - 4]
mov eax, 0x45d770
call fcn.00407efc
mov ebx, eax
test ebx, ebx
jg 0x45d542
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00407be0
mov eax, dword [ebp - 0x44]
call fcn.0045cf94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d5d4
lea eax, [ebp - 0x44]
mov edx, 9
call fcn.00406ba0
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00406ba0
ret