Function at 0x466275
Capabilities:
Check os version
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2134
call fcn.004a98b0
mov eax, dword [0x4dd52c]
and word [ebp - 0x1004], 0
and dword [ebp - 0x2134], 0
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x1002]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x47
pop ecx
xor eax, eax
lea edi, [ebp - 0x2120]
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
lea eax, [ebp - 0x2120]
push eax
mov dword [ebp - 0x2120], 0x11c
call edi
test eax, eax
jne 0x4662f6
lea eax, [ebp - 0x2120]
push eax
mov dword [ebp - 0x2120], 0x114
call edi
test eax, eax
je 0x46685b
test esi, esi
push ebx
mov ebx, 0x800
je 0x466672
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466428
cmp eax, 3
jb 0x466428
and word [ebp - 0x2004], 0
push dword [ebp - 0x211c]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2002]
rep stosd dword es:[edi], eax
push 0x40dd18
stosw word es:[edi], ax
lea eax, [ebp - 0x2004]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466428
cmp eax, 3
jb 0x466428
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1004]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2004]
push eax
movzx eax, word [ebp - 0x2122]
push 0x40dcfc
push eax
movzx eax, word [ebp - 0x2124]
push eax
movzx eax, word [ebp - 0x2126]
push eax
movzx eax, word [ebp - 0x2128]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x46640a
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x466428
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46654c
cmp eax, 3
jb 0x46654c
and word [ebp - 0x2004], 0
push dword [ebp - 0x2118]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2002]
rep stosd dword es:[edi], eax
push 0x40dccc
stosw word es:[edi], ax
lea eax, [ebp - 0x2004]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46654c
cmp eax, 3
jb 0x46654c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1004]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2004]
push eax
movzx eax, word [ebp - 0x2122]
push 0x40dcfc
push eax
movzx eax, word [ebp - 0x2124]
push eax
movzx eax, word [ebp - 0x2126]
push eax
movzx eax, word [ebp - 0x2128]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x46652e
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46654c
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466672
cmp eax, 3
jb 0x466672
and word [ebp - 0x2004], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2002]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movzx eax, byte [ebp - 0x2006]
push eax
push 0x40dca0
lea eax, [ebp - 0x2004]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x466672
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466672
cmp eax, 3
jb 0x466672
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1004]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2004]
push eax
movzx eax, word [ebp - 0x2122]
push 0x40dcfc
push eax
movzx eax, word [ebp - 0x2124]
push eax
movzx eax, word [ebp - 0x2126]
push eax
movzx eax, word [ebp - 0x2128]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x466654
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x466672
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
push 0xa
pop eax
cmp dword [ebp - 0x211c], eax
jb 0x4666cc
test esi, esi
mov dword [ebp - 0x2134], eax
je 0x466854
cmp dword [esi + 0x1dfa8], 1
jne 0x466854
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466854
cmp eax, 3
jb 0x466854
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40dc88
jmp 0x46678d
cmp dword [ebp - 0x211c], 6
jne 0x4667fd
cmp dword [ebp - 0x2118], 2
jne 0x466732
test esi, esi
mov dword [ebp - 0x2134], 8
je 0x466854
cmp dword [esi + 0x1dfa8], 1
jne 0x466854
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466854
cmp eax, 3
jb 0x466854
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40dc74
jmp 0x46678d
cmp dword [ebp - 0x2118], 3
jne 0x4667fd
test esi, esi
mov dword [ebp - 0x2134], 9
je 0x466854
cmp dword [esi + 0x1dfa8], 1
jne 0x466854
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466854
cmp eax, 3
jb 0x466854
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40dc5c
xor eax, eax
lea edi, [ebp - 0x1004]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x2122]
push 0x40dcfc
push eax
movzx eax, word [ebp - 0x2124]
push eax
movzx eax, word [ebp - 0x2126]
push eax
movzx eax, word [ebp - 0x2128]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x466836
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x466854
test esi, esi
je 0x466854
cmp dword [esi + 0x1dfa8], 1
jne 0x466854
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x466854
cmp eax, 3
jb 0x466854
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2130]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40dc38
jmp 0x46678d
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
mov eax, dword [ebp - 0x2134]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.004a9585
leave
ret 4