Function at 0x403390
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x42f8e1
mov eax, dword fs:[0]
push eax
mov eax, 0x18d0
call fcn.0041db80
mov eax, dword [0x43bff0]
xor eax, esp
mov dword [esp + 0x18c8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x43bff0]
xor eax, esp
push eax
lea eax, [esp + 0x18e4]
mov dword fs:[0], eax
xor ebx, ebx
mov eax, dword [esp + 0x18f4]
mov cl, 0xb4
mov byte [esp + 0x1624], cl
mov byte [esp + 0x1625], 1
mov byte [esp + 0x1626], bl
mov byte [esp + 0x1627], bl
mov byte [esp + 0x1628], cl
mov byte [esp + 0x1629], 1
mov byte [esp + 0x162a], bl
mov byte [esp + 0x162b], bl
mov byte [esp + 0x162c], cl
mov byte [esp + 0x162d], 1
mov byte [esp + 0x162e], bl
mov byte [esp + 0x162f], bl
mov byte [esp + 0x1630], 1
mov byte [esp + 0x1631], bl
mov byte [esp + 0x1632], bl
mov byte [esp + 0x1633], bl
mov byte [esp + 0x1634], 0xf
mov byte [esp + 0x1635], bl
mov byte [esp + 0x1636], bl
mov byte [esp + 0x1637], bl
mov byte [esp + 0x1638], 1
mov byte [esp + 0x1639], bl
mov byte [esp + 0x163a], bl
mov byte [esp + 0x163b], bl
mov byte [esp + 0x163c], 2
mov byte [esp + 0x163d], bl
mov byte [esp + 0x163e], bl
mov byte [esp + 0x163f], bl
mov byte [esp + 0x1640], bl
mov byte [esp + 0x1641], bl
mov byte [esp + 0x1642], bl
mov byte [esp + 0x1643], bl
mov byte [esp + 0x1644], bl
mov byte [esp + 0x1645], bl
mov byte [esp + 0x1646], bl
mov byte [esp + 0x1647], bl
mov byte [esp + 0x1648], bl
mov byte [esp + 0x1649], bl
mov byte [esp + 0x164a], bl
mov byte [esp + 0x164b], bl
mov byte [esp + 0x164c], bl
mov byte [esp + 0x164d], bl
mov byte [esp + 0x164e], bl
mov byte [esp + 0x164f], bl
mov byte [esp + 0x1650], bl
mov byte [esp + 0x1651], bl
mov byte [esp + 0x1652], bl
mov byte [esp + 0x1653], bl
mov byte [esp + 0x1654], bl
mov byte [esp + 0x1655], bl
mov byte [esp + 0x1656], bl
mov byte [esp + 0x1657], bl
mov byte [esp + 0x1658], bl
mov byte [esp + 0x1659], bl
mov byte [esp + 0x165a], bl
mov byte [esp + 0x165b], bl
mov byte [esp + 0x165c], bl
mov byte [esp + 0x165d], bl
mov byte [esp + 0x165e], bl
mov byte [esp + 0x165f], bl
mov byte [esp + 0x1660], bl
mov byte [esp + 0x1661], bl
mov byte [esp + 0x1662], bl
mov byte [esp + 0x1663], bl
mov byte [esp + 0x1664], bl
mov byte [esp + 0x1665], bl
mov byte [esp + 0x1666], bl
mov byte [esp + 0x1667], bl
mov byte [esp + 0x1668], bl
mov byte [esp + 0x1669], bl
mov byte [esp + 0x166a], bl
mov byte [esp + 0x166b], bl
mov byte [esp + 0x166c], bl
mov byte [esp + 0x166d], bl
mov byte [esp + 0x166e], bl
mov byte [esp + 0x166f], bl
mov byte [esp + 0x1670], 1
mov byte [esp + 0x1671], bl
mov byte [esp + 0x1672], bl
mov byte [esp + 0x1673], bl
mov byte [esp + 0x1674], 2
mov byte [esp + 0x1675], bl
mov byte [esp + 0x1676], bl
mov byte [esp + 0x1677], bl
mov byte [esp + 0x1678], 2
mov byte [esp + 0x1679], bl
mov byte [esp + 0x167a], bl
mov byte [esp + 0x167b], bl
mov byte [esp + 0x167c], bl
mov byte [esp + 0x167d], bl
mov byte [esp + 0x167e], bl
mov byte [esp + 0x167f], bl
mov byte [esp + 0x1680], bl
mov byte [esp + 0x1681], bl
mov byte [esp + 0x1682], bl
mov byte [esp + 0x1683], bl
mov byte [esp + 0x1684], bl
mov byte [esp + 0x1685], bl
mov byte [esp + 0x1686], bl
mov byte [esp + 0x1687], bl
mov byte [esp + 0x1688], bl
mov byte [esp + 0x1689], bl
mov byte [esp + 0x168a], bl
mov byte [esp + 0x168b], bl
mov byte [esp + 0x168c], bl
mov byte [esp + 0x168d], bl
mov byte [esp + 0x168e], bl
mov byte [esp + 0x168f], bl
mov byte [esp + 0x1690], bl
mov byte [esp + 0x1691], bl
mov byte [esp + 0x1692], bl
mov byte [esp + 0x1693], bl
mov byte [esp + 0x1694], bl
mov byte [esp + 0x1695], bl
mov byte [esp + 0x1696], bl
mov byte [esp + 0x1697], bl
mov byte [esp + 0x1698], bl
mov byte [esp + 0x1699], bl
mov byte [esp + 0x169a], bl
mov byte [esp + 0x169b], bl
mov byte [esp + 0x169c], bl
mov byte [esp + 0x169d], bl
mov byte [esp + 0x169e], bl
mov byte [esp + 0x169f], bl
mov byte [esp + 0x16a0], bl
mov byte [esp + 0x16a1], bl
mov byte [esp + 0x16a2], bl
mov byte [esp + 0x16a3], bl
mov byte [esp + 0x16a4], bl
mov byte [esp + 0x16a5], bl
mov byte [esp + 0x16a6], bl
mov byte [esp + 0x16a7], bl
mov byte [esp + 0x16a8], bl
mov byte [esp + 0x16a9], bl
mov byte [esp + 0x16aa], bl
mov byte [esp + 0x16ab], bl
mov byte [esp + 0x16ac], bl
mov byte [esp + 0x16ad], bl
mov byte [esp + 0x16ae], bl
mov byte [esp + 0x16af], bl
mov byte [esp + 0x16b0], bl
mov byte [esp + 0x16b1], bl
mov byte [esp + 0x16b2], bl
mov byte [esp + 0x16b3], bl
mov byte [esp + 0x16b4], bl
mov byte [esp + 0x16b5], bl
mov byte [esp + 0x16b6], bl
mov byte [esp + 0x16b7], bl
mov byte [esp + 0x16b8], bl
mov byte [esp + 0x16b9], bl
mov byte [esp + 0x16ba], bl
mov byte [esp + 0x16bb], bl
mov byte [esp + 0x16bc], bl
mov byte [esp + 0x16bd], bl
mov byte [esp + 0x16be], bl
mov byte [esp + 0x16bf], bl
mov byte [esp + 0x16c0], bl
mov byte [esp + 0x16c1], bl
mov byte [esp + 0x16c2], bl
mov byte [esp + 0x16c3], bl
mov byte [esp + 0x16c4], bl
mov byte [esp + 0x16c5], bl
mov byte [esp + 0x16c6], bl
mov byte [esp + 0x16c7], bl
mov byte [esp + 0x16c8], bl
mov byte [esp + 0x16c9], bl
mov byte [esp + 0x16ca], bl
mov byte [esp + 0x16cb], bl
mov byte [esp + 0x16cc], bl
mov byte [esp + 0x16cd], bl
mov byte [esp + 0x16ce], bl
mov byte [esp + 0x16cf], bl
mov byte [esp + 0x16d0], bl
mov byte [esp + 0x16d1], bl
mov byte [esp + 0x16d2], bl
mov byte [esp + 0x16d3], bl
mov byte [esp + 0x16d4], bl
mov byte [esp + 0x16d5], bl
mov byte [esp + 0x16d6], bl
mov byte [esp + 0x16d7], bl
mov byte [esp + 0x16d8], bl
mov byte [esp + 0x16d9], bl
mov byte [esp + 0x16da], bl
mov byte [esp + 0x16db], bl
mov byte [esp + 0x16dc], bl
mov byte [esp + 0x16dd], bl
mov byte [esp + 0x16de], bl
mov byte [esp + 0x16df], bl
mov byte [esp + 0x16e0], bl
mov byte [esp + 0x16e1], bl
mov byte [esp + 0x16e2], bl
mov byte [esp + 0x16e3], bl
mov byte [esp + 0x16e4], bl
mov byte [esp + 0x16e5], bl
mov byte [esp + 0x16e6], bl
mov byte [esp + 0x16e7], bl
mov byte [esp + 0x16e8], bl
mov byte [esp + 0x16e9], bl
mov byte [esp + 0x16ea], bl
mov byte [esp + 0x16eb], bl
mov byte [esp + 0x16ec], bl
mov byte [esp + 0x16ed], bl
mov byte [esp + 0x16ee], bl
mov byte [esp + 0x16ef], bl
mov byte [esp + 0x16f0], bl
mov byte [esp + 0x16f1], bl
mov byte [esp + 0x16f2], bl
mov byte [esp + 0x16f3], bl
mov byte [esp + 0x16f4], bl
mov byte [esp + 0x16f5], bl
mov byte [esp + 0x16f6], bl
mov byte [esp + 0x16f7], bl
mov byte [esp + 0x16f8], bl
mov byte [esp + 0x16f9], bl
mov byte [esp + 0x16fa], bl
mov byte [esp + 0x16fb], bl
mov byte [esp + 0x16fc], bl
mov byte [esp + 0x16fd], bl
mov byte [esp + 0x16fe], bl
mov byte [esp + 0x16ff], bl
mov byte [esp + 0x1700], bl
mov byte [esp + 0x1701], bl
mov byte [esp + 0x1702], bl
mov byte [esp + 0x1703], bl
mov byte [esp + 0x1704], bl
mov byte [esp + 0x1705], bl
mov byte [esp + 0x1706], bl
mov byte [esp + 0x1707], bl
mov byte [esp + 0x1708], bl
mov byte [esp + 0x1709], bl
mov byte [esp + 0x170a], bl
mov byte [esp + 0x170b], bl
mov byte [esp + 0x170c], bl
mov byte [esp + 0x170d], bl
mov byte [esp + 0x170e], bl
mov byte [esp + 0x170f], bl
mov byte [esp + 0x1710], bl
mov byte [esp + 0x1711], bl
mov byte [esp + 0x1712], bl
mov byte [esp + 0x1713], bl
mov byte [esp + 0x1714], bl
mov byte [esp + 0x1715], bl
mov byte [esp + 0x1716], bl
mov byte [esp + 0x1717], bl
mov byte [esp + 0x1718], bl
mov byte [esp + 0x1719], bl
mov byte [esp + 0x171a], bl
mov byte [esp + 0x171b], bl
mov byte [esp + 0x171c], bl
mov byte [esp + 0x171d], bl
mov byte [esp + 0x171e], bl
mov byte [esp + 0x171f], bl
mov byte [esp + 0x1720], bl
mov byte [esp + 0x1721], bl
mov byte [esp + 0x1722], bl
mov byte [esp + 0x1723], bl
mov byte [esp + 0x1724], bl
mov byte [esp + 0x1725], bl
mov byte [esp + 0x1726], bl
mov byte [esp + 0x1727], bl
mov byte [esp + 0x1728], bl
mov byte [esp + 0x1729], bl
mov byte [esp + 0x172a], bl
mov byte [esp + 0x172b], bl
mov byte [esp + 0x172c], bl
mov byte [esp + 0x172d], bl
mov byte [esp + 0x172e], bl
mov byte [esp + 0x172f], bl
mov byte [esp + 0x1730], bl
mov byte [esp + 0x1731], bl
mov byte [esp + 0x1732], bl
mov byte [esp + 0x1733], bl
mov byte [esp + 0x1734], bl
mov byte [esp + 0x1735], bl
mov byte [esp + 0x1736], bl
mov byte [esp + 0x1737], bl
mov byte [esp + 0x1738], bl
mov byte [esp + 0x1739], bl
mov byte [esp + 0x173a], bl
mov byte [esp + 0x173b], bl
mov byte [esp + 0x173c], bl
mov byte [esp + 0x173d], bl
mov byte [esp + 0x173e], bl
mov byte [esp + 0x173f], bl
mov byte [esp + 0x1740], bl
mov byte [esp + 0x1741], bl
mov byte [esp + 0x1742], bl
mov byte [esp + 0x1743], bl
mov byte [esp + 0x1744], bl
mov byte [esp + 0x1745], bl
mov byte [esp + 0x1746], bl
mov byte [esp + 0x1747], bl
mov byte [esp + 0x1748], bl
mov byte [esp + 0x1749], bl
mov byte [esp + 0x174a], bl
mov byte [esp + 0x174b], bl
mov byte [esp + 0x174c], bl
mov byte [esp + 0x174d], bl
mov byte [esp + 0x174e], bl
mov byte [esp + 0x174f], bl
mov byte [esp + 0x1750], bl
mov byte [esp + 0x1751], bl
mov byte [esp + 0x1752], bl
mov byte [esp + 0x1753], bl
mov byte [esp + 0x1754], bl
mov byte [esp + 0x1755], bl
mov byte [esp + 0x1756], bl
mov byte [esp + 0x1757], bl
mov byte [esp + 0x1758], bl
mov byte [esp + 0x1759], bl
mov byte [esp + 0x175a], bl
mov byte [esp + 0x175b], bl
mov byte [esp + 0x175c], bl
mov byte [esp + 0x175d], bl
mov byte [esp + 0x175e], bl
mov byte [esp + 0x175f], bl
mov byte [esp + 0x1760], bl
mov byte [esp + 0x1761], bl
mov byte [esp + 0x1762], bl
mov byte [esp + 0x1763], bl
mov byte [esp + 0x1764], bl
mov byte [esp + 0x1765], bl
mov byte [esp + 0x1766], bl
mov byte [esp + 0x1767], bl
mov byte [esp + 0x1768], bl
mov byte [esp + 0x1769], bl
mov byte [esp + 0x176a], bl
mov byte [esp + 0x176b], bl
mov byte [esp + 0x176c], bl
mov byte [esp + 0x176d], bl
mov byte [esp + 0x176e], bl
mov byte [esp + 0x176f], bl
mov byte [esp + 0x1770], bl
mov byte [esp + 0x1771], bl
mov byte [esp + 0x1772], bl
mov byte [esp + 0x1773], bl
mov byte [esp + 0x1774], bl
mov byte [esp + 0x1775], bl
mov byte [esp + 0x1776], bl
mov byte [esp + 0x1777], bl
mov byte [esp + 0x1778], bl
mov byte [esp + 0x1779], bl
mov byte [esp + 0x177a], bl
mov byte [esp + 0x177b], bl
mov byte [esp + 0x177c], 1
mov byte [esp + 0x177d], bl
mov byte [esp + 0x177e], bl
mov byte [esp + 0x177f], bl
mov byte [esp + 0x1780], 1
mov byte [esp + 0x1781], bl
mov byte [esp + 0x1782], bl
mov byte [esp + 0x1783], bl
mov byte [esp + 0x1784], bl
mov byte [esp + 0x1785], bl
mov byte [esp + 0x1786], bl
mov byte [esp + 0x1787], bl
mov byte [esp + 0x1788], bl
mov byte [esp + 0x1789], bl
mov byte [esp + 0x178a], bl
mov byte [esp + 0x178b], bl
mov byte [esp + 0x178c], bl
mov byte [esp + 0x178d], bl
mov byte [esp + 0x178e], bl
mov byte [esp + 0x178f], bl
mov byte [esp + 0x1790], bl
mov byte [esp + 0x1791], bl
mov byte [esp + 0x1792], bl
mov byte [esp + 0x1793], bl
mov byte [esp + 0x1794], bl
mov byte [esp + 0x1795], bl
mov byte [esp + 0x1796], bl
mov byte [esp + 0x1797], bl
mov byte [esp + 0x1798], bl
mov byte [esp + 0x1799], bl
mov byte [esp + 0x179a], bl
mov byte [esp + 0x179b], bl
mov byte [esp + 0x179c], bl
mov byte [esp + 0x179d], bl
mov byte [esp + 0x179e], bl
mov byte [esp + 0x179f], bl
mov byte [esp + 0x17a0], bl
mov byte [esp + 0x17a1], bl
mov byte [esp + 0x17a2], bl
mov byte [esp + 0x17a3], bl
mov byte [esp + 0x17a4], bl
mov byte [esp + 0x17a5], bl
mov byte [esp + 0x17a6], bl
mov byte [esp + 0x17a7], bl
mov byte [esp + 0x17a8], bl
mov byte [esp + 0x17a9], bl
mov byte [esp + 0x17aa], bl
mov byte [esp + 0x17ab], bl
mov byte [esp + 0x17ac], bl
mov byte [esp + 0x17ad], bl
mov byte [esp + 0x17ae], bl
mov byte [esp + 0x17af], bl
mov byte [esp + 0x17b0], bl
mov byte [esp + 0x17b1], bl
mov byte [esp + 0x17b2], bl
mov byte [esp + 0x17b3], bl
mov byte [esp + 0x17b4], bl
mov byte [esp + 0x17b5], bl
lea esi, [eax + 0xa4]
mov eax, dword [esi]
mov byte [esp + 0x17b6], bl
mov byte [esp + 0x17b7], bl
mov byte [esp + 0x17b8], bl
mov byte [esp + 0x17b9], bl
mov byte [esp + 0x17ba], bl
mov byte [esp + 0x17bb], bl
mov byte [esp + 0x17bc], bl
mov byte [esp + 0x17bd], bl
mov byte [esp + 0x17be], bl
mov byte [esp + 0x17bf], bl
mov byte [esp + 0x17c0], bl
mov byte [esp + 0x17c1], bl
mov byte [esp + 0x17c2], bl
mov byte [esp + 0x17c3], bl
mov byte [esp + 0x17c4], bl
mov byte [esp + 0x17c5], bl
mov byte [esp + 0x17c6], bl
mov byte [esp + 0x17c7], bl
mov byte [esp + 0x17c8], bl
mov byte [esp + 0x17c9], bl
mov byte [esp + 0x17ca], bl
mov byte [esp + 0x17cb], bl
mov byte [esp + 0x17cc], bl
mov byte [esp + 0x17cd], bl
mov byte [esp + 0x17ce], bl
mov byte [esp + 0x17cf], bl
mov byte [esp + 0x17d0], bl
mov byte [esp + 0x17d1], bl
mov byte [esp + 0x17d2], bl
mov byte [esp + 0x17d3], bl
mov byte [esp + 0x17d4], bl
mov byte [esp + 0x17d5], bl
mov byte [esp + 0x17d6], bl
mov byte [esp + 0x17d7], bl
mov edi, dword [eax - 0xc]
sub eax, 0x10
mov ebp, 1
cmp dword [eax + 0xc], ebp
jle 0x403ff5
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00405290
mov eax, dword [esi]
lea edx, [edi + edi - 0xc]
push edx
add eax, 0xc
push eax
lea eax, [esp + 0x1684]
push eax
call fcn.0041faf0
push 0x15f0
lea ecx, [esp + 0x44]
push ebx
push ecx
call fcn.0041c1a0
mov eax, dword [esi]
sub eax, 0x10
add esp, 0x18
mov dword [esp + 0x34], 0x15f0
cmp dword [eax + 0xc], ebp
jle 0x40403d
mov edx, dword [eax + 4]
push edx
mov ecx, esi
call fcn.00405290
mov esi, dword [esi]
lea ecx, [esp + 0x5a]
sub ecx, esi
movzx eax, word [esi]
mov word [ecx + esi], ax
add esi, 2
cmp ax, bx
jne 0x404045
xor eax, eax
jmp 0x404060
movzx ecx, word [eax + str.modem]
mov word [esp + eax + 0x798], cx
add eax, 2
cmp cx, bx
jne 0x404060
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + str.Cellular_Line]
mov word [esp + eax + 0x7ba], cx
add eax, 2
cmp cx, bx
jne 0x404080
push 0x1b4
lea eax, [esp + 0x1628]
push eax
push 0x15f0
lea ecx, [esp + 0x40]
push ecx
push str.GPRS
push ebx
call sub.RASAPI32.dll_RasSetEntryPropertiesW
cmp eax, ebx
jne 0x404275
xor eax, eax
jmp 0x4040d0
movzx ecx, word [eax + str.ADB0B001_10B5_3F39_27C6_9742E785FCD4]
mov word [esp + eax + 0x17dc], cx
add eax, 2
cmp cx, bx
jne 0x4040d0
xor ebp, ebp
mov dword [esp + 0x20], ebp
push str.CommConnMgrProviders7C4B7A38_5FF7_4bc1_80F6_5DA7870BB1AAConnections
lea ecx, [esp + 0x20]
mov dword [esp + 0x18f0], ebx
call fcn.00404800
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x3c], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x40423c
mov esi, dword [esp + 0x18]
mov ebp, esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.ole32.dll_CoCreateGuid]
push esi
mov edx, str.GPRS
lea esi, [esp + 0x1c]
call fcn.00401320
test eax, eax
jne 0x40422d
mov esi, dword [esp + 0x18]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
lea eax, [esp + 0x18]
push eax
push 4
push ebx
push str.RequirePw
push esi
mov dword [esp + 0x2c], ebx
call edi
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push ebx
push str.SecureLevel
push esi
mov dword [esp + 0x2c], ebx
call edi
push 4
lea edx, [esp + 0x18]
push edx
push 4
push ebx
push str.Secure
push esi
mov dword [esp + 0x2c], ebx
call edi
push 4
lea eax, [esp + 0x18]
push eax
push 4
push ebx
push str.AlwaysOn
push esi
mov dword [esp + 0x2c], ebx
call edi
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push ebx
push str.Enabled
push esi
mov dword [esp + 0x2c], 1
call edi
push 4
lea edx, [esp + 0x18]
push edx
push 4
push ebx
push str.EntryType
push esi
mov dword [esp + 0x2c], 2
call edi
lea eax, [esp + 0x17dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
lea ecx, [eax + eax]
push ecx
lea edx, [esp + 0x17e0]
push edx
push 1
push ebx
push str.DestId
push esi
call edi
lea eax, [esp + 0x24]
push eax
lea esi, [esp + 0x1c]
call fcn.00401370
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x40423c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [esp + 0x18ec], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404263
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp ebp, ebx
je 0x40426e
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x404283
push ebx
push ebx
push str.Create_Entry_Error
call fcn.0040f5ce
xor eax, eax
mov ecx, dword [esp + 0x18e4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18c8]
xor ecx, esp
call fcn.004194fa
add esp, 0x18dc
ret 4