Function at 0x408db0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x429138
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x436008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], eax
call fcn.00408970
cmp dword [eax], 0
jne 0x408e16
push dword [ebp + 8]
mov ecx, eax
call fcn.00408a20
push str.Kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x40904a
push 0x43107c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40904a
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x7c]
cmp ax, 9
je 0x408e5b
cmp ax, 6
jne 0x40904a
push 0x14
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x58]
push str.2345ImageThumb64.dll
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004020b0
mov byte [ebp - 4], 1
mov ecx, edi
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x40], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408eb7
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.004020b0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x58]
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x70]
call fcn.00407930
add esp, 4
mov esi, eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x408f1e
mov ecx, eax
call fcn.00402050
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [esi + 0x10]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
movq qword [ebp - 0x18], xmm0
mov word [esi], ax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x408f5c
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408f52
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40968c
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x408fae
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408fa4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409691
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x408fff
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408ff5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409696
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00406780
test al, al
je 0x409230
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
call fcn.0040be40
push 0
push esi
mov ecx, eax
call fcn.0040bf40
test al, al
jne 0x409230
jmp 0x4095fc
push 0x12
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x40]
push str.2345ImageThumb.dll
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.004020b0
mov byte [ebp - 4], 4
mov ecx, edi
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
lea edx, [ecx + 2]
mov word [ebp - 0x58], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4090a6
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.004020b0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x70]
call fcn.00407930
add esp, 4
mov esi, eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x40910d
mov ecx, eax
call fcn.00402050
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [esi + 0x10]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
movq qword [ebp - 0x18], xmm0
mov word [esi], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x40914b
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409141
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40969b
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40919d
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409193
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096a0
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x4091ee
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4091e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096a5
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.00406780
test al, al
je 0x409230
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
call fcn.0040be40
push 0
push esi
mov ecx, eax
call fcn.0040bf40
test al, al
je 0x4095fc
push 0xd
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x40]
push str.FreeImage.dll
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.004020b0
mov byte [ebp - 4], 7
mov ecx, edi
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
lea edx, [ecx + 2]
mov word [ebp - 0x58], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409290
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.004020b0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x70]
call fcn.00407930
add esp, 4
mov esi, eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x4092f7
mov ecx, eax
call fcn.00402050
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [esi + 0x10]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
movq qword [ebp - 0x18], xmm0
mov word [esi], ax
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x409335
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40932b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096aa
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x409387
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40937d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096af
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x4093d8
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4093ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096b4
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.00406780
test al, al
je 0x40941a
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
call fcn.0040be40
push 0
push esi
mov ecx, eax
call fcn.0040bf40
test al, al
je 0x4095fc
push 0x11
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x40]
push str.FreeImagePlus.dll
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.004020b0
mov byte [ebp - 4], 0xa
mov ecx, edi
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
lea edx, [ecx + 2]
mov word [ebp - 0x58], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409476
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.004020b0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x70]
call fcn.00407930
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x4094dd
mov ecx, eax
call fcn.00402050
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [esi + 0x10]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
movq qword [ebp - 0x18], xmm0
mov word [esi], ax
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x40951b
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409511
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096b9
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40956d
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409563
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096be
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x4095be
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4095b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096c3
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.00406780
test al, al
je 0x409613
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
call fcn.0040be40
push 0
push esi
mov ecx, eax
call fcn.0040bf40
test al, al
jne 0x409613
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00408ad0
mov byte [ebp - 0x7d], 0
jmp 0x409617
mov byte [ebp - 0x7d], 1
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x409658
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40964e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4096c8
push edx
push ecx
call fcn.00416b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
mov al, byte [ebp - 0x7d]
mov dword [ebp - 0x14], 7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00416b04
mov esp, ebp
pop ebp
ret 0xc
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
call fcn.0041a76f
int3