Function at 0x53aa70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x6e06e0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x53af77
sub esp, 0xa4
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0x80000001
mov dword [esp + 0x5c], 0x80000002
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.00466ec6
lea ecx, [0x58c28c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 0x37
lea ecx, [0x58ce0c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], 0x44
lea ecx, [0x58cd46]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], 0x41
lea ecx, [0x589063]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], 0x26
lea ecx, [0x589adf]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], 0x28
xor eax, eax
xor ecx, ecx
xor edx, edx
lea ebx, [0x6e05a0]
jmp 0x53ab5e
inc eax
cmp eax, 2
jge 0x53ab73
mov dword [esp + 0x54], eax
mov ebp, dword [esp + eax*4 + 0x58]
mov dword [esp + 0x34], ebp
xor esi, esi
jmp 0x53aba7
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
call sym.runtime.deferreturn
add esp, 0xa4
ret
mov edi, dword [esp + 0x50]
inc edi
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
mov ecx, edx
mov edx, esi
mov esi, edi
cmp esi, 5
jge 0x53ab5d
mov dword [esp + 0x50], esi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
lea eax, [esp + esi*8 + 0x7c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x20019
call sym.golang.org_x_sys_windows_registry.OpenKey
mov eax, dword [esp + 0x14]
test eax, eax
je 0x53abf3
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x68]
jmp 0x53ab94
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
lea ecx, [0x55ed40]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.UEInsight_pkg_collect.getWindowsInstalledSoftware.func1]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov dword [esp], eax
call sym.runtime.deferproc
test eax, eax
jne 0x53ac75
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.golang.org_x_sys_windows_registry.Key.ReadSubKeyNames
mov eax, dword [esp + 0x14]
test eax, eax
je 0x53ac55
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x68]
jmp 0x53ab94
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x24], ebp
xor ecx, ecx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x28]
jmp 0x53ac92
call sym.runtime.deferreturn
add esp, 0xa4
ret
mov edi, dword [esp + 0x4c]
lea ecx, [edi + 1]
mov ebp, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x64]
cmp ecx, ebp
jge 0x53ab94
mov dword [esp + 0x78], ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edx
lea edx, [eax + ecx*8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x20019
call sym.golang.org_x_sys_windows_registry.OpenKey
mov eax, dword [esp + 0x14]
test eax, eax
je 0x53ace4
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x78]
jmp 0x53ac81
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
lea ecx, [0x55eda0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.UEInsight_pkg_collect.getWindowsInstalledSoftware.func2]
mov dword [eax], ecx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [esp], eax
call sym.runtime.deferproc
test eax, eax
jne 0x53af6b
mov eax, dword [esp + 0x30]
mov dword [esp], eax
lea ecx, [0x57df2f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xb
call sym.golang.org_x_sys_windows_registry.Key.GetStringValue
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x53ad5c
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x78]
jmp 0x53ac81
mov dword [esp + 0x40], edx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x30]
mov dword [esp], eax
lea ecx, [0x57f580]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xe
call sym.golang.org_x_sys_windows_registry.Key.GetStringValue
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x53ada3
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x78]
jmp 0x53ac81
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x30]
mov dword [esp], eax
lea eax, [0x57d867]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
call sym.golang.org_x_sys_windows_registry.Key.GetStringValue
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x53adea
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x78]
jmp 0x53ac81
mov dword [esp + 0x38], edx
mov dword [esp + 0x70], ecx
call sym.runtime.makemap_small
mov eax, dword [esp]
mov dword [esp + 0x6c], eax
lea ecx, [0x55ad80]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x57df2f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xb
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x6e0840]
test ecx, ecx
jne 0x53ae3d
mov ecx, dword [esp + 0x74]
jmp 0x53ae4d
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea eax, [0x55ad80]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x57d0b5]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [0x6e0840]
test ecx, ecx
jne 0x53ae92
mov ecx, dword [esp + 0x60]
jmp 0x53aea2
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea eax, [0x55ad80]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x57d867]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 9
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0x6e0840]
test ecx, ecx
jne 0x53aee7
mov ecx, dword [esp + 0x70]
jmp 0x53aef7
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x48]
inc eax
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jb 0x53af0e
mov ebx, dword [esp + 0x78]
mov edx, ecx
jmp 0x53af40
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x55ad80]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x6e0840]
test ecx, ecx
jne 0x53af50
mov ecx, dword [esp + 0x6c]
jmp 0x53af62
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ebp, dword [ebx + eax*4 - 4]
mov dword [edi + 4], ebp
mov dword [ebx + eax*4 - 4], ecx
jmp 0x53ac81
call sym.runtime.deferreturn
add esp, 0xa4
ret
call sym.runtime.morestack_noctxt
jmp sym.UEInsight_pkg_collect.getWindowsInstalledSoftware