Function at 0x40de1f
Capabilities:
Delete registry value
Get geographical location
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
push ebx
lea eax, [ebp - 8]
push 1
push eax
call fcn.00417e18
pop ecx
xor ebx, ebx
pop ecx
test eax, eax
je 0x40e05f
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x437aa8
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 4
call edi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437aac
push dword [ebp - 8]
mov dword [ebp - 4], 3
call esi
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437ab4
push dword [ebp - 8]
mov byte [ebp - 0x218], bl
mov dword [ebp - 4], 0x100
call esi
push 0x437ac4
lea eax, [ebp - 0x98]
push eax
call edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437ac8
push dword [ebp - 8]
mov dword [ebp - 4], 0x80
call esi
push 0x437adc
lea eax, [ebp - 0x118]
push eax
call edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437ae0
push dword [ebp - 8]
mov dword [ebp - 4], 0x80
call esi
push 4
pop edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437af0
push dword [ebp - 8]
mov dword [ebp - 4], edi
call esi
test eax, eax
jne 0x40df8e
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437b00
push dword [ebp - 8]
call esi
test eax, eax
jne 0x40df8e
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x437b0c
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0041a5f3
add esp, 0x38
test eax, eax
je 0x40df8e
push 0x437b10
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0x437b20
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437b2c
push dword [ebp - 8]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], ebx
call esi
test eax, eax
jne 0x40e054
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437b3c
push dword [ebp - 8]
call esi
test eax, eax
jne 0x40e054
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
push 0x437b48
push dword [ebp - 8]
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], ebx
call esi
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x98]
push dword [ebp - 0x10]
push ebx
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x437b5c
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0041a5f3
add esp, 0x38
test eax, eax
je 0x40e054
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0x437b60
push dword [ebp - 8]
call esi
push 0x437b74
push dword [ebp - 8]
call esi
push 0x437b88
push dword [ebp - 8]
call esi
push 0x437b98
push dword [ebp - 8]
call esi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov dword [0x447fbc], ebx
xor eax, eax
pop ebx
leave
ret 4