Function at 0x42f48d
Capabilities:
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x48ec
call fcn.0043dba0
mov eax, dword [0x4564f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
push 0x409f7c
lea ecx, [ebp - 0x40a8]
call fcn.0044efe3
xor ebx, ebx
cmp dword [esi + 0xdc], ebx
mov byte [ebp - 0x4091], 0
jne 0x42f52a
mov edi, dword [0x458858]
cmp edi, ebx
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fca0
mov eax, dword [esi + 0x18]
push 0x409f50
push eax
push 0x409680
push 9
lea ecx, [ebp - 0x48ec]
mov dword [ebp - 0x40ec], ebx
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
pop ecx
pop ecx
jmp 0x42fc99
mov eax, dword [esi + 0xd8]
push ebx
push ebx
push 3
push ebx
push 3
push 0xc0000000
push eax
lea edi, [esi + 0x84]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push eax
mov ecx, edi
call fcn.004147c2
mov eax, dword [edi]
cmp eax, ebx
je 0x42f560
cmp eax, 0xffffffff
jne 0x42f5f2
mov ecx, dword [0x458858]
cmp ecx, ebx
je 0x42fca0
push 9
push 1
call fcn.00414777
test al, al
je 0x42fca0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x40a4]
push eax
call fcn.00414575
mov eax, dword [eax]
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0x18]
mov edi, dword [0x458858]
push eax
push ecx
push 0x409f2c
push edx
push 0x409680
push 9
lea ecx, [ebp - 0x48ec]
mov dword [ebp - 0x40ec], ebx
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x10
mov ecx, eax
call fcn.0044ef88
lea ecx, [ebp - 0x40a4]
call fcn.00413720
jmp 0x42fca0
push ebx
mov edi, eax
lea eax, [ebp - 0x409c]
push eax
push 0x4000
lea eax, [ebp - 0x4024]
push eax
push ebx
push ebx
push 0x4100c
push edi
mov dword [ebp - 0x409c], ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x42f687
mov edi, dword [0x458858]
cmp edi, ebx
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fca0
mov ebx, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
mov dword [ebp - 0x40e8], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x409ef8
push ebx
push 0x409680
push 9
lea ecx, [ebp - 0x48ec]
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0xc
jmp 0x42fc99
mov bl, byte [esi + 0xe0]
cmp bl, byte [ebp - 0x4024]
jae 0x42fc3b
movzx eax, bl
mov dword [ebp - 0x4098], eax
mov eax, dword [ebp + eax*8 - 0x401c]
test eax, eax
je 0x42fc3b
lea edi, [ebp + eax - 0x4024]
cmp byte [edi], bl
jne 0x42f6d2
mov al, byte [edi + 1]
cmp al, byte [esi + 0xe1]
jne 0x42f6d2
mov al, byte [edi + 2]
cmp al, byte [esi + 0xe2]
je 0x42f6e6
mov edi, dword [edi + 8]
test edi, edi
je 0x42f764
lea edi, [ebp + edi - 0x4024]
jmp 0x42f6b8
cmp byte [edi + 3], 0
je 0x42f7dc
mov edi, dword [0x458858]
test edi, edi
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42f76a
movzx ecx, byte [esi + 0xe2]
mov eax, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push ecx
movzx ecx, byte [esi + 0xe1]
push ecx
push dword [ebp - 0x4098]
lea ecx, [ebp - 0x48ec]
push 0x409ecc
push eax
push 0x409680
push 9
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x14
mov ecx, eax
call fcn.0044ef88
mov edi, dword [0x458858]
test edi, edi
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fca0
movzx ecx, byte [esi + 0xe0]
mov eax, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push ecx
movzx ecx, byte [esi + 0xe2]
push ecx
movzx ecx, byte [esi + 0xe1]
push ecx
push 0x409e9c
push eax
push 0x409680
push 9
lea ecx, [ebp - 0x48ec]
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x14
jmp 0x42fc99
mov al, byte [esi + 0xd5]
mov byte [esi + 0x4c], al
mov al, byte [esi + 0xe1]
mov byte [esi + 0x4e], al
mov al, byte [esi + 0xe2]
mov byte [esi + 0x4f], al
movzx eax, byte [edi + 0xc]
and eax, 0x1f
mov dword [esi + 0x48], 8
mov byte [esi + 0x4d], bl
push dword [eax*4 + 0x4563c0]
lea ecx, [ebp - 0x40a4]
call fcn.004136fa
lea eax, [ebp - 0x40a4]
push eax
lea ecx, [esi + 0x20]
call fcn.004137be
lea ecx, [ebp - 0x40a4]
call fcn.00413720
lea eax, [edi + 0x14]
push eax
push 0x409e94
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.0043d64a
add esp, 0x14
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x64]
push eax
call fcn.00413806
lea eax, [edi + 0x1c]
push eax
push 0x409e8c
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.0043d64a
add esp, 0x14
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x6c]
push eax
call fcn.00413806
lea eax, [edi + 0x2c]
push eax
push 0x409e84
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.0043d64a
add esp, 0x14
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x74]
push eax
call fcn.00413806
mov ebx, dword [0x458858]
test ebx, ebx
je 0x42f937
push 9
push 2
mov ecx, ebx
call fcn.00414777
test al, al
je 0x42f937
test byte [edi + 0xd], 0x80
mov dword [ebp - 0x4098], 0x409e7c
jne 0x42f8da
mov dword [ebp - 0x4098], 0x409e74
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push eax
movzx eax, byte [edi + 0xc]
push ecx
push dword [esi + 0x64]
and eax, 0x1f
push dword [ebp - 0x4098]
mov dword [ebp - 0x40e8], ebx
push eax
push 0x409e18
push edx
mov ebx, 0x409680
push ebx
push 9
lea ecx, [ebp - 0x48ec]
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x1c
mov ecx, eax
call fcn.0044ef88
jmp 0x42f93c
mov ebx, 0x409680
mov al, byte [edi + 0xc]
and al, 0x1f
push 0x6c
mov byte [esi + 0xcc], al
lea eax, [ebp - 0x4090]
push 0
push eax
call fcn.0043d340
mov cl, byte [esi + 0xe0]
add esp, 0xc
mov byte [ebp - 0x408d], cl
mov cl, byte [esi + 0xe1]
push 0x2c
pop eax
mov byte [ebp - 0x408c], cl
mov cl, byte [esi + 0xe2]
mov word [ebp - 0x4090], ax
mov dword [ebp - 0x4078], eax
mov byte [ebp - 0x408b], cl
mov cl, byte [0x4563b8]
lea eax, [ebp - 0x409c]
push eax
lea eax, [ebp - 0x4090]
mov byte [ebp - 0x408a], cl
push eax
mov ecx, esi
mov byte [ebp - 0x4074], 0
mov byte [ebp - 0x4089], 0x40
mov byte [ebp - 0x4088], 2
mov dword [ebp - 0x4080], 5
call fcn.0042d866
test eax, eax
jne 0x42fa17
mov edi, dword [0x458858]
test edi, edi
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fca0
movzx ecx, byte [ebp - 0x408e]
mov eax, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push ecx
push 0x409dc8
push eax
mov dword [ebp - 0x40e8], edi
push ebx
jmp 0x42f663
lea eax, [ebp - 0x40e4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esi + 0x84]
xor ecx, ecx
push ecx
lea edx, [ebp - 0x409c]
push edx
push 0x18
lea edx, [ebp - 0x40c0]
push edx
push ecx
push ecx
push 0x41010
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
mov edi, dword [0x458858]
jne 0x42fada
test edi, edi
je 0x42facd
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42facd
mov eax, dword [esi + 0xd8]
and dword [ebp - 0x40ec], 0
mov dword [ebp - 0x4098], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x40a0], eax
mov dword [ebp - 0x40e8], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x4098]
lea ecx, [ebp - 0x48ec]
push 0x409d80
push dword [ebp - 0x40a0]
push ebx
push 9
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x10
mov ecx, eax
call fcn.0044ef88
mov eax, dword [0x457920]
mov dword [esi + 0x3c], eax
jmp 0x42fc2a
test edi, edi
je 0x42fb44
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fb44
movzx ecx, byte [ebp - 0x40ac]
mov eax, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push ecx
push dword [ebp - 0x40b0]
lea ecx, [ebp - 0x48ec]
push dword [ebp - 0x40b8]
mov dword [ebp - 0x40e8], edi
push dword [ebp - 0x40bc]
push 0x409d20
push eax
push ebx
push 9
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x18
mov ecx, eax
call fcn.0044ef88
mov eax, dword [0x457920]
cmp dword [ebp - 0x40b0], eax
jbe 0x42fb57
mov eax, dword [ebp - 0x40b0]
mov ecx, dword [ebp - 0x40b8]
test ecx, ecx
mov dword [esi + 0x3c], eax
je 0x42fb7f
or eax, 0xffffffff
cmp ecx, eax
je 0x42fb75
lea eax, [ecx - 1]
imul eax, dword [ebp - 0x40e0]
cmp dword [ebp - 0x40bc], eax
jae 0x42fbda
jmp 0x42fbd4
mov edi, dword [0x458858]
test edi, edi
je 0x42fbd4
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fbd4
mov eax, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push 0x409ce8
push eax
push ebx
push 9
lea ecx, [ebp - 0x48ec]
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
pop ecx
pop ecx
mov ecx, eax
call fcn.0044ef88
mov eax, dword [ebp - 0x40bc]
test eax, eax
mov dword [esi + 0x40], eax
jne 0x42fc32
push dword [0x45791c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x458858]
and dword [ebp - 0x40ec], 0
push 0x4099e0
push eax
push ebx
mov dword [ebp - 0x40e8], ecx
push 9
lea ecx, [ebp - 0x48ec]
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0xc
mov ecx, eax
call fcn.0044ef88
mov eax, dword [0x45791c]
mov dword [esi + 0x40], eax
mov byte [ebp - 0x4091], 1
jmp 0x42fcb8
mov edi, dword [0x458858]
test edi, edi
je 0x42fca0
push 9
push 1
mov ecx, edi
call fcn.00414777
test al, al
je 0x42fca0
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0x18]
and dword [ebp - 0x40ec], 0
push eax
movzx eax, bl
push eax
push 0x409cb0
push ecx
push 0x409680
push 9
lea ecx, [ebp - 0x48ec]
mov dword [ebp - 0x40e8], edi
call fcn.0044ef27
push eax
call fcn.0044ed72
add esp, 0xc
push eax
call fcn.0044ed72
add esp, 0x10
mov ecx, eax
call fcn.0044ef88
add esi, 0x84
mov eax, dword [esi]
test eax, eax
je 0x42fcb8
cmp eax, 0xffffffff
je 0x42fcb8
mov ecx, esi
call fcn.004147ea
lea ecx, [ebp - 0x40a8]
call fcn.0044f049
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x4091]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043db8b
leave
ret