Function at 0x431b40
Capabilities:
Get geographical location
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x55d68c]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x22c], ecx
push 0x551a30
lea ecx, [ebp - 0x74]
call fcn.00402b60
push str._mac_:__
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0x84]
call fcn.00427440
lea ecx, [ebp - 0xbc]
call fcn.00402b30
lea eax, [ebp - 0x84]
push eax
call fcn.004285a0
add esp, 4
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [ebp - 0x20c]
call fcn.004321b0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x84]
call fcn.00427520
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp - 0x84]
call fcn.004274f0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.00433740
add esp, 0x10
lea ecx, [ebp - 0xbc]
call fcn.00408160
movzx edx, al
test edx, edx
jne 0x431c19
mov eax, dword [0x5575cc]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004324d0
sub eax, 2
push eax
lea ecx, [ebp - 0xbc]
call fcn.00404b50
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [ebp - 0x74]
call fcn.00408090
push str.___ip_address_:__
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0xa0]
call fcn.00402b30
lea edx, [ebp - 0xa0]
push edx
lea ecx, [ebp - 0x21c]
call fcn.004321b0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x84]
call fcn.00427520
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x84]
call fcn.004274f0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x228]
push edx
call fcn.00433780
add esp, 0x10
lea ecx, [ebp - 0xa0]
call fcn.00408160
movzx eax, al
test eax, eax
jne 0x431cc1
mov ecx, dword [0x5575cc]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.004324d0
sub eax, 2
push eax
lea ecx, [ebp - 0xa0]
call fcn.00404b50
lea edx, [ebp - 0xa0]
push edx
lea ecx, [ebp - 0x74]
call fcn.00408090
lea ecx, [ebp - 0xa0]
call fcn.00402c40
lea ecx, [ebp - 0xbc]
call fcn.00402c40
lea ecx, [ebp - 0x84]
call fcn.00429580
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push str.___hd_sn_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea eax, [ebp - 0xd8]
push eax
call fcn.0041b550
add esp, 4
lea ecx, [ebp - 0xd8]
call fcn.004324d0
test eax, eax
je 0x431d4d
push 0x551a60
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0x74]
call fcn.00408090
push 0x551a64
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0xd8]
call fcn.00402c40
push str.___cpu_sn_:__
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0xe8]
call fcn.00432200
lea ecx, [ebp - 0xe8]
call fcn.00444ce0
test eax, eax
jl 0x431de8
lea edx, [ebp - 0xdc]
push edx
lea ecx, [ebp - 0xec]
call fcn.004322e0
push 0xfde9
lea ecx, [ebp - 0xec]
call fcn.00404350
push eax
lea ecx, [ebp - 0x20]
call fcn.00432470
lea ecx, [ebp - 0x108]
push ecx
mov edi, eax
call fcn.00444b60
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.004324b0
lea edx, [ebp - 0x108]
push edx
lea ecx, [ebp - 0x74]
call fcn.00408090
lea ecx, [ebp - 0x108]
call fcn.00402c40
lea ecx, [ebp - 0xec]
call fcn.00411630
lea ecx, [ebp - 0xe8]
call fcn.00432240
push str.____bios_sn_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0x114]
call fcn.00432280
lea ecx, [ebp - 0x114]
call fcn.00445380
test eax, eax
jl 0x431e83
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x118]
call fcn.004322e0
push 0xfde9
lea ecx, [ebp - 0x118]
call fcn.00404350
push eax
lea ecx, [ebp - 0x3c]
call fcn.00432470
lea ecx, [ebp - 0x134]
push ecx
mov edi, eax
call fcn.00444b60
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.004324b0
lea edx, [ebp - 0x134]
push edx
lea ecx, [ebp - 0x74]
call fcn.00408090
lea ecx, [ebp - 0x134]
call fcn.00402c40
lea ecx, [ebp - 0x118]
call fcn.00411630
lea ecx, [ebp - 0x114]
call fcn.004322b0
call dword [sym.imp.ole32.dll_CoUninitialize]
push str.___os_name_version_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
mov dword [ebp - 0x138], 1
mov dword [ebp - 0x13c], 0x64
push 0
push 0
push 1
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x1a8]
push ecx
lea edx, [ebp - 0x138]
push edx
push 0x551aa0
push 0x551aac
call dword [sym.imp.SHLWAPI.dll_SHRegGetUSValueA]
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x74]
call fcn.004080b0
push 0x551adc
lea ecx, [ebp - 0x74]
call fcn.004080b0
mov dword [ebp - 0x13c], 0x64
push 0
push 0
push 1
lea ecx, [ebp - 0x13c]
push ecx
lea edx, [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x138]
push eax
push str.CurrentVersion
push 0x551af0
call dword [sym.imp.SHLWAPI.dll_SHRegGetUSValueA]
lea ecx, [ebp - 0x1a8]
push ecx
lea ecx, [ebp - 0x74]
call fcn.004080b0
push 0x551b20
lea ecx, [ebp - 0x74]
call fcn.004080b0
mov dword [ebp - 0x13c], 0x64
push 0
push 0
push 1
lea edx, [ebp - 0x13c]
push edx
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x138]
push ecx
push str.CurrentBuildNumber
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
call dword [sym.imp.SHLWAPI.dll_SHRegGetUSValueA]
lea edx, [ebp - 0x1a8]
push edx
lea ecx, [ebp - 0x74]
call fcn.004080b0
push 0x551b68
lea ecx, [ebp - 0x74]
call fcn.004080b0
push str.___gmt_time_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea eax, [ebp - 0x1cc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebp - 0x1c0]
push ecx
movzx edx, word [ebp - 0x1c2]
push edx
movzx eax, word [ebp - 0x1c4]
push eax
movzx ecx, word [ebp - 0x1c6]
push ecx
movzx edx, word [ebp - 0x1ca]
push edx
movzx eax, word [ebp - 0x1cc]
push eax
push str._04d_02d_02d_02d_02d_02d
lea ecx, [ebp - 0x1bc]
push ecx
call fcn.004337c0
add esp, 0x20
lea edx, [ebp - 0x1bc]
push edx
lea ecx, [ebp - 0x74]
call fcn.004080b0
push str.___time_zone_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
push 0
push 1
push str.TimeZoneKeyName
push str.SYSTEMCurrentControlSetControlTimeZoneInformation
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x58]
push eax
call fcn.0042e6f0
add esp, 0x18
push eax
lea ecx, [ebp - 0x74]
call fcn.00408090
lea ecx, [ebp - 0x58]
call fcn.00402c40
push str.___default_language_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
mov byte [ebp - 0x1dc], 0
xor ecx, ecx
mov dword [ebp - 0x1db], ecx
mov dword [ebp - 0x1d7], ecx
mov dword [ebp - 0x1d3], ecx
mov word [ebp - 0x1cf], cx
mov byte [ebp - 0x1cd], cl
mov byte [ebp - 0x1ec], 0
xor edx, edx
mov dword [ebp - 0x1eb], edx
mov dword [ebp - 0x1e7], edx
mov dword [ebp - 0x1e3], edx
mov word [ebp - 0x1df], dx
mov byte [ebp - 0x1dd], dl
push 0x10
lea eax, [ebp - 0x1dc]
push eax
push 0x59
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x10
lea ecx, [ebp - 0x1ec]
push ecx
push 0x5a
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea edx, [ebp - 0x1dc]
push edx
lea ecx, [ebp - 0x74]
call fcn.004080b0
push 0x551c08
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x74]
call fcn.004080b0
push str.___screen_resolution_:_
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea ecx, [ebp - 0x208]
call fcn.00402b30
lea ecx, [ebp - 0x208]
push ecx
push 0x42fce0
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
lea edx, [ebp - 0x208]
push edx
lea ecx, [ebp - 0x74]
call fcn.00408090
lea ecx, [ebp - 0x208]
call fcn.00402c40
push 0x551c24
lea ecx, [ebp - 0x74]
call fcn.004080b0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp + 8]
call fcn.00402bf0
lea ecx, [ebp - 0x74]
call fcn.00402c40
mov eax, dword [ebp + 8]
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00455328
mov esp, ebp
pop ebp
ret 4