Function at 0x406fa0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451f80
mov eax, dword fs:[0]
push eax
mov eax, 0x1474
call fcn.00429a80
push esi
push edi
mov eax, dword [0x4739c8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1428], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1414], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1420], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x141c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1424], eax
mov eax, dword [ebp + 0x28]
mov edi, eax
and edi, 2
jne 0x407023
cmp dword [0x4783b4], edi
je 0x407023
cmp byte [0x4730e6], 0
jne 0x40701a
test al, 1
je 0x407023
mov byte [ebp - 0x140d], 1
jmp 0x40702a
mov byte [ebp - 0x140d], 0
mov esi, dword [ebp + 0x20]
xor eax, eax
mov word [ebp - 0x140c], ax
mov byte [ebp - 0x40c], al
mov dword [ebp - 4], 0
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push ecx
mov dword [ebp - 0x1478], ecx
mov dword [ebp - 0x1474], eax
call fcn.00417b40
xor ecx, ecx
mov dword [ebp - 0x1418], eax
add esp, 4
mov dword [ebp - 0x1480], 0
cmp byte [esi + 8], cl
mov eax, 8
cmovne ecx, eax
mov dword [ebp - 0x147c], ecx
mov ecx, 1
lock xadd dword [0x478440], ecx
inc ecx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x1470], ecx
test eax, eax
je 0x4070a7
cmp word [eax], 0
mov dword [ebp - 0x146c], eax
jne 0x4070b1
mov dword [ebp - 0x146c], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x1468], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1414]
mov dword [ebp - 0x145c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1458], eax
mov eax, dword [ebp - 0x1418]
mov dword [ebp - 0x1454], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1464], eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1460], eax
mov eax, dword [ebp - 0x1424]
mov dword [ebp - 0x1430], eax
mov eax, dword [ebp - 0x1428]
mov dword [ebp - 0x142c], eax
mov eax, dword [0x478388]
movq qword [ebp - 0x1440], xmm0
mov dword [ebp - 0x1438], 0
movups xmmword [ebp - 0x1450], xmm0
test eax, eax
je 0x40713d
call eax
mov dword [ebp - 0x1434], eax
jmp 0x407147
mov dword [ebp - 0x1434], 0
mov eax, dword [0x47837c]
test eax, eax
je 0x407159
lea ecx, [ebp - 0x1480]
push ecx
call eax
mov eax, dword [0x478380]
test eax, eax
je 0x407177
push 0x400
lea ecx, [ebp - 0x40c]
push ecx
lea ecx, [ebp - 0x1480]
push ecx
call eax
mov eax, dword [0x478384]
test eax, eax
je 0x407189
lea ecx, [ebp - 0x1480]
push ecx
call eax
mov eax, dword [0x4783bc]
test eax, eax
je 0x4071ad
cmp byte [ebp - 0x140d], 0
jne 0x4071ad
test byte [ebp - 0x147c], 2
jne 0x4071ad
lea ecx, [ebp - 0x1480]
push ecx
call eax
cmp dword [ebp - 0x1478], 0
jl 0x4071bb
call fcn.00406720
cmp byte [0x478360], 0
jne 0x4071e4
mov eax, dword [0x47835c]
test eax, eax
je 0x4071d4
call eax
movzx eax, al
jmp 0x4071e0
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x4071fa
cmp byte [0x4730e4], 0
je 0x4071fa
test byte [ebp - 0x147c], 2
jne 0x4071fa
mov al, 1
jmp 0x4071fc
xor al, al
cmp byte [ebp - 0x140d], 0
mov byte [ebp - 0x140e], al
jne 0x407230
test al, al
jne 0x407230
mov eax, dword [0x478358]
test eax, eax
je 0x407292
cmp byte [0x478370], 0
jne 0x407292
push 0
push 0
lea ecx, [ebp - 0x1480]
push ecx
call eax
jmp 0x407292
mov eax, dword [0x478358]
test eax, eax
je 0x407257
cmp byte [0x478370], 0
jne 0x407257
push 0x800
lea ecx, [ebp - 0x140c]
push ecx
lea ecx, [ebp - 0x1480]
push ecx
call eax
cmp word [ebp - 0x140c], 0
jne 0x40727c
lea eax, [ebp - 0x1480]
push eax
lea eax, [ebp - 0x140c]
push 0x800
push eax
call fcn.00403f00
add esp, 0xc
cmp byte [ebp - 0x140e], 0
je 0x407292
lea eax, [ebp - 0x140c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test byte [ebp - 0x147c], 4
jne 0x4072a4
cmp byte [0x478368], 0
je 0x4072af
mov eax, dword [0x478390]
test eax, eax
je 0x4072af
call eax
test byte [ebp - 0x147c], 1
mov dword [ebp - 4], 0xffffffff
je 0x4072cb
lea eax, [ebp - 0x1480]
push eax
call fcn.00406650
cmp byte [ebp - 0x140d], 0
je 0x4072e8
lea eax, [ebp - 0x140c]
push eax
lea eax, [ebp - 0x1480]
push eax
call dword [0x4783b4]
test edi, edi
je 0x4072f1
call fcn.00417fa0
lea eax, [ebp - 0x1480]
push eax
call fcn.0041a9b0
add esp, 4
lea eax, [ebp - 0x1480]
push eax
call fcn.00406650
int3