Function at 0x402040
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x56fa64]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [ebp - 0x413]
mov esi, ecx
mov edi, edx
push ebx
push eax
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x42c], edi
mov dword [ebp - 0x420], 2
mov byte [ebp - 0x414], bl
call fcn.005028e0
push 0x103
lea ecx, [ebp - 0x107]
push ebx
push ecx
mov byte [ebp - 0x108], bl
call fcn.005028e0
push 0x103
lea edx, [ebp - 0x20b]
push ebx
push edx
mov byte [ebp - 0x20c], bl
call fcn.005028e0
lea edx, [ebp - 0x108]
add esp, 0x24
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4020c7
lea eax, [ebp - 0x108]
push 0x3a
push eax
call fcn.005017f0
add esp, 8
cmp eax, ebx
je 0x40211c
mov byte [eax], bl
xor ecx, ecx
lea ebx, [ebx]
mov dl, byte [ebp + ecx - 0x108]
mov byte [ebp + ecx - 0x414], dl
inc ecx
cmp dl, bl
jne 0x4020f0
add eax, 3
lea edx, [ebp - 0x108]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x402110
jmp 0x402128
mov ecx, 0x2a
mov word [ebp - 0x414], cx
lea edx, [ebp - 0x108]
push 0x3a
push edx
call fcn.005017f0
add esp, 8
cmp eax, ebx
jne 0x402155
lea eax, [ebp - 0x108]
push 0x54fb88
push eax
call fcn.005018b0
add esp, 8
cmp eax, ebx
je 0x402157
mov byte [eax], bl
lea edi, [ebp - 0x108]
call fcn.00401fc0
test eax, eax
je 0x40235f
lea ecx, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapRanges
push ecx
mov dword [ebp - 0x41c], ebx
call fcn.00501936
add esp, 8
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x20c]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov edx, dword [ebp - 0x418]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x41c]
push ecx
push ebx
push ebx
push ebx
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov esi, eax
mov eax, dword [ebp - 0x418]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x418], ebx
cmp esi, ebx
je 0x4021e3
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00500f71
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x41c]
mov esi, 1
cmp eax, esi
jb 0x4022d5
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea esp, [esp]
push esi
lea ecx, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapRangesRange_d
push ecx
call fcn.00501936
add esp, 0xc
lea edx, [ebp - 0x430]
push edx
push 0xf003f
push ebx
lea eax, [ebp - 0x20c]
push eax
push SysReAllocStringLen
call edi
test eax, eax
jne 0x4022a9
push 0xff
lea ecx, [ebp - 0x30b]
push ebx
push ecx
mov byte [ebp - 0x30c], bl
call fcn.005028e0
add esp, 0xc
lea edx, [ebp - 0x434]
push edx
mov edx, dword [ebp - 0x430]
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x428]
push ecx
push ebx
push str.:Range
push edx
mov dword [ebp - 0x428], 1
mov dword [ebp - 0x434], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4022a9
mov ecx, dword [ebp - 0x42c]
lea eax, [ebp - 0x30c]
push eax
push ecx
call fcn.005018b0
add esp, 8
test eax, eax
jne 0x4022ba
mov eax, dword [ebp - 0x41c]
inc esi
cmp esi, eax
jbe 0x402200
jmp 0x4022d5
mov edx, dword [ebp - 0x418]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x41c]
cmp esi, eax
jbe 0x40246d
inc eax
push eax
lea eax, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapRangesRange_d
push eax
call fcn.00501936
mov eax, dword [ebp - 0x424]
add esp, 0xc
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x20c]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov eax, dword [ebp - 0x418]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x420]
push ecx
push 4
push ebx
lea edx, [ebp - 0x414]
push edx
push eax
call esi
lea eax, [ebp - 0x108]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x402331
mov edx, dword [ebp - 0x418]
sub eax, ecx
push eax
lea ecx, [ebp - 0x108]
push ecx
push 1
push ebx
push str.:Range
push edx
call esi
mov eax, dword [ebp - 0x418]
push eax
jmp 0x402467
lea ecx, [ebp - 0x108]
push 0x2e
push ecx
call fcn.00501a00
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x402396
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapDomains_s
push eax
call fcn.00501936
add esp, 0xc
jmp 0x402425
push 0x103
lea ecx, [ebp - 0x30f]
push ebx
push ecx
mov byte [ebp - 0x310], bl
call fcn.005028e0
lea edx, [ebp - 0x310]
add esp, 0xc
mov eax, esi
sub edx, esi
jmp 0x4023c0
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4023c0
lea edx, [ebp - 0x108]
push 0x2e
push edx
mov byte [esi], bl
call fcn.00501a00
add esp, 8
lea ecx, [ebp - 0x108]
cmp eax, ebx
jne 0x402405
lea eax, [ebp - 0x310]
push eax
push ecx
lea edx, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapDomains_s_s
push edx
call fcn.00501936
add esp, 0x10
jmp 0x402425
push ecx
mov byte [eax], bl
lea edx, [ebp - 0x310]
push edx
inc eax
push eax
lea eax, [ebp - 0x20c]
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapDomains_s_s_s
push eax
call fcn.00501936
add esp, 0x14
mov eax, dword [ebp - 0x424]
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x20c]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov eax, dword [ebp - 0x418]
push 4
lea ecx, [ebp - 0x420]
push ecx
push 4
push ebx
lea edx, [ebp - 0x414]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x418]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.00500f71
mov esp, ebp
pop ebp
ret