Function at 0x43aac0
Capabilities:
Contain obfuscated stackstrings
Get geographical location
Get memory capacity
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x566267
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x640040]
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, ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x38], 0
call dword [0x586620]
mov dword [ebp - 4], 0
lea ecx, [edi + 0xd8]
mov dword [edi], 0x5a0b0c
call fcn.004b9d60
mov byte [ebp - 4], 1
lea ecx, [edi + 0x150]
call fcn.0052fa60
mov byte [ebp - 4], 2
lea esi, [edi + 0x1c0]
mov dword [ebp - 0x4c], esi
mov ecx, esi
push 0xa
mov dword [ebp - 0x50], esi
call dword [0x586ad0]
mov byte [ebp - 4], 3
mov dword [esi], 0x58aff4
mov byte [ebp - 4], 4
mov dword [esi], 0x593180
mov byte [ebp - 4], 5
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 1
mov ecx, esi
call fcn.004fd560
mov byte [ebp - 4], 6
lea esi, [edi + 0x1f4]
lea edi, [esi + 0x30]
mov dword [ebp - 0x14], esi
mov ecx, edi
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 7
lea ecx, [esi + 0x8c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 8
lea ecx, [esi + 0x94]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 9
add esi, 0xbc
push 0xa
mov ecx, esi
mov dword [ebp - 0x54], esi
call dword [0x586ad0]
mov byte [ebp - 4], 0xa
mov dword [esi], 0x58aff4
mov byte [ebp - 4], 0xb
mov dword [esi], 0x593180
mov byte [ebp - 4], 0xc
mov ecx, esi
call dword [sym.imp.mfc140u.dll_Ordinal_12608]
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x10]
mov dword [esi + 4], 0
push eax
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x587818
mov ecx, edi
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
xor eax, eax
mov dword [esi + 0x2c], 0
mov dword [esi + 0x68], 0
lea ecx, [esi + 0x8c]
mov word [esi + 0xac], ax
push 0x587818
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
push 0x587818
lea ecx, [esi + 0x94]
mov dword [esi + 0x90], 0
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
xor eax, eax
mov dword [esi + 0xb8], 0x64
mov dword [esi + 0x98], eax
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa8], eax
mov dword [esi + 0xb4], eax
mov dword [esi + 0x28], eax
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x3c]
lea ecx, [esi + 0x2cc]
call fcn.004b0220
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x32c]
call fcn.004da840
mov byte [ebp - 4], 0xf
lea eax, [esi + 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esi + 0x41c], 0
mov dword [esi + 0x420], 0
mov byte [esi + 0x45c], 1
mov dword [esi + 0x43c], 0
mov dword [esi + 0x440], 0x64
mov dword [esi + 0x444], 0
mov dword [esi + 0x448], 0
mov byte [esi + 0x44c], 0
mov dword [esi + 0x450], 0
mov byte [esi + 0x454], 0
mov dword [esi + 0x458], 0
mov dword [esi + 0x460], 0
mov byte [ebp - 4], 0x10
add esi, 0x468
mov dword [ebp - 0x58], esi
lea ecx, [esi + 4]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x11
lea ecx, [esi + 8]
mov edi, dword [0x586814]
push 0xa
call edi
mov byte [ebp - 4], 0x12
mov word [esi], 0
mov byte [esi + 0x24], 0
mov byte [ebp - 4], 0x13
mov esi, dword [ebp - 0x3c]
add esi, 0x490
mov dword [ebp - 0x5c], esi
lea ecx, [esi + 4]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x14
lea ecx, [esi + 8]
push 0xa
call edi
mov byte [ebp - 4], 0x15
mov word [esi], 0
mov byte [esi + 0x24], 0
mov byte [ebp - 4], 0x16
mov edi, dword [ebp - 0x3c]
add edi, 0x4b8
mov dword [ebp - 0x60], edi
mov ecx, edi
mov esi, dword [0x586838]
push 0xa
call esi
mov byte [ebp - 4], 0x17
lea ecx, [edi + 0x1c]
push 0xa
call esi
mov byte [ebp - 4], 0x19
mov esi, dword [ebp - 0x3c]
push 0xa
lea ecx, [esi + 0x4f0]
mov dword [ebp - 0x64], ecx
call dword [0x586800]
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x50c]
mov dword [ebp - 0x68], edi
mov ecx, edi
mov esi, dword [0x58672c]
push 0xa
mov dword [ebp - 0x40], edi
call esi
mov byte [ebp - 4], 0x1d
lea ecx, [edi + 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x1e
lea ecx, [edi + 0x24]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x1f
lea ecx, [edi + 0x44]
push 0xa
call esi
mov byte [ebp - 4], 0x20
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov word [edi + 0x1e], ax
lea eax, [edi + 0x60]
push eax
mov byte [edi + 0x1c], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x28], 0x1f60064
call esi
mov byte [ebp - 4], 0x21
mov edi, dword [ebp - 0x3c]
push 0xa
lea ecx, [edi + 0x5b0]
call dword [0x586bdc]
mov byte [ebp - 4], 0x22
lea ecx, [edi + 0x5cc]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x23
lea ecx, [edi + 0x5e8]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x24
mov eax, dword [0x641aa4]
mov ecx, eax
inc eax
mov dword [0x641a88], edi
mov dword [0x641aa4], eax
test ecx, ecx
jne 0x43ae76
push 0x641aa8
call esi
push 0x641a8c
call esi
mov eax, 1
mov dword [edi + 0x5d4], 0
push 0x587818
lea ecx, [edi + 0x5e8]
mov dword [edi + 0x584], 0
mov word [edi + 0x5d0], ax
mov byte [edi + 0x5d8], 0
mov byte [edi + 0x5e0], 0
mov dword [edi + 0x5dc], 0
mov dword [edi + 0x5e4], 0
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
lea eax, [edi + 0x610]
mov dword [edi + 0x5ec], 0
push eax
mov dword [edi + 0x5f0], 0
mov dword [edi + 0x5f4], 0
mov dword [edi + 0x5f8], 0
mov dword [edi + 0x5fc], 0
mov dword [edi + 0x600], 0
mov dword [edi + 0x604], 0
mov byte [edi + 0x608], 0
mov dword [edi + 0x60c], 0
mov dword [eax], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push 0xfffffffffffffffe
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 0
push 0x3ec
lea ecx, [edi + 0x32c]
call fcn.004dbb20
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x25
cmp byte [0x641d4d], 0
je 0x43b00f
cmp byte [0x641d4e], 0
je 0x43afc8
mov byte [ebp - 4], 0x26
lea eax, [edi + 0x40c]
push eax
lea ecx, [ebp - 0x3c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__30]
push dword [ebp - 0x3c]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 8
push str.F_s__Internal_Engineering_Build_VS2022_
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__31]
mov esi, 8
add esp, 0xc
mov dword [ebp - 0x38], esi
and esi, 0xfffffff7
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x3c]
jmp 0x43b054
mov byte [ebp - 4], 0x27
lea eax, [edi + 0x40c]
push eax
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__30]
push dword [ebp - 0x44]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 0x10
push str.E_s__Engineering_Build_VS2022_
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__31]
mov esi, 0x10
add esp, 0xc
mov dword [ebp - 0x38], esi
and esi, 0xffffffef
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x44]
jmp 0x43b054
mov byte [ebp - 4], 0x28
lea eax, [edi + 0x40c]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__30]
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 4
push 0x59a470
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__31]
mov esi, 4
add esp, 0xc
mov dword [ebp - 0x38], esi
and esi, 0xfffffffb
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [0x641a88]
push dword [ebp - 0x18]
add eax, 0x32c
cmp byte [0x641d4c], 0
je 0x43b077
push str.Open_iTools_OPC_Server__s
jmp 0x43b07c
push str.Standard_iTools_OPC_Server__s
push 0x3eb
push eax
call fcn.004ec2c0
mov eax, dword [0x641b70]
add esp, 0x10
mov edx, dword [0x641a88]
add edx, 0x32c
mov dword [ebp - 0x14], str.Server_was_invoked_as_embedded
mov cl, byte [eax + 0x100]
mov eax, str.Server_was_invoked_manually
test cl, cl
cmovne eax, dword [ebp - 0x14]
push eax
push 0x3eb
push edx
call fcn.004ec2c0
add esp, 0xc
cmp byte [0x641c90], 0
je 0x43b136
mov eax, dword [0x641a88]
push str._LEAN_SERVER_MODE_ENABLED_
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
mov eax, dword [0x641a88]
push str.PARAMETER_DESCRIPTION_ATTRIBUTES_LIMITS_TRANSLATIONS_DISABLED
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
mov eax, dword [0x641a88]
push str.LIMITED_ITOOLS_CONFIGURATION_TOOLS_SUPPORT
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
mov eax, dword [0x641a88]
push str.UNSUPPORTED_FEATURE___USE_AT_OWN_RISK_
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0x30
cmp byte [0x641cd2], 0
mov al, byte [0x641cd3]
je 0x43b2c9
test al, al
jne 0x43b2cd
push dword [0x641cd8]
call fcn.005045b0
test al, al
jne 0x43b267
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
push 0
push dword [0x641cd8]
push eax
call fcn.00504240
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 0x25
call fcn.005046c0
push ecx
mov dword [ebp - 0x40], esp
test al, al
mov eax, esp
push 0
push dword [0x641cd8]
push eax
je 0x43b1a2
call fcn.00504240
mov byte [ebp - 4], 0x2a
jmp 0x43b1d0
call fcn.00504400
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x25
call fcn.005046c0
test al, al
je 0x43b1e5
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
push 0
push dword [0x641cd8]
push eax
call fcn.00504400
mov byte [ebp - 4], 0x2c
mov ecx, dword [0x641a88]
add ecx, 0x468
mov byte [ebp - 4], 0x25
call fcn.00516920
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
push 1
push dword [0x641cd8]
push eax
call fcn.00504240
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x25
call fcn.005046c0
push ecx
mov dword [ebp - 0x40], esp
test al, al
mov eax, esp
push 1
push dword [0x641cd8]
push eax
je 0x43b224
call fcn.00504240
mov byte [ebp - 4], 0x2e
jmp 0x43b252
call fcn.00504400
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 0x25
call fcn.005046c0
test al, al
je 0x43b267
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
push 1
push dword [0x641cd8]
push eax
call fcn.00504400
mov byte [ebp - 4], 0x30
mov ecx, dword [0x641a88]
lea ecx, [ecx + 0x490]
mov byte [ebp - 4], 0x25
call fcn.00516920
mov eax, dword [0x641cd8]
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2c]
push 0xa
push ecx
push 3
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x43b287
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
or esi, 2
mov dword [ebp - 0x38], esi
push dword [ebp - 0x14]
mov eax, dword [0x641a88]
push str.Localization_ID_is__s
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0x10
and esi, 0xfffffffd
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x14]
jmp 0x43b32d
test al, al
je 0x43b333
mov eax, dword [0x641cd8]
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2c]
push 0xa
push ecx
push 3
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x43b2ed
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
or esi, 0x20
mov dword [ebp - 0x38], esi
push dword [ebp - 0x44]
mov eax, dword [0x641a88]
push str.Localization_per_OPC_client_enabled___default_locale_ID_is__s
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0x10
and esi, 0xffffffdf
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [0x641c91], 0
jne 0x43b373
mov eax, dword [0x641a88]
push str.Cannot_enable_MODBUS_TCP_ports___your_WinSock_requires_updating
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
mov eax, dword [0x641a88]
push str.Please_refer_to_http:__www.microsoft.com_windows95_downloads_contents_wuadmintools_s_wunetworkingtools_w95sockets2_default.asp
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0x18
mov byte [ebp - 4], 0x33
lea eax, [edi + 0x404]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__30]
or esi, 1
mov dword [ebp - 0x38], esi
push dword [ebp - 0x14]
mov eax, dword [0x641a88]
push str.Server_log_file_is___s_
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
and esi, 0xfffffffe
add esp, 0x10
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 1
call fcn.00501ac0
call fcn.00501f60
test al, al
je 0x43b3f7
mov eax, dword [0x641c48]
test eax, eax
je 0x43b3f7
push eax
mov eax, dword [0x641a88]
push str.Simulation_clone_devices_have_simulated_comms_latency_enabled__latency_is__ldms_
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0x10
cmp byte [0x641d4d], 0
je 0x43b426
cmp byte [0x641c8f], 0
je 0x43b426
mov eax, dword [0x641a88]
push str.OPC_Transaction_Logging_Enabled
add eax, 0x32c
push 0x3eb
push eax
call fcn.004ec2c0
add esp, 0xc
lea ecx, [edi + 0x2cc]
call fcn.004b2600
lea ecx, [edi + 0x1f4]
call fcn.004f89d0
lea ecx, [edi + 0x150]
call fcn.00530010
lea eax, [edi + 0x598]
mov dword [edi + 0x594], 7
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x641c4c
mov byte [0x641c50], 0
call fcn.00505400
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push 0xa
lea ecx, [ebp - 0x34]
movq qword [ebp - 0x24], xmm0
movups xmmword [ebp - 0x34], xmm0
call dword [0x586bdc]
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x34]
push eax
call fcn.004c4840
test al, al
je 0x43b503
mov eax, dword [0x641a88]
push str.List_of_available_local_networks
add eax, 0x32c
push 0x3ec
push eax
call fcn.004ec2c0
mov esi, dword [ebp - 0x30]
add esp, 0xc
test esi, esi
je 0x43b503
mov eax, esi
lea ecx, [ebp - 0x14]
mov esi, dword [esi]
add eax, 8
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__30]
mov byte [ebp - 4], 0x35
push dword [ebp - 0x14]
mov eax, dword [0x641a88]
add eax, 0x32c
push 0x3ec
push eax
call fcn.004ec2c0
add esp, 0xc
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test esi, esi
jne 0x43b4c2
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x34]
call dword [sym.imp.mfc140u.dll_CStringList::CStringList]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov dword [ebp - 4], 0xffffffff
mov eax, edi
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.0055c86d
mov esp, ebp
pop ebp
ret