Function at 0x43b630
Capabilities:
Check if file exists
Get file attributes
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ea2e
mov eax, dword fs:[0]
push eax
mov eax, 0x1b08
call fcn.00427d00
mov eax, dword [0x46972c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1b14], ecx
xor eax, eax
mov word [ebp - 0x1afc], ax
push 0x206
push 0
lea ecx, [ebp - 0x1afa]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x42c], dx
push 0x206
push 0
lea eax, [ebp - 0x42a]
push eax
call fcn.00422660
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xc5c], cx
push 0x206
push 0
lea edx, [ebp - 0xc5a]
push edx
call fcn.00422660
add esp, 0xc
xor eax, eax
mov word [ebp - 0x1274], ax
push 0x206
push 0
lea ecx, [ebp - 0x1272]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x21c], dx
push 0x206
push 0
lea eax, [ebp - 0x21a]
push eax
call fcn.00422660
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x106c], cx
push 0x206
push 0
lea edx, [ebp - 0x106a]
push edx
call fcn.00422660
add esp, 0xc
xor eax, eax
mov word [ebp - 0xa54], ax
push 0x206
push 0
lea ecx, [ebp - 0xa52]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x644], dx
push 0x206
push 0
lea eax, [ebp - 0x642]
push eax
call fcn.00422660
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xe64], cx
push 0x206
push 0
lea edx, [ebp - 0xe62]
push edx
call fcn.00422660
add esp, 0xc
xor eax, eax
mov word [ebp - 0x18ec], ax
push 0x206
push 0
lea ecx, [ebp - 0x18ea]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x84c], dx
push 0x206
push 0
lea eax, [ebp - 0x84a]
push eax
call fcn.00422660
add esp, 0xc
lea ecx, [ebp - 0x434]
call fcn.00401be0
mov dword [ebp - 4], 0
mov dword [ebp - 0x18f0], 0
mov byte [ebp - 0x435], 0
lea ecx, [ebp - 0x16e4]
call fcn.00449a20
mov byte [ebp - 4], 1
push 0x45670a
push str.SP_Report_is_called
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
lea edx, [ebp - 0x644]
push edx
push 0x456758
push 0x456778
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x16e4]
call fcn.00449690
push 0x456800
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x644]
push ecx
lea edx, [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.SWDownload_sp35546.exe
lea eax, [ebp - 0x84c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x84c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43b8bf
push 0x4567fc
push str.See_newer_SDM____need_to_update_SDM
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
mov dword [ebp - 0x1b08], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x16e4]
call fcn.00449a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x434]
call fcn.00401a80
mov eax, dword [ebp - 0x1b08]
jmp 0x43be6a
cmp dword [ebp - 0x18f0], 0
jne 0x43b923
lea eax, [ebp - 0x644]
push eax
lea ecx, [ebp - 0x84c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.SoftPaqReport.csv
lea edx, [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x84c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x43b923
push 0x4568e0
push str.Case_No_Internet_Connection
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
mov dword [ebp - 0x18f0], 2
cmp dword [ebp - 0x18f0], 0
jne 0x43bd87
push str.Newer_version_available
lea edx, [ebp - 0x18ec]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x45694c
lea eax, [ebp - 0x84c]
push eax
lea ecx, [ebp - 0x430]
push ecx
call fcn.00422b1a
add esp, 0xc
mov dword [ebp - 0x1b00], eax
cmp dword [ebp - 0x1b00], 0
je 0x43b9d3
cmp dword [ebp - 0x430], 0
je 0x43b984
mov edx, dword [ebp - 0x430]
push edx
call fcn.00422be4
add esp, 4
push 0x456950
push str.Fail_to_open_SoftpaqReport.csv
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
mov dword [ebp - 0x1b0c], 3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x16e4]
call fcn.00449a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x434]
call fcn.00401a80
mov eax, dword [ebp - 0x1b0c]
jmp 0x43be6a
cmp dword [ebp - 0x1b00], 0
jne 0x43bd41
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x1b04], eax
mov dword [ebp - 0x220], 0
mov edx, dword [ebp - 0x430]
push edx
call fcn.00422ed1
add esp, 4
test eax, eax
jne 0x43ba6d
cmp dword [ebp - 0x1b04], 0xd
je 0x43ba30
cmp dword [ebp - 0x1b04], 0xa
je 0x43ba30
cmp dword [ebp - 0x220], 0x104
jne 0x43ba32
jmp 0x43ba6d
mov eax, dword [ebp - 0x220]
mov cx, word [ebp - 0x1b04]
mov word [ebp + eax*2 - 0x1afc], cx
mov edx, dword [ebp - 0x220]
add edx, 1
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x430]
push eax
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x1b04], eax
jmp 0x43b9ff
xor ecx, ecx
mov edx, dword [ebp - 0x220]
mov word [ebp + edx*2 - 0x1afc], cx
mov eax, dword [ebp - 0x430]
push eax
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x1b04], eax
mov dword [ebp - 0x220], 0
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.00422ed1
add esp, 4
test eax, eax
jne 0x43bcf7
cmp dword [ebp - 0x1b04], 0xd
je 0x43bad5
cmp dword [ebp - 0x1b04], 0xa
je 0x43bad5
cmp dword [ebp - 0x220], 0x104
jne 0x43bcb9
xor edx, edx
mov eax, dword [ebp - 0x220]
mov word [ebp + eax*2 - 0x42c], dx
lea ecx, [ebp - 0xc5c]
push ecx
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x1afc]
push eax
push 0x456994
mov ecx, dword [ebp - 0x1b14]
call fcn.0043b320
movzx ecx, al
test ecx, ecx
je 0x43bc97
lea edx, [ebp - 0xc5c]
push edx
lea ecx, [ebp - 0x434]
call fcn.00401a60
lea eax, [ebp - 0x18ec]
push eax
lea ecx, [ebp - 0x434]
call fcn.00401030
test eax, eax
jne 0x43bc97
lea ecx, [ebp - 0xc5c]
push ecx
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x1afc]
push eax
push 0x4569a4
mov ecx, dword [ebp - 0x1b14]
call fcn.0043b320
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x1afc]
push eax
push str.Size__KB_
mov ecx, dword [ebp - 0x1b14]
call fcn.0043b320
lea ecx, [ebp - 0x1274]
push ecx
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x1afc]
push eax
push str.SoftPaq_
mov ecx, dword [ebp - 0x1b14]
call fcn.0043b320
movzx ecx, al
test ecx, ecx
je 0x43bc97
lea edx, [ebp - 0x644]
push edx
lea eax, [ebp - 0xe64]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.SWDownload_sp
lea ecx, [ebp - 0xe64]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [ebp - 0x1274]
push edx
lea eax, [ebp - 0xe64]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x4569f8
lea ecx, [ebp - 0xe64]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0x38
jle 0x43bc21
jmp 0x43bcf7
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0x106c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x456a04
lea edx, [ebp - 0x106c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x1274]
push eax
lea ecx, [ebp - 0xa54]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x456a08
lea edx, [ebp - 0xa54]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x456a0c
mov edx, dword [ebp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x18f0], 5
mov dword [ebp - 0x220], 0
push 0x104
push 0
lea eax, [ebp - 0x42c]
push eax
call fcn.00422660
add esp, 0xc
jmp 0x43bcdd
mov ecx, dword [ebp - 0x220]
mov dx, word [ebp - 0x1b04]
mov word [ebp + ecx*2 - 0x42c], dx
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x1b04], eax
jmp 0x43ba9c
lea edx, [ebp - 0x106c]
push edx
push 0x456a10
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0xa54]
push ecx
push 0x456a18
mov edx, dword [ebp + 0x14]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp dword [ebp - 0x430], 0
je 0x43bd41
mov eax, dword [ebp - 0x430]
push eax
call fcn.00422be4
add esp, 4
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x43bd6e
push 0x456a20
push str.No_newer_softpaq_available
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
mov dword [ebp - 0x18f0], 4
jmp 0x43bd87
push 0x45670b
push str.There_is_at_least_1_newer_softpaq_available
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x16e4]
call fcn.0044a040
push 0x104
push 0
lea ecx, [ebp - 0x1afc]
push ecx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x42c]
push edx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0xc5c]
push eax
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x1274]
push ecx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x21c]
push edx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x18ec]
push eax
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x84c]
push ecx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x644]
push edx
call fcn.00422660
add esp, 0xc
mov eax, dword [ebp - 0x18f0]
mov dword [ebp - 0x1b10], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x16e4]
call fcn.00449a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x434]
call fcn.00401a80
mov eax, dword [ebp - 0x1b10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00422647
mov esp, ebp
pop ebp
ret 0x14