Function at 0x44c240
Capabilities:
Encode data using xor
Hash data with crc32
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a17b0
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4c2618]
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 dword [ebp - 0x50], esi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
push 0x10
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0x10
call fcn.00452aaa
xorps xmm0, xmm0
mov dword [ebp - 0x48], eax
add esp, 4
mov byte [ebp - 0x4c], 1
movdqu xmmword [eax], xmm0
push 0
mov dword [ebp - 4], 0
movq qword [ebp - 0x20], xmm0
push 0
mov dword [ebp - 0x1c], 0
call fcn.0041e180
mov dword [ebp - 0x20], eax
push 3
lea eax, [ebp - 0x15]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x15], 0
call fcn.0044f010
lea ecx, [ebp - 0x20]
call fcn.0044cda0
push SysReAllocString
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
push str.Capacity
push str.SELECT_Capacity_FROM_Win32_PhysicalMemory
call fcn.0044c9e0
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c], xmm0
mov edi, dword [ebp - 0x58]
mov esi, dword [eax]
cmp esi, eax
je 0x44c349
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], eax
cmp dword [esi + 0x1c], 0x10
lea eax, [esi + 8]
jb 0x44c32d
mov eax, dword [eax]
push eax
call fcn.0046a988
mov ecx, dword [ebp - 0x18]
add esp, 4
mov esi, dword [esi]
add ecx, eax
mov dword [ebp - 0x18], ecx
adc edi, edx
cmp esi, dword [ebp - 0x20]
jne 0x44c322
jmp 0x44c34c
mov ecx, dword [ebp - 0x5c]
add ecx, 0x3ff
lea edx, [ebp - 0x18]
mov esi, 4
adc edi, 0
shrd ecx, edi, 0x14
shr edi, 0x14
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x58], edi
je 0x44c3ac
mov eax, ecx
mov byte [ebp - 0x15], cl
sar eax, 0x18
mov byte [ebp - 0x18], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x17], al
mov eax, ecx
sar eax, 8
or ecx, 0xffffffff
mov byte [ebp - 0x16], al
jmp 0x44c390
movzx eax, byte [edx]
lea edx, [edx + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c390
jmp 0x44c3d0
mov dword [ebp - 0x18], 0
or ecx, 0xffffffff
movzx eax, byte [edx]
lea edx, [edx + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c3b6
not ecx
shr ecx, 0x10
mov eax, ecx
mov byte [ebp - 0x17], cl
shr eax, 8
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
push eax
call fcn.0044f010
lea ecx, [ebp - 0x20]
call fcn.0044cda0
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x20]
push 2
push eax
push str.ProcessorId
push str.SELECT_ProcessorId_FROM_Win32_Processor
call fcn.0044c9e0
cmp dword [ebp - 0x1c], 0
je 0x44c4a4
mov edi, dword [ebp - 0x20]
mov esi, dword [edi]
add esi, 8
cmp dword [esi + 0x14], 0x10
jb 0x44c428
mov esi, dword [esi]
mov ecx, esi
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c430
sub ecx, edx
mov edx, 0xffffffff
je 0x44c45a
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec ecx
jne 0x44c440
not edx
shr edx, 0x10
cmp dword [ebp - 0x1c], 1
jbe 0x44c4d5
mov edi, dword [edi + 4]
add edi, 8
cmp dword [edi + 0x14], 0x10
jb 0x44c473
mov edi, dword [edi]
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44c478
sub esi, ecx
mov ecx, 0xffffffff
je 0x44c501
movzx eax, byte [edi]
lea edi, [edi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c488
jmp 0x44c501
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
or edx, 0xffffffff
mov esi, 4
movzx eax, byte [ecx]
lea ecx, [ecx + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c4b6
not edx
shr edx, 0x10
mov dword [ebp - 0x18], 0
lea esi, [ebp - 0x18]
or ecx, 0xffffffff
mov edi, 4
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec edi
jne 0x44c4e7
mov eax, edx
mov byte [ebp - 0x17], dl
not ecx
shr eax, 8
shr ecx, 0x10
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x4c]
push eax
call fcn.0044f010
mov ecx, dword [ebp - 0x58]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
mov byte [ebp - 0x17], cl
lea ecx, [ebp - 0x4c]
push eax
call fcn.0044f010
lea ecx, [ebp - 0x20]
call fcn.0044cda0
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x20]
push 2
push eax
push str.MACAddress
push str.SELECT_MACAddress_FROM_Win32_NetworkAdapter_WHERE__AdapterType___Ethernet_802.3___AND__MACAddress_IS_NOT_NULL__AND_PNPDeviceId_LIKE___PCI__
call fcn.0044c9e0
cmp dword [ebp - 0x1c], 0
je 0x44c5fc
mov edi, dword [ebp - 0x20]
mov esi, dword [edi]
add esi, 8
cmp dword [esi + 0x14], 0x10
jb 0x44c578
mov esi, dword [esi]
mov ecx, esi
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c580
sub ecx, edx
mov edx, 0xffffffff
je 0x44c5aa
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec ecx
jne 0x44c590
not edx
shr edx, 0x10
cmp dword [ebp - 0x1c], 1
jbe 0x44c62f
mov edi, dword [edi + 4]
add edi, 8
cmp dword [edi + 0x14], 0x10
jb 0x44c5c3
mov edi, dword [edi]
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44c5c8
sub esi, ecx
mov ecx, 0xffffffff
je 0x44c65b
lea esp, [esp]
movzx eax, byte [edi]
lea edi, [edi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c5e0
jmp 0x44c65b
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
or edx, 0xffffffff
mov esi, 4
mov edi, edi
movzx eax, byte [ecx]
lea ecx, [ecx + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c610
not edx
shr edx, 0x10
mov dword [ebp - 0x18], 0
lea esi, [ebp - 0x18]
or ecx, 0xffffffff
mov edi, 4
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec edi
jne 0x44c641
mov eax, edx
mov byte [ebp - 0x17], dl
not ecx
shr eax, 8
shr ecx, 0x10
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x4c]
push eax
call fcn.0044f010
mov ecx, dword [ebp - 0x58]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
mov byte [ebp - 0x17], cl
lea ecx, [ebp - 0x4c]
push eax
call fcn.0044f010
lea ecx, [ebp - 0x20]
call fcn.0044cda0
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x20]
push 2
push eax
push str.SerialNumber
push str.SELECT_SerialNumber_FROM_Win32_PhysicalMedia_WHERE_SerialNumber_IS_NOT_NULL
call fcn.0044c9e0
cmp dword [ebp - 0x1c], 0
je 0x44c8dd
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
push 0xffffffffffffffff
push 0
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x24], 0xf
push eax
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x38], 0
call fcn.0040e6a0
push 3
sub esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.0044ce00
push eax
push 0
lea ecx, [ebp - 0x38]
call fcn.0040e360
push 3
sub esp, 8
lea ecx, [ebp - 0x38]
call fcn.0044ce90
lea ecx, [eax + 1]
cmp dword [ebp - 0x28], ecx
jae 0x44c724
push str.invalid_string_position
call fcn.00451c45
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
mov dword [ebp - 0x28], ecx
lea esi, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
mov byte [ecx + eax], 0
cmp dword [ebp - 0x24], 0x10
mov edi, dword [ebp - 0x38]
cmovae esi, edi
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c748
sub ecx, edx
mov edx, 0xffffffff
je 0x44c772
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec ecx
jne 0x44c758
not edx
mov byte [ebp - 4], 1
shr edx, 0x10
cmp dword [ebp - 0x24], 0x10
mov dword [ebp - 0x50], edx
jb 0x44c790
push edi
call fcn.00466e37
mov edx, dword [ebp - 0x50]
add esp, 4
cmp dword [ebp - 0x1c], 1
jbe 0x44c90f
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
push 0xffffffffffffffff
push 0
mov eax, dword [eax + 4]
add eax, 8
mov dword [ebp - 0x24], 0xf
push eax
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x38], 0
call fcn.0040e6a0
push 3
sub esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.0044ce00
push eax
push 0
lea ecx, [ebp - 0x38]
call fcn.0040e360
push 3
sub esp, 8
lea ecx, [ebp - 0x38]
call fcn.0044ce90
lea ecx, [eax + 1]
cmp dword [ebp - 0x28], ecx
jae 0x44c7fd
push str.invalid_string_position
call fcn.00451c45
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
mov dword [ebp - 0x28], ecx
lea esi, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
mov byte [eax + ecx], 0
cmp dword [ebp - 0x24], 0x10
mov edi, dword [ebp - 0x38]
cmovae esi, edi
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44c821
sub edx, ecx
mov ecx, 0xffffffff
je 0x44c84b
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec edx
jne 0x44c831
not ecx
mov byte [ebp - 4], 1
shr ecx, 0x10
cmp dword [ebp - 0x24], 0x10
mov dword [ebp - 0x58], ecx
jb 0x44c866
push edi
call fcn.00466e37
add esp, 4
mov edx, dword [ebp - 0x50]
mov eax, edx
mov byte [ebp - 0x17], dl
shr eax, 8
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
push eax
call fcn.0044f010
mov ecx, dword [ebp - 0x58]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 0x10
mov byte [ebp - 0x17], cl
lea ecx, [ebp - 0x4c]
push eax
call fcn.0044f010
xor ecx, ecx
mov eax, 0x1a
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.004676c6
mov ecx, dword [ebp - 0x48]
add esp, 4
mov edi, eax
add ecx, 0x10
push 1
lea esi, [edi + 0x1a]
push esi
push ecx
mov ecx, edi
call fcn.0044f0a0
mov byte [esi], 0
cmp byte [edi], 0
jne 0x44c948
xor ecx, ecx
jmp 0x44c959
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
or edx, 0xffffffff
mov esi, 4
nop
movzx eax, byte [ecx]
lea ecx, [ecx + 1]
xor eax, edx
shr edx, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x4ad270]
dec esi
jne 0x44c8f0
not edx
shr edx, 0x10
mov dword [ebp - 0x18], 0
lea esi, [ebp - 0x18]
or ecx, 0xffffffff
mov edi, 4
movzx eax, byte [esi]
lea esi, [esi + 1]
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x4ad270]
dec edi
jne 0x44c921
not ecx
shr ecx, 0x10
mov dword [ebp - 0x58], ecx
jmp 0x44c869
mov ecx, edi
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c950
sub ecx, edx
mov esi, dword [ebp - 0x60]
push ecx
push edi
mov ecx, esi
call fcn.0040e1c0
push edi
call fcn.00467758
mov eax, dword [esi + 0x10]
add esp, 4
lea ecx, [eax - 1]
cmp eax, ecx
jae 0x44c982
push str.invalid_string_position
call fcn.00451c45
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], ecx
jb 0x44c98d
mov esi, dword [esi]
mov byte [esi + ecx], 0
lea ecx, [ebp - 0x20]
call fcn.0044cda0
push dword [ebp - 0x20]
call fcn.00466e37
add esp, 4
cmp byte [ebp - 0x4c], 0
je 0x44c9b5
push dword [ebp - 0x48]
call fcn.00466e37
add esp, 4
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.00466e3c
mov esp, ebp
pop ebp
ret 4