Function at 0x555850
Capabilities:
Get system information on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x576ffa
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x628
mov eax, dword [0x5bfd00]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebx + 8]
mov dword [ebp - 0x54], 0
mov eax, dword fs:[0x2c]
mov edx, dword [0x5c2b2c]
mov dword [esi + 8], edi
mov dword [ebp - 0x64], edi
mov ecx, dword [eax + edx*4]
mov eax, dword [0x5c2aec]
cmp eax, dword [ecx + 4]
jg 0x555d30
mov eax, dword [0x5c2ae8]
test eax, eax
jne 0x5558d0
xor al, al
jmp 0x55593a
lea ecx, [ebp - 0x60]
push ecx
push edi
call eax
test eax, eax
jne 0x555933
call sub.KERNEL32.dll_GetLastError
push eax
push 2
push 0x4b
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___cdecl_crashpad::_anonymous_namespace::IsProcessWow64_void__
lea ecx, [ebp - 0x4e0]
call fcn.00559b90
push str.IsWow64Process
push eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x54], 0x10
call fcn.0042a880
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x54], 0
call fcn.00559e70
xor al, al
jmp 0x55593a
cmp dword [ebp - 0x60], 0
setne al
mov byte [esi + 0x5d], al
test al, al
je 0x555945
xor al, al
jmp 0x55595d
lea eax, [ebp - 0xe4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp word [ebp - 0xe4], 9
sete al
mov byte [esi + 0x5c], al
test al, al
je 0x5559b5
push 2
push 0x210
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___thiscall_crashpad::ProcessInfo::Initialize_void__
lea ecx, [ebp - 0x190]
call fcn.00559920
or dword [ebp - 0x54], 1
push str.Reading_x64_process_from_x86_process_not_supported
push eax
mov dword [ebp - 4], 2
call fcn.0042a880
add esp, 8
test byte [ebp - 0x54], 1
je 0x555d29
lea ecx, [ebp - 0x190]
call fcn.00559c90
xor al, al
jmp 0x555be1
lea eax, [esi + 0x30]
push eax
lea ecx, [esi + 0x28]
push ecx
push esi
push 0
push edi
call fcn.00552ee0
add esp, 0x14
test al, al
jne 0x555a1e
push 2
push 0x21e
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___thiscall_crashpad::ProcessInfo::Initialize_void__
lea ecx, [ebp - 0x238]
call fcn.00559920
or dword [ebp - 0x54], 2
push str.GetProcessBasicInformation_failed
push eax
mov dword [ebp - 4], 3
call fcn.0042a880
add esp, 8
test byte [ebp - 0x54], 2
je 0x555d29
lea ecx, [ebp - 0x238]
call fcn.00559c90
xor al, al
jmp 0x555be1
cmp byte [esi + 0x5c], 0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
push esi
push eax
push ecx
push edi
je 0x555a35
call fcn.00553680
jmp 0x555a3a
call fcn.005530d0
add esp, 0x10
test al, al
jne 0x555a92
push 2
push 0x227
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___thiscall_crashpad::ProcessInfo::Initialize_void__
lea ecx, [ebp - 0x2e0]
call fcn.00559920
or dword [ebp - 0x54], 4
push str.ReadProcessData_failed
push eax
mov dword [ebp - 4], 4
call fcn.0042a880
add esp, 8
test byte [ebp - 0x54], 4
je 0x555d29
lea ecx, [ebp - 0x2e0]
call fcn.00559c90
xor al, al
jmp 0x555be1
mov al, byte [esi + 0x5c]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x58], eax
test al, 0x20
je 0x555aba
and eax, 0xffffffdf
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x58], eax
call fcn.00559c90
cmp byte [ebp - 0x59], 0
mov dword [ebp - 0x60], 0xffffffff
jne 0x555ace
mov dword [ebp - 0x60], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x54], eax
nop
push 0x1c
lea eax, [ebp - 0x8c]
push eax
push edi
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test eax, eax
je 0x555c68
mov eax, dword [ebp - 0x8c]
lea ecx, [esi + 0x44]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x88]
cdq
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x48]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x94], 0
movaps xmm2, xmmword [ebp - 0xa0]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb4], edx
movaps xmm0, xmmword [ebp - 0xc0]
mov dword [ebp - 0xa4], 0
movaps xmm1, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x50], xmm0
movaps xmmword [ebp - 0x40], xmm1
movaps xmmword [ebp - 0x30], xmm2
cmp eax, dword [esi + 0x4c]
je 0x555baf
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
add dword [esi + 0x48], 0x30
jmp 0x555bb9
lea edx, [ebp - 0x50]
push edx
push eax
call fcn.005546e0
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x555c01
add edi, eax
mov eax, dword [ebp - 0x54]
adc eax, 0
mov dword [ebp - 0x54], eax
cmp eax, dword [ebp - 0x60]
jb 0x555ae0
ja 0x555bdf
cmp edi, 0xffffffff
jbe 0x555ae0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00563360
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 2
push 0x152
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___cdecl_crashpad::ReadMemoryInfo_void__bool_class_crashpad::ProcessInfo__
lea ecx, [ebp - 0x388]
call fcn.00559920
mov ecx, dword [ebp - 0x58]
or ecx, 0x80
mov dword [ebp - 4], 7
push str.RegionSize__0
push eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
call fcn.0042a880
mov eax, dword [ebp - 0x58]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test al, al
jns 0x555cd9
and eax, 0xffffff7f
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x58], eax
call fcn.00559c90
jmp 0x555cd9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x555bdf
call sub.KERNEL32.dll_GetLastError
push eax
push 2
push 0x149
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___cdecl_crashpad::ReadMemoryInfo_void__bool_class_crashpad::ProcessInfo__
lea ecx, [ebp - 0x590]
call fcn.00559b90
mov ecx, dword [ebp - 0x58]
or ecx, 0x40
mov dword [ebp - 4], 6
push 0x59bfb4
push eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
call fcn.0042a880
mov eax, dword [ebp - 0x58]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test al, 0x40
je 0x555cd9
and eax, 0xffffffbf
lea ecx, [ebp - 0x590]
mov dword [ebp - 0x58], eax
call fcn.00559e70
push 2
push 0x22c
push str.D:PROVINCEprovince.launcherBackendVendor_sentryexternalcrashpadutilwinprocess_info.cc
push str.bool___thiscall_crashpad::ProcessInfo::Initialize_void__
lea ecx, [ebp - 0x430]
call fcn.00559920
mov ecx, dword [ebp - 0x58]
or ecx, 8
mov dword [ebp - 4], 8
push str.ReadMemoryInfo_failed
push eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
call fcn.0042a880
mov ecx, dword [ebp - 0x58]
add esp, 8
test cl, 8
je 0x555d29
lea ecx, [ebp - 0x430]
call fcn.00559c90
xor al, al
jmp 0x555be1
push 0x5c2aec
call fcn.005638d4
add esp, 4
cmp dword [0x5c2aec], 0xffffffff
jne 0x5558c3
push 0
push str.::IsWow64Process
push str.kernel32.dll
mov dword [ebp - 4], 0
call fcn.00551ee0
push 0x5c2aec
mov dword [0x5c2ae8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00563883
add esp, 0x10
jmp 0x5558c3