Function at 0x407a34
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x918
mov eax, dword [0x49c00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x8cc], eax
mov eax, dword [ebp + 0xc]
push 9
mov dword [ebp - 0x8f0], eax
xor eax, eax
mov dword [ebp - 0x8c4], edi
mov ebx, eax
pop ecx
lea edi, [ebp - 0x918]
mov dword [ebp - 0x8ec], eax
rep stosd dword es:[edi], eax
push 0x11c
mov dword [ebp - 0x8e8], eax
xor edi, edi
mov dword [ebp - 0x8e4], eax
mov dword [ebp - 0x8e0], eax
lea eax, [ebp - 0x120]
push edi
push eax
mov dword [ebp - 0x8f4], esi
call fcn.00447480
push 0x7a0
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8c8], edi
push edi
push eax
mov dword [ebp - 0x8d8], edi
mov dword [ebp - 0x8d0], edi
mov dword [ebp - 0x8d4], edi
mov dword [ebp - 0x8dc], edi
call fcn.00447480
add esp, 0x18
mov dword [ebp - 0x8b0], 0x30
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.0045b0d7
push 0x406570
call fcn.004011bf
push edi
push 3
call fcn.0045b370
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x170]
push eax
push esi
call fcn.0045999a
mov esi, eax
test esi, esi
jns 0x407b49
push str.Failed_to_parse_command_line.
push esi
push 0x100
push 5
push 0x89
push str.d:_awixwix_src_burnengineengine.cpp
call fcn.00401228
mov edi, dword [ebp - 0x8c4]
add esp, 0x18
jmp 0x407ecc
push dword [ebp - 0x8f0]
lea eax, [ebp - 0x8c0]
push eax
call fcn.0040677f
mov esi, eax
test esi, esi
jns 0x407b75
push str.Failed_to_initialize_engine_state.
push esi
push 0x100
push 5
push 0x8c
jmp 0x407b31
cmp dword [ebp - 0x154], 3
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x8a0], eax
je 0x407ba6
cmp dword [ebp - 0x8a8], 2
jle 0x407ba6
lea eax, [ebp - 0x898]
push eax
push edi
mov edi, dword [ebp - 0x8cc]
push edi
call fcn.0042d137
jmp 0x407bac
mov edi, dword [ebp - 0x8cc]
call fcn.0040812f
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
test esi, esi
jns 0x407bd8
push str.Failed_to_initialize_COM.
push esi
push 0x100
push 5
push 0x9a
jmp 0x407b31
xor ebx, ebx
inc ebx
call fcn.0045a5ab
mov esi, eax
test esi, esi
jns 0x407bfd
push str.Failed_to_initialize_Cryputil.
push esi
push 0x100
push 5
push 0x9f
jmp 0x407b31
mov dword [ebp - 0x8ec], ebx
call fcn.00460fff
call fcn.0045c8e3
mov esi, eax
test esi, esi
jns 0x407c2a
push str.Failed_to_initialize_Regutil.
push esi
push 0x100
push 5
push 0xa6
jmp 0x407b31
mov dword [ebp - 0x8e8], ebx
call fcn.0045f5c7
mov esi, eax
test esi, esi
jns 0x407c52
push str.Failed_to_initialize_Wiutil.
push esi
push 0x100
push 5
push 0xaa
jmp 0x407b31
mov dword [ebp - 0x8e4], ebx
call fcn.004605ab
mov esi, eax
test esi, esi
jns 0x407c7a
push str.Failed_to_initialize_XML_util.
push esi
push 0x100
push 5
push 0xae
jmp 0x407b31
lea eax, [ebp - 0x120]
mov dword [ebp - 0x8e0], ebx
push eax
call fcn.0045b61e
mov esi, eax
test esi, esi
jns 0x407ca9
push str.Failed_to_get_OS_info.
push esi
push 0x100
push 5
push 0xb2
jmp 0x407b31
lea eax, [ebp - 0x918]
mov esi, str.unknown_architecture
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movzx eax, word [ebp - 0x918]
test eax, eax
je 0x407cea
cmp eax, 5
je 0x407ce3
cmp eax, 9
je 0x407cdc
cmp eax, 0xc
jne 0x407cef
mov esi, str.ARM64
jmp 0x407cef
mov esi, 0x470964
jmp 0x407cef
mov esi, 0x470968
jmp 0x407cef
mov esi, 0x470948
push 0
lea eax, [ebp - 0x8c8]
push eax
call fcn.00404456
movzx eax, word [ebp - 0xc]
push esi
push 0x470948
push dword [ebp - 0x8c8]
push eax
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push str.4.0.3b9b68be290f544475f9d0f853344be38ef006993
push 0x20000001
push 2
call fcn.00408119
add esp, 0x28
cmp dword [ebp - 0x8c8], 0
je 0x407d4f
push dword [ebp - 0x8c8]
call fcn.0040367f
and dword [ebp - 0x8c8], 0
lea eax, [ebp - 0x8c0]
push eax
call fcn.00423fe2
mov esi, eax
test esi, esi
jns 0x407d78
push str.Failed_to_initialize_core.
push esi
push 0x100
push 5
push 0xd4
jmp 0x407b31
mov eax, dword [ebp - 0x154]
sub eax, 1
je 0x407e8f
sub eax, 1
je 0x407e5f
sub eax, 1
je 0x407e29
sub eax, 1
je 0x407df5
sub eax, 1
je 0x407dbf
push str.Invalid_run_mode.
mov esi, 0x8000ffff
push esi
push 0x100
push 5
push 0xfe
jmp 0x407b31
push dword [ebp + 0x14]
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8dc], ebx
push eax
call fcn.004073c3
mov esi, eax
test esi, esi
jns 0x407ebe
push str.Failed_to_run_RunOnce_mode.
push esi
push 0x100
push 5
push 0xf9
jmp 0x407b31
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8d0], ebx
push eax
push edi
call fcn.00407060
mov esi, eax
test esi, esi
jns 0x407ebe
push str.Failed_to_run_embedded_mode.
push esi
push 0x100
push 5
push 0xf2
jmp 0x407b31
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8d4], ebx
push eax
push dword [ebp - 0x8f4]
push edi
call fcn.00406df5
mov esi, eax
test esi, esi
jns 0x407ebe
push str.Failed_to_run_per_machine_mode.
push esi
push 0x100
push 5
push 0xeb
jmp 0x407b31
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8d0], ebx
push eax
push edi
call fcn.004070d4
mov esi, eax
test esi, esi
jns 0x407ebe
push str.Failed_to_run_per_user_mode.
push esi
push 0x100
push 5
push 0xe4
jmp 0x407b31
lea eax, [ebp - 0x8c0]
mov dword [ebp - 0x8d8], ebx
push eax
call fcn.004074ee
mov esi, eax
test esi, esi
jns 0x407ebe
push str.Failed_to_run_untrusted_mode.
push esi
push 0x100
push 5
push 0xdd
jmp 0x407b31
mov edi, dword [ebp - 0x8c4]
mov eax, dword [ebp - 0x7cc]
mov dword [edi], eax
cmp dword [ebp - 0x8c8], 0
je 0x407ee0
push dword [ebp - 0x8c8]
call fcn.0040367f
test esi, esi
jns 0x407ef2
cmp dword [ebp - 0x46c], 0
jne 0x407ef2
call fcn.0041a9ad
lea eax, [ebp - 0x810]
push eax
call fcn.004156b4
lea eax, [ebp - 0x530]
push eax
call fcn.0041fbe8
lea eax, [ebp - 0x530]
push eax
call fcn.0041fdf6
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x407f59
mov ecx, dword [ebp - 0x894]
test ecx, ecx
je 0x407f59
cmp ecx, 7
je 0x407f59
push ecx
call fcn.0041add7
push eax
push 0xa0000008
push 2
call fcn.00408119
sar esi, 0x1f
xor eax, eax
and esi, 7
mov dword [ebp - 0x8b4], eax
add esp, 0xc
sub esi, 0x7ff8f43e
cmp dword [ebp - 0x8d0], 0
je 0x407f85
test esi, esi
jns 0x407f6a
mov edi, esi
jmp 0x407f6c
mov edi, dword [edi]
push eax
call fcn.0041a209
push eax
push edi
push 0x20000007
push 2
call fcn.00408119
add esp, 0x10
jmp 0x407fbf
cmp dword [ebp - 0x8d8], 0
je 0x407f9e
mov eax, esi
test esi, esi
js 0x407f96
mov eax, dword [edi]
push eax
push 0x20000011
jmp 0x407fb5
cmp dword [ebp - 0x8dc], 0
je 0x407fbf
mov eax, esi
test esi, esi
js 0x407faf
mov eax, dword [edi]
push eax
push 0x20000012
push 2
call fcn.00408119
add esp, 0xc
call fcn.0045ae76
cmp dword [ebp - 0x8d4], 0
jne 0x407ff2
cmp dword [ebp - 0x1c4], 0xffffffff
je 0x407ff2
push dword [ebp - 0x8b4]
mov edi, dword [ebp - 0x8c4]
lea eax, [ebp - 0x1d4]
push dword [edi]
push eax
call fcn.0041c13d
jmp 0x408030
cmp dword [ebp - 0x8b4], 0
je 0x40802a
push 0xa0000005
push 2
call fcn.00408119
pop ecx
pop ecx
lea eax, [ebp - 0x8c0]
push eax
call fcn.00406a25
test eax, eax
jns 0x40802a
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0xe0000017
push eax
call fcn.0045ad16
mov edi, dword [ebp - 0x8c4]
lea eax, [ebp - 0x8c0]
push eax
call fcn.0042d6fd
cmp dword [ebp - 0x8d4], 0
jne 0x408052
push dword [ebp - 0x1dc]
call fcn.00426157
jmp 0x4080a7
lea eax, [ebp - 0x8c0]
push eax
call fcn.004233ce
push 0
push 0
call fcn.0045b344
cmp dword [ebp - 0x1f0], 0
je 0x40808f
push dword [ebp - 0x1f0]
call fcn.0045b412
cmp dword [ebp - 0x1f0], 0
je 0x40808f
push dword [ebp - 0x1f0]
call fcn.0040367f
mov eax, esi
test esi, esi
js 0x408097
mov eax, dword [edi]
push eax
push 0x20000015
push 2
call fcn.00408119
add esp, 0xc
lea eax, [ebp - 0x8c0]
push eax
call fcn.0040774c
cmp dword [ebp - 0x8e0], 0
je 0x4080c1
call fcn.00460dbc
cmp dword [ebp - 0x8e4], 0
je 0x4080cf
call fcn.0045fbe7
cmp dword [ebp - 0x8e8], 0
je 0x4080dd
call fcn.0045d540
cmp dword [ebp - 0x8ec], 0
je 0x4080f0
call fcn.004610c9
call fcn.0045a703
test ebx, ebx
je 0x4080fa
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.004011f8
push 0
call fcn.0045b43c
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00446806
leave
ret 0x14