Function at 0x40d74c
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x437d44
mov eax, dword fs:[0]
push eax
mov eax, 0x1464
call fcn.00416e20
mov eax, dword [0x45106c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x1470], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x146c], eax
and dword [ebp - 4], 0
xor eax, eax
mov esi, dword [ebp + 0x18]
mov word [ebp - 0x1410], ax
mov byte [ebp - 0x410], al
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x1460], ecx
mov dword [ebp - 0x145c], eax
call fcn.004031aa
xor edx, edx
xor ecx, ecx
inc edx
mov edi, eax
cmp dword [esi + 8], edx
push 8
pop eax
cmove ecx, eax
mov dword [ebp - 0x1468], edx
mov dword [ebp - 0x1464], ecx
lock xadd dword [0x456688], edx
inc edx
and dword [ebp - 0x1454], 0
mov dword [ebp - 0x1458], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x1450], eax
mov eax, dword [ebp - 0x146c]
mov dword [ebp - 0x1418], eax
mov eax, dword [ebp - 0x1470]
mov dword [ebp - 0x1414], eax
xor eax, eax
mov dword [ebp - 0x1440], ebx
xor ebx, ebx
mov dword [ebp - 0x143c], edi
lea edi, [ebp - 0x1428]
mov dword [ebp - 0x1444], 0x446a30
mov dword [ebp - 0x144c], ebx
mov dword [ebp - 0x1448], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x1438]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x4564f8]
test eax, eax
je 0x40d85f
call eax
mov dword [ebp - 0x141c], eax
jmp 0x40d865
mov dword [ebp - 0x141c], ebx
mov eax, dword [0x4564bc]
test eax, eax
je 0x40d877
lea ecx, [ebp - 0x1468]
push ecx
call eax
mov eax, dword [0x4564d4]
test eax, eax
je 0x40d895
push 0x400
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0x1468]
push ecx
call eax
mov eax, dword [0x4564d0]
test eax, eax
je 0x40d8a7
lea ecx, [ebp - 0x1468]
push ecx
call eax
mov eax, dword [0x4564e4]
test eax, eax
je 0x40d8c2
test byte [ebp - 0x1464], 2
jne 0x40d8c2
lea ecx, [ebp - 0x1468]
push ecx
call eax
cmp dword [ebp - 0x1460], ebx
jge 0x40d9b2
cmp byte [0x4564b0], bl
jne 0x40d8f6
mov eax, dword [0x4564a8]
test eax, eax
je 0x40d8e6
call eax
movzx eax, al
jmp 0x40d8f2
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x40d8ff
test byte [ebp - 0x1464], 2
je 0x40d91d
mov eax, dword [0x4564b4]
test eax, eax
je 0x40d96f
cmp byte [0x4564c4], bl
jne 0x40d96f
push ebx
push ebx
lea ecx, [ebp - 0x1468]
push ecx
call eax
jmp 0x40d96f
mov eax, dword [0x4564b4]
mov esi, 0x800
test eax, eax
je 0x40d944
cmp byte [0x4564c4], bl
jne 0x40d944
push esi
lea ecx, [ebp - 0x1410]
push ecx
lea ecx, [ebp - 0x1468]
push ecx
call eax
cmp word [ebp - 0x1410], bx
jne 0x40d962
lea eax, [ebp - 0x1468]
mov edx, esi
push eax
lea ecx, [ebp - 0x1410]
call fcn.00402dc1
pop ecx
lea eax, [ebp - 0x1410]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test byte [ebp - 0x1464], 4
jne 0x40d980
cmp byte [0x4564b8], bl
je 0x40d98b
mov eax, dword [0x4564dc]
test eax, eax
je 0x40d98b
call eax
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x1464], 1
jne 0x40d9b7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00415b79
leave
ret
call fcn.00403d86
lea ecx, [ebp - 0x1468]
call fcn.00403b95
int3