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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x42b760
push 0x4179a0
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [section..data]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x340], 0
push 0x118
push 0
lea eax, [ebp - 0x33c]
push eax
call fcn.00419530
add esp, 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 4], 1
push 0x11c
push 0
lea eax, [ebp - 0x340]
push eax
call fcn.00419530
add esp, 0xc
mov dword [ebp - 0x340], 0x11c
lea eax, [ebp - 0x340]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x40247f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ebx, eax
call esi
lea edi, [eax + 0x1e]
push 0x1000a
call fcn.00412ac8
add esp, 4
mov esi, eax
test esi, esi
jne 0x402408
push str.Memory_allocation_error_in_log_file_n
call fcn.00412f3c
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x402464
push 0x4283c8
push 0xffff
push esi
call fcn.00412a74
add esp, 0xc
push edi
test eax, eax
jle 0x402443
mov byte [esi + 0xffff], 0
push esi
push str.MbaeSetWerFiles
push 1
mov edx, 0x442
mov ecx, str.....mbae_commonMbaeLog.cpp
call fcn.00401280
add esp, 0x10
jmp 0x40245b
push str.Error__d_in_swprintf_s_n
call fcn.00412f3c
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.00412a90
add esp, 4
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push section..data
call fcn.0041dd90
add esp, 0xc
lea eax, [ebx + 0x1e]
jmp 0x40276a
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x33c]
call fcn.00402790
mov ecx, dword [ebp - 0x33c]
mov dword [0x42f17c], ecx
mov eax, dword [ebp - 0x338]
mov dword [0x42f178], eax
cmp ecx, 6
jae 0x4024c6
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push section..data
call fcn.0041dd90
add esp, 0xc
xor eax, eax
jmp 0x40276a
push str.WerRegisterFile
push 0x4284c4
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x40254b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ebx, eax
call esi
lea edi, [eax + 0x1e]
push 0x1000a
call fcn.00412ac8
add esp, 4
mov esi, eax
test esi, esi
je 0x4023ee
push 0x4283c8
push 0xffff
push esi
call fcn.00412a74
add esp, 0xc
push edi
test eax, eax
jle 0x402443
mov byte [esi + 0xffff], 0
push esi
push str.MbaeSetWerFiles
push 1
mov edx, 0x451
mov ecx, str.....mbae_commonMbaeLog.cpp
call fcn.00401280
add esp, 0x10
jmp 0x40245b
push str.mbae_default.log
push 0x42ef70
push str._s_s
lea eax, [ebp - 0x224]
push eax
call fcn.004029c0
add esp, 0x10
push 2
push 2
lea eax, [ebp - 0x224]
push eax
call esi
mov edi, eax
test edi, edi
je 0x402623
push 0x1000a
call fcn.00412ac8
add esp, 4
mov esi, eax
test esi, esi
jne 0x4025ad
push str.Memory_allocation_error_in_log_file_n
call fcn.00412f3c
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x402609
push 0x4283c8
push 0xffff
push esi
call fcn.00412a74
add esp, 0xc
push edi
test eax, eax
jle 0x4025e8
mov byte [esi + 0xffff], 0
push esi
push str.MbaeSetWerFiles
push 1
mov edx, 0x456
mov ecx, str.....mbae_commonMbaeLog.cpp
call fcn.00401280
add esp, 0x10
jmp 0x402600
push str.Error__d_in_swprintf_s_n
call fcn.00412f3c
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.00412a90
add esp, 4
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push section..data
call fcn.0041dd90
add esp, 0xc
mov eax, edi
jmp 0x40276a
push str.mbae_protector.xpe
push 0x42ef70
push str._s_s
lea eax, [ebp - 0x224]
push eax
call fcn.004029c0
add esp, 0x10
push 2
push 2
lea eax, [ebp - 0x224]
push eax
call esi
mov edi, eax
test edi, edi
je 0x4026ad
push 0x1000a
call fcn.00412ac8
add esp, 4
mov esi, eax
test esi, esi
je 0x402593
push 0x4283c8
push 0xffff
push esi
call fcn.00412a74
add esp, 0xc
push edi
test eax, eax
jle 0x4025e8
mov byte [esi + 0xffff], 0
push esi
push str.MbaeSetWerFiles
push 1
mov edx, 0x45b
mov ecx, str.....mbae_commonMbaeLog.cpp
call fcn.00401280
add esp, 0x10
jmp 0x402600
mov dword [ebp - 4], 0
call fcn.004026c7
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x40276a
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0041297c
mov esp, ebp
pop ebp
ret