Function at 0x4091f2
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x944
mov eax, dword [0x4b1040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x18]
push 9
mov dword [ebp - 0x8fc], eax
xor eax, eax
mov dword [ebp - 0x8f4], edi
lea edi, [ebp - 0x944]
pop ecx
rep stosd dword es:[edi], eax
push 0x11c
mov dword [ebp - 0x900], eax
xor edi, edi
mov dword [ebp - 0x91c], eax
mov dword [ebp - 0x918], eax
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x910], eax
lea eax, [ebp - 0x120]
push edi
push eax
mov dword [ebp - 0x920], esi
call fcn.00452250
push 0x7d0
lea eax, [ebp - 0x8f0]
mov dword [ebp - 0x8f8], edi
push edi
push eax
mov dword [ebp - 0x904], edi
mov dword [ebp - 0x908], edi
mov dword [ebp - 0x90c], edi
call fcn.00452250
add esp, 0x18
mov dword [ebp - 0x8e0], 0x30
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.0046606b
push 0x4080b0
call fcn.00401227
push edi
push 3
call fcn.00466304
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x170]
push eax
push esi
call fcn.0046478a
mov esi, eax
test esi, esi
jns 0x4092fe
push str.Failed_to_parse_command_line.
push esi
push 0x100
push 5
push 0x75
push str.d:_awixwix_src_burnengineengine.cpp
call fcn.004012a1
mov ebx, edi
mov edi, dword [ebp - 0x8f4]
add esp, 0x18
jmp 0x409651
push ebx
lea eax, [ebp - 0x8f0]
push eax
call fcn.00408283
mov esi, eax
test esi, esi
jns 0x409322
push str.Failed_to_initialize_engine_state.
push esi
push 0x100
push 5
push 0x78
jmp 0x4092e4
cmp dword [ebp - 0x154], 2
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x8d0], eax
je 0x409353
cmp dword [ebp - 0x8d8], 2
jle 0x409353
lea eax, [ebp - 0x8c8]
push eax
push edi
mov edi, dword [ebp - 0x8fc]
push edi
call fcn.0042bbb7
jmp 0x409359
mov edi, dword [ebp - 0x8fc]
call fcn.0040989b
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
test esi, esi
jns 0x409395
push str.Failed_to_initialize_COM.
push esi
push 0x100
push 5
push 0x86
push str.d:_awixwix_src_burnengineengine.cpp
call fcn.004012a1
mov ebx, dword [ebp - 0x900]
jmp 0x4092f0
xor ebx, ebx
inc ebx
call fcn.0046553f
mov esi, eax
test esi, esi
jns 0x4093c4
push str.Failed_to_initialize_Cryputil.
push esi
push 0x100
push 5
push 0x8b
push str.d:_awixwix_src_burnengineengine.cpp
call fcn.004012a1
jmp 0x4092f0
mov dword [ebp - 0x91c], ebx
call fcn.0046bf91
call fcn.00467873
mov esi, eax
test esi, esi
jns 0x4093ee
push str.Failed_to_initialize_Regutil.
push esi
push 0x100
push 5
push 0x92
jmp 0x4093b5
mov dword [ebp - 0x918], ebx
call fcn.0046a557
mov esi, eax
test esi, esi
jns 0x409413
push str.Failed_to_initialize_Wiutil.
push esi
push 0x100
push 5
push 0x96
jmp 0x4093b5
mov dword [ebp - 0x914], ebx
call fcn.0046b53b
mov esi, eax
test esi, esi
jns 0x40943b
push str.Failed_to_initialize_XML_util.
push esi
push 0x100
push 5
push 0x9a
jmp 0x4093b5
lea eax, [ebp - 0x120]
mov dword [ebp - 0x910], ebx
push eax
call fcn.004665b2
mov esi, eax
test esi, esi
jns 0x40946a
push str.Failed_to_get_OS_info.
push esi
push 0x100
push 5
push 0x9e
jmp 0x4093b5
lea eax, [ebp - 0x944]
mov esi, str.unknown_architecture
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movzx eax, word [ebp - 0x944]
test eax, eax
je 0x4094ab
cmp eax, 5
je 0x4094a4
cmp eax, 9
je 0x40949d
cmp eax, 0xc
jne 0x4094b0
mov esi, str.ARM64
jmp 0x4094b0
mov esi, 0x47a0a8
jmp 0x4094b0
mov esi, 0x47a0ac
jmp 0x4094b0
mov esi, 0x47a08c
push 0
lea eax, [ebp - 0x8f8]
push eax
call fcn.00406418
movzx eax, word [ebp - 0xc]
push esi
push 0x47a08c
push dword [ebp - 0x8f8]
push eax
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push str.5.0.041e11442b2ca93e444b60213b5ae99dcbab787d8
push 0x20000001
push 2
call fcn.00409885
add esp, 0x28
cmp dword [ebp - 0x8f8], 0
je 0x409510
push dword [ebp - 0x8f8]
call fcn.00404128
and dword [ebp - 0x8f8], 0
lea eax, [ebp - 0x8f0]
push eax
call fcn.00422c5c
mov esi, eax
test esi, esi
jns 0x409539
push str.Failed_to_initialize_core.
push esi
push 0x100
push 5
push 0xc0
jmp 0x4093b5
mov eax, dword [ebp - 0x154]
sub eax, 1
je 0x409613
sub eax, 1
je 0x4095dd
sub eax, 1
je 0x4095ad
sub eax, 1
je 0x409577
push str.Invalid_run_mode.
mov esi, 0x8000ffff
push esi
push 0x100
push 5
push 0xe3
jmp 0x4093b5
push dword [ebp + 0x14]
lea eax, [ebp - 0x8f0]
mov dword [ebp - 0x90c], ebx
push eax
call fcn.00408e52
mov esi, eax
test esi, esi
jns 0x409643
push str.Failed_to_run_RunOnce_mode.
push esi
push 0x100
push 5
push 0xde
jmp 0x4093b5
lea eax, [ebp - 0x8f0]
mov dword [ebp - 0x904], ebx
push eax
push edi
call fcn.00408adf
mov esi, eax
test esi, esi
jns 0x409643
push str.Failed_to_run_embedded_mode.
push esi
push 0x100
push 5
push 0xd7
jmp 0x4093b5
lea eax, [ebp - 0x8f0]
mov dword [ebp - 0x908], ebx
push eax
push dword [ebp - 0x920]
push edi
call fcn.00408874
mov esi, eax
test esi, esi
jns 0x409643
push str.Failed_to_run_elevated_mode.
push esi
push 0x100
push 5
push 0xd0
jmp 0x4093b5
lea eax, [ebp - 0x8f0]
mov dword [ebp - 0x904], ebx
push eax
push edi
call fcn.00408b53
mov esi, eax
test esi, esi
jns 0x409643
push str.Failed_to_run_normal_mode.
push esi
push 0x100
push 5
push 0xc9
jmp 0x4093b5
mov edi, dword [ebp - 0x8f4]
mov eax, dword [ebp - 0x7d4]
mov dword [edi], eax
cmp dword [ebp - 0x8f8], 0
je 0x409665
push dword [ebp - 0x8f8]
call fcn.00404128
test esi, esi
jns 0x409677
cmp dword [ebp - 0x46c], 0
jne 0x409677
call fcn.00419e57
lea eax, [ebp - 0x840]
push eax
call fcn.0041490b
lea eax, [ebp - 0x530]
push eax
call fcn.0041eba3
lea eax, [ebp - 0x530]
push eax
call fcn.0041edb1
mov ecx, dword [ebp - 0x8e4]
test ecx, ecx
je 0x4096de
mov eax, dword [ebp - 0x8c4]
test eax, eax
je 0x4096de
cmp eax, 7
je 0x4096de
push eax
call fcn.0041a285
push eax
push 0xa0000008
push 2
call fcn.00409885
sar esi, 0x1f
xor ecx, ecx
and esi, 7
mov dword [ebp - 0x8e4], ecx
add esp, 0xc
sub esi, 0x7ff8f43e
cmp dword [ebp - 0x904], 0
je 0x40970a
test esi, esi
jns 0x4096ef
mov edi, esi
jmp 0x4096f1
mov edi, dword [edi]
push ecx
call fcn.004196cb
push eax
push edi
push 0x20000007
push 2
call fcn.00409885
add esp, 0x10
jmp 0x40972b
cmp dword [ebp - 0x90c], 0
je 0x40972b
mov eax, esi
test esi, esi
js 0x40971b
mov eax, dword [edi]
push eax
push 0x20000012
push 2
call fcn.00409885
add esp, 0xc
call fcn.00465e0a
cmp dword [ebp - 0x908], 0
jne 0x40975e
cmp dword [ebp - 0x1c4], 0xffffffff
je 0x40975e
push dword [ebp - 0x8e4]
mov edi, dword [ebp - 0x8f4]
lea eax, [ebp - 0x1d4]
push dword [edi]
push eax
call fcn.0041b1ed
jmp 0x40979c
cmp dword [ebp - 0x8e4], 0
je 0x409796
push 0xa0000005
push 2
call fcn.00409885
pop ecx
pop ecx
lea eax, [ebp - 0x8f0]
push eax
call fcn.00408525
test eax, eax
jns 0x409796
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0xe0000017
push eax
call fcn.00465caa
mov edi, dword [ebp - 0x8f4]
lea eax, [ebp - 0x8f0]
push eax
call fcn.0042c17d
cmp dword [ebp - 0x908], 0
jne 0x4097be
push dword [ebp - 0x1dc]
call fcn.00424bd4
jmp 0x409813
lea eax, [ebp - 0x8f0]
push eax
call fcn.00422399
push 0
push 0
call fcn.004662d8
cmp dword [ebp - 0x1f0], 0
je 0x4097fb
push dword [ebp - 0x1f0]
call fcn.004663a6
cmp dword [ebp - 0x1f0], 0
je 0x4097fb
push dword [ebp - 0x1f0]
call fcn.00404128
mov eax, esi
test esi, esi
js 0x409803
mov eax, dword [edi]
push eax
push 0x20000015
push 2
call fcn.00409885
add esp, 0xc
lea eax, [ebp - 0x8f0]
push eax
call fcn.00408f7d
cmp dword [ebp - 0x910], 0
je 0x40982d
call fcn.0046bd4c
cmp dword [ebp - 0x914], 0
je 0x40983b
call fcn.0046ab77
cmp dword [ebp - 0x918], 0
je 0x409849
call fcn.004684d0
cmp dword [ebp - 0x91c], 0
je 0x40985c
call fcn.0046c05b
call fcn.00465697
test ebx, ebx
je 0x409866
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00401271
push 0
call fcn.004663d0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451586
leave
ret 0x14