Function at 0x445ff3
Capabilities:
Get system information on windows
Query or enumerate registry value

Disassembly:
push 0x474
mov eax, 0x5ba856
call fcn.005718de
mov esi, ecx
lea eax, [esi + 0xa8]
mov dword [ebp - 0x458], 1
push eax
mov dword [ebp - 0x45c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [esi + 0x44], ebx
je 0x44608b
cmp dword [esi + 0x34], ebx
jne 0x44608b
push 0x30
call fcn.005708a6
pop ecx
mov dword [ebp - 0x448], eax
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.004458e6
mov byte [ebp - 4], bl
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x34], eax
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 8]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1c], eax
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x2c], eax
lea eax, [esi + 0x1c]
cmp dword [eax + 0x10], ebx
je 0x44608b
mov ecx, dword [esi + 0x34]
cmp ecx, eax
je 0x44608b
push 0xffffffffffffffff
push ebx
push eax
call fcn.00411b75
cmp dword [esi + 0x44], 0
je 0x446297
cmp dword [esi + 0x38], ebx
jne 0x446297
push 0x70
call fcn.005708a6
pop ecx
mov dword [ebp - 0x448], eax
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00445949
mov byte [ebp - 4], bl
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x38], eax
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 8]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1c], eax
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x2c], eax
cmp dword [esi + 0x2c], ebx
je 0x4460f9
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x1c]
cmp ecx, eax
je 0x4460f9
push 0xffffffffffffffff
push ebx
push eax
call fcn.00411b75
mov ecx, esi
call fcn.004462b4
test eax, eax
jne 0x446122
mov eax, dword [esi + 0x38]
xor ecx, ecx
mov word [eax + 0x30], cx
mov eax, dword [esi + 0x38]
mov word [eax + 0x32], cx
mov eax, dword [esi + 0x38]
mov word [eax + 0x36], cx
mov eax, dword [esi + 0x38]
mov word [eax + 0x34], cx
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x480]
push 0x5fa9c0
rep stosd dword es:[edi], eax
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x446155
lea ecx, [ebp - 0x480]
push ecx
call eax
jmp 0x446162
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [esi + 0x38]
mov ax, word [ebp - 0x480]
mov word [ecx + 0x38], ax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov ecx, dword [esi + 0x38]
xorps xmm0, xmm0
movlpd qword [ebp - 0x450], xmm0
mov word [ecx + 0x3a], ax
lea eax, [ebp - 0x444]
push eax
push 0x20019
push ebx
push str.SOFTWAREMicrosoftInternet_Explorer
push closesocket
mov dword [ebp - 0x444], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x446282
push 0x412
lea eax, [ebp - 0x428]
push ebx
push eax
call fcn.00589570
add esp, 0xc
mov dword [ebp - 0x454], 0x208
lea eax, [ebp - 0x454]
mov dword [ebp - 0x448], ebx
push eax
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x448]
push eax
push ebx
push str.Version
push dword [ebp - 0x444]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x446268
mov dword [ebp - 0x42c], 7
mov dword [ebp - 0x430], ebx
mov word [ebp - 0x440], ax
cmp word [ebp - 0x428], ax
jne 0x446227
mov eax, ebx
jmp 0x446234
lea eax, [ebp - 0x428]
push eax
call fcn.0058e098
pop ecx
push eax
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x440]
call fcn.004107ce
lea eax, [ebp - 0x440]
push eax
call fcn.004463b6
push 0
push 1
lea ecx, [ebp - 0x440]
mov edi, eax
mov ebx, edx
call fcn.0041164f
jmp 0x446274
mov ebx, dword [ebp - 0x44c]
mov edi, dword [ebp - 0x450]
push dword [ebp - 0x444]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x44628e
mov ebx, dword [ebp - 0x44c]
mov edi, dword [ebp - 0x450]
mov eax, dword [esi + 0x38]
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], ebx
xor ebx, ebx
lea eax, [esi + 0xa8]
cmp dword [esi + 0x34], ebx
push eax
setne bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
call fcn.00571888
ret