Function at 0x402b40
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451cc0
mov eax, dword fs:[0]
push eax
mov eax, 0x146c
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 + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1410], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x141c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1418], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1420], eax
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 - 0x1470], ecx
mov dword [ebp - 0x146c], eax
call fcn.00404db0
xor ecx, ecx
mov dword [ebp - 0x1414], eax
add esp, 4
mov dword [ebp - 0x1478], 3
cmp byte [esi + 8], cl
mov eax, 8
cmovne ecx, eax
mov dword [ebp - 0x1474], ecx
mov ecx, 1
lock xadd dword [0x478440], ecx
inc ecx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x1468], ecx
test eax, eax
je 0x402c12
cmp word [eax], 0
mov dword [ebp - 0x1464], eax
jne 0x402c1c
mov dword [ebp - 0x1464], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x1460], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1410]
mov dword [ebp - 0x1454], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1450], eax
mov eax, dword [ebp - 0x1414]
mov dword [ebp - 0x144c], eax
mov eax, dword [ebp - 0x1418]
mov dword [ebp - 0x145c], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1458], eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1428], eax
mov eax, dword [0x478388]
mov dword [ebp - 0x1424], edi
movq qword [ebp - 0x1438], xmm0
mov dword [ebp - 0x1430], 0
movups xmmword [ebp - 0x1448], xmm0
test eax, eax
je 0x402ca2
call eax
mov dword [ebp - 0x142c], eax
jmp 0x402cac
mov dword [ebp - 0x142c], 0
mov eax, dword [0x47837c]
test eax, eax
je 0x402cbe
lea ecx, [ebp - 0x1478]
push ecx
call eax
mov eax, dword [0x478380]
test eax, eax
je 0x402cdc
push 0x400
lea ecx, [ebp - 0x40c]
push ecx
lea ecx, [ebp - 0x1478]
push ecx
call eax
mov eax, dword [0x478384]
test eax, eax
je 0x402cee
lea ecx, [ebp - 0x1478]
push ecx
call eax
mov eax, dword [0x4783bc]
test eax, eax
je 0x402d09
test byte [ebp - 0x1474], 2
jne 0x402d09
lea ecx, [ebp - 0x1478]
push ecx
call eax
cmp dword [ebp - 0x1470], 0
jl 0x402d2f
push 0x8000ffff
mov dword [ebp - 0x1470], 0x8000ffff
call fcn.00404950
add esp, 4
mov dword [ebp - 0x146c], eax
cmp byte [0x478360], 0
jne 0x402d58
mov eax, dword [0x47835c]
test eax, eax
je 0x402d48
call eax
movzx eax, al
jmp 0x402d54
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x402dc5
cmp byte [0x4730e4], 0
je 0x402dc5
test byte [ebp - 0x1474], 2
jne 0x402dc5
mov eax, dword [0x478358]
test eax, eax
je 0x402d91
cmp byte [0x478370], 0
jne 0x402d91
push 0x800
lea ecx, [ebp - 0x140c]
push ecx
lea ecx, [ebp - 0x1478]
push ecx
call eax
cmp word [ebp - 0x140c], 0
jne 0x402db6
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x140c]
push 0x800
push eax
call fcn.00403f00
add esp, 0xc
lea eax, [ebp - 0x140c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x402de4
mov eax, dword [0x478358]
test eax, eax
je 0x402de4
cmp byte [0x478370], 0
jne 0x402de4
push 0
push 0
lea ecx, [ebp - 0x1478]
push ecx
call eax
test byte [ebp - 0x1474], 4
jne 0x402df6
cmp byte [0x478368], 0
je 0x402e01
mov eax, dword [0x478390]
test eax, eax
je 0x402e01
call eax
lea eax, [ebp - 0x1478]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.00406650
int3