Function at 0x406260
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4970d0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x4bc100]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp + 0x28]
xor eax, eax
mov esi, dword [ebp + 0x38]
xor ebx, ebx
mov edx, dword [ebp + 0x18]
mov word [edi], ax
mov eax, dword [ebp + 0x30]
mov byte [eax], 0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
cmp edx, 3
ja case.default.0x4062b7
jmp dword [edx*4 + 0x4064d4]
call fcn.00405180
jmp 0x406318
call fcn.004051a0
jmp 0x406318
test ecx, ecx
js 0x406308
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
push 0x8007029c
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00433c80
add esp, 0x14
mov dword [esi + 8], 0x8007029c
mov ecx, 0x8007029c
call fcn.004053c0
mov dword [esi + 0xc], eax
mov ecx, 0x8007029c
call fcn.004051c0
jmp 0x406318
push ecx
call fcn.004051e0
add esp, 4
mov ebx, eax
mov eax, dword [ebp + 0x18]
mov dword [esi], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 4], 0
cmp dword [eax + 8], 1
jne 0x406336
mov dword [esi + 4], 8
mov eax, 1
lock xadd dword [0x4c155c], eax
inc eax
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x406354
cmp word [eax], 0
jne 0x406356
xor eax, eax
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esi + 0x18], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x54], eax
mov eax, dword [0x4c14fc]
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], 0
movq qword [esi + 0x40], xmm0
mov dword [esi + 0x48], 0
movq qword [esi + 0x34], xmm0
mov dword [esi + 0x3c], 0
test eax, eax
je 0x4063b8
call eax
jmp 0x4063ba
xor eax, eax
mov dword [esi + 0x4c], eax
mov eax, dword [0x4c14c0]
test eax, eax
je 0x4063c9
push esi
call eax
mov eax, dword [0x4c14d8]
test eax, eax
je 0x4063dd
push 0x400
push dword [ebp + 0x30]
push esi
call eax
mov eax, dword [0x4c14d4]
test eax, eax
je 0x4063e9
push esi
call eax
mov eax, dword [0x4c14e8]
test eax, eax
je 0x4063fb
test byte [esi + 4], 2
jne 0x4063fb
push esi
call eax
cmp dword [esi + 8], 0
jl 0x40641f
cmp dword [ebp + 0x18], 3
jne 0x4064cd
mov ecx, 0x8000ffff
mov dword [esi + 8], 0x8000ffff
call fcn.004053c0
mov dword [esi + 0xc], eax
cmp byte [0x4c14b4], 0
jne 0x406448
mov eax, dword [0x4c14ac]
test eax, eax
je 0x406438
call eax
movzx eax, al
jmp 0x406444
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x40644e
test byte [esi + 4], 2
je 0x406469
mov eax, dword [0x4c14b8]
test eax, eax
je 0x4064a1
cmp byte [0x4c14c8], 0
jne 0x4064a1
push 0
push 0
push esi
call eax
jmp 0x4064a1
mov eax, dword [0x4c14b8]
test eax, eax
je 0x406484
cmp byte [0x4c14c8], 0
jne 0x406484
push 0x800
push edi
push esi
call eax
cmp word [edi], 0
jne 0x40649a
push esi
mov edx, 0x800
mov ecx, edi
call fcn.00404d80
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test byte [esi + 4], 4
jne 0x4064b0
cmp byte [0x4c14bc], 0
je 0x4064bb
mov eax, dword [0x4c14e0]
test eax, eax
je 0x4064bb
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00406770
nop
mov esi, 0xc5004062
bound eax, qword [eax]
int3