Function at 0x401160
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41671a
mov eax, dword fs:[0]
push eax
sub esp, 0x1a4
mov eax, dword [0x41e358]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov esi, ecx
push eax
mov edi, esi
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 4], 0
call fcn.004019b0
test al, al
jne 0x4011e3
mov eax, dword [esi + 8]
push 0x40
push 0x41a168
push 0x41a268
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040893a
mov esp, ebp
pop ebp
ret 8
cmp byte [ebp + 0xc], 0
je 0x4011ff
cmp dword [esi + 4], 0
je 0x4011c5
push 0x40
push 0x41a168
push 0x41a27c
push 0
jmp 0x4011bf
call fcn.00406470
mov dword [ebp - 0x1a4], eax
cmp eax, 0x1060000
jle 0x401229
cmp dword [esi + 4], 0
je 0x4011c5
mov ecx, dword [esi + 8]
push 0x40
push 0x41a168
push 0x41a290
push ecx
jmp 0x4011bf
mov eax, 0x41a180
lea ecx, [ebp - 0xb4]
call fcn.00402950
lea edx, [ebp - 0xb4]
lea ecx, [esi + 0xc]
mov ebx, 1
push edx
mov byte [ebp - 4], bl
mov dword [ebp - 0x1ac], ecx
call fcn.00406770
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0xa0], 8
jb 0x401275
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00408abf
add esp, 4
lea ecx, [ebp - 0xd0]
call fcn.00406690
mov eax, 0x41a2c0
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 2
call fcn.00402950
lea edi, [ebp - 0xd0]
mov byte [ebp - 4], 3
call fcn.00402da0
lea ecx, [ebp - 0x19c]
push ecx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x19c]
cmp ax, 6
je 0x4012cc
mov byte [ebp - 0x19d], 0
cmp ax, 9
jne 0x4012d3
mov byte [ebp - 0x19d], 1
lea ebx, [ebp - 0x98]
call fcn.004070c0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 4
call fcn.00406fe0
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 5
call fcn.00407220
mov byte [ebp - 4], 6
cmp edi, 0xffffffff
je 0x401342
mov edx, dword [ebp - 0xc0]
sub edx, edi
push edx
lea ecx, [edi + 1]
lea esi, [ebp - 0x7c]
lea edx, [ebp - 0xd0]
call fcn.00402a10
mov edi, eax
lea esi, [ebp - 0x15c]
mov byte [ebp - 4], 7
call fcn.00402a40
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 6
call fcn.004029b0
mov esi, dword [ebp - 0x1a8]
xor ebx, ebx
push ebx
lea eax, [ebp - 0x15c]
push eax
or eax, 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.00402be0
mov eax, 0x41a2c8
lea ecx, [ebp - 0x7c]
call fcn.00402950
lea edi, [ebx + 8]
mov byte [ebp - 4], 8
call fcn.00406fa0
cmp al, 1
mov eax, str.true
je 0x401381
mov eax, str.false
lea ecx, [ebp - 0x124]
call fcn.00402950
mov eax, 0x41a180
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 9
call fcn.00402950
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0x1ac]
lea edx, [ebp - 0x124]
push edx
lea eax, [ebp - 0xec]
push eax
push ecx
lea edx, [ebp - 0xd0]
push edx
lea edx, [ebp - 0x140]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xa
call fcn.00402230
cmp dword [ebp - 0xa0], edi
jb 0x4013ec
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00408abf
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xa0], 7
mov dword [ebp - 0xa4], ebx
mov word [ebp - 0xb4], cx
cmp dword [ebp - 0x110], edi
jb 0x40141c
mov edx, dword [ebp - 0x124]
push edx
call fcn.00408abf
add esp, 4
xor eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x110], 7
mov dword [ebp - 0x114], ebx
mov word [ebp - 0x124], ax
cmp dword [ebp - 0x68], edi
jb 0x40144a
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00408abf
add esp, 4
call fcn.00406fa0
test al, al
jne 0x4014ed
cmp byte [ebp - 0x19d], al
jne 0x4014ed
lea edx, [ebp - 0xec]
push edx
mov edx, 0x41a2e8
call fcn.004029e0
cmp eax, 0xffffffff
je 0x4014ed
lea eax, [ebp - 0x98]
push eax
mov edx, 0x41a2f0
call fcn.004029e0
cmp eax, 0xffffffff
jne 0x4014a5
lea ecx, [ebp - 0x98]
push ecx
mov edx, 0x41a2f8
call fcn.004029e0
cmp eax, 0xffffffff
je 0x4014ed
cmp dword [esi + 4], ebx
je 0x4014c5
mov edx, dword [esi + 8]
push 0x41
push 0x41a168
push 0x41a300
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x4014ed
lea ebx, [ebp - 0x7c]
call fcn.00402740
mov eax, ebx
push eax
push esi
mov byte [ebp - 4], 0xb
call fcn.004025b0
mov esi, ebx
mov byte [ebp - 4], 6
call fcn.004029b0
mov esi, dword [ebp - 0x1a8]
xor ebx, ebx
lea eax, [ebp - 0x178]
call fcn.004020a0
xor ecx, ecx
mov dword [ebp - 0xf4], 7
mov dword [ebp - 0xf8], ebx
mov word [ebp - 0x108], cx
mov byte [ebp - 4], 0xd
mov ecx, dword [esi + 8]
cmp dword [ebp - 0x168], ebx
je 0x401863
cmp dword [esi + 4], ebx
setne dl
movzx eax, dl
push eax
push ecx
call fcn.004062a0
add esp, 8
test al, al
jne 0x40158d
lea esi, [ebp - 0x108]
call fcn.004029b0
lea esi, [ebp - 0x178]
call fcn.004029b0
lea esi, [ebp - 0x140]
call fcn.004029b0
lea esi, [ebp - 0xec]
call fcn.004029b0
lea esi, [ebp - 0x98]
call fcn.004029b0
lea esi, [ebp - 0x15c]
call fcn.004029b0
lea esi, [ebp - 0xd0]
call fcn.004029b0
jmp 0x4011c5
mov edx, dword [ebp - 0x1a4]
dec edx
cmp edx, 0x105ffff
ja 0x4015f1
cmp dword [esi + 4], ebx
je 0x4015c0
mov eax, dword [esi + 8]
push 0x41
push 0x41a34c
push 0x41a358
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40153b
lea ecx, [ebp - 0x7c]
call fcn.00403c20
mov edi, eax
lea esi, [ebp - 0x108]
mov byte [ebp - 4], 0xe
call fcn.00402a40
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 0xd
call fcn.004029b0
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.00401ac0
mov eax, 0x41a378
lea ecx, [ebp - 0xb4]
call fcn.00402950
mov byte [ebp - 4], 0xf
call fcn.00406fa0
cmp al, 1
mov eax, str.true
je 0x401618
mov eax, str.false
lea ecx, [ebp - 0x7c]
call fcn.00402950
mov eax, 0x41a180
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x10
call fcn.00402950
lea edx, [ebp - 0xb4]
push edx
mov edx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xec]
push ecx
push edx
lea eax, [ebp - 0xd0]
push eax
lea edx, [ebp - 0x140]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x11
call fcn.00402230
lea esi, [ebp - 0x124]
call fcn.004029b0
lea esi, [ebp - 0x7c]
call fcn.004029b0
lea esi, [ebp - 0xb4]
mov byte [ebp - 4], 0xd
call fcn.004029b0
mov ebx, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x178]
push ecx
lea ecx, [ebp - 0x108]
mov edx, ebx
call fcn.00401ef0
test al, al
je 0x401876
mov ecx, 0x11
mov esi, str.SoftwareMicrosoftBingDictConfig
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x1a8]
push edx
push 0x2001f
push 0
lea eax, [ebp - 0x60]
push eax
push 0x80000001
movsw word es:[edi], word [esi]
mov dword [ebp - 0x1a8], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, dword [ebp - 0x1a8]
sub esp, 0x1c
mov eax, str.Lady_Gaga_Justin_Bieber_Mariah_Carey_Linkin_Park
mov ecx, esp
mov edi, esi
mov dword [ebp - 0x1a4], esp
call fcn.00402950
mov ecx, str.PopularNowWords
call fcn.00407300
mov eax, 0x41a44c
mov ecx, esp
mov dword [ebp - 0x1a4], esp
call fcn.00402950
mov ecx, str.PopularNowTitle
call fcn.00407300
mov eax, str.True
mov ecx, esp
mov dword [ebp - 0x1a4], esp
call fcn.00402950
mov ecx, str.showToday
call fcn.00407300
mov eax, str.http:__www.microsofttranslator.com_bv.aspx_lo0fromtozh_CHSa1
mov ecx, esp
mov dword [ebp - 0x1a4], esp
call fcn.00402950
mov ecx, str.TranslatorUrlFormat
call fcn.00407300
mov eax, str.9_13
mov ecx, esp
mov dword [ebp - 0x1a4], esp
call fcn.00402950
mov ecx, str.HoursOpenMsnToday
call fcn.00407300
mov ecx, dword [ebx + 8]
add esp, 0x1c
push 0x24
push 0x41a588
push 0x41a594
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
sub esp, 0x1c
cmp eax, 6
mov dword [ebp - 0x1a4], esp
mov ecx, esp
mov eax, str.True
je 0x4017af
mov eax, str.False
call fcn.00402950
mov ecx, str.checkHP
call fcn.00407300
add esp, 0x1c
call fcn.00401da0
call fcn.00401c30
mov eax, 0x41a5e8
lea ecx, [ebp - 0x124]
call fcn.00402950
mov byte [ebp - 4], 0x12
call fcn.00406fa0
cmp al, 1
mov eax, str.true
je 0x4017f2
mov eax, str.false
lea ecx, [ebp - 0x7c]
call fcn.00402950
mov eax, 0x41a180
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x13
call fcn.00402950
lea edx, [ebp - 0x124]
push edx
mov edx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xec]
push ecx
push edx
lea eax, [ebp - 0xd0]
push eax
lea edx, [ebp - 0x140]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x14
call fcn.00402230
lea esi, [ebp - 0x194]
call fcn.004029b0
lea esi, [ebp - 0x7c]
call fcn.004029b0
lea esi, [ebp - 0x124]
call fcn.004029b0
jmp 0x401876
push 0x40
push 0x41a168
push 0x41a5f0
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, 8
cmp dword [ebp - 0xf4], esi
jb 0x401892
mov edx, dword [ebp - 0x108]
push edx
call fcn.00408abf
add esp, 4
xor ebx, ebx
xor eax, eax
mov edi, 7
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xf8], ebx
mov word [ebp - 0x108], ax
cmp dword [ebp - 0x164], esi
jb 0x4018c5
mov ecx, dword [ebp - 0x178]
push ecx
call fcn.00408abf
add esp, 4
xor edx, edx
mov dword [ebp - 0x164], edi
mov dword [ebp - 0x168], ebx
mov word [ebp - 0x178], dx
cmp dword [ebp - 0x12c], esi
jb 0x4018f1
mov eax, dword [ebp - 0x140]
push eax
call fcn.00408abf
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x130], ebx
mov word [ebp - 0x140], cx
cmp dword [ebp - 0xd8], esi
jb 0x40191d
mov edx, dword [ebp - 0xec]
push edx
call fcn.00408abf
add esp, 4
xor eax, eax
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xdc], ebx
mov word [ebp - 0xec], ax
cmp dword [ebp - 0x84], esi
jb 0x401949
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.00408abf
add esp, 4
xor edx, edx
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x88], ebx
mov word [ebp - 0x98], dx
cmp dword [ebp - 0x148], esi
jb 0x401975
mov eax, dword [ebp - 0x15c]
push eax
call fcn.00408abf
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x14c], ebx
mov word [ebp - 0x15c], cx
cmp dword [ebp - 0xbc], esi
jb 0x4011c5
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00408abf
add esp, 4
jmp 0x4011c5