Function at 0x1004096f
Capabilities:
Delete registry value
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 8], 0xc64a6847
mov dword [ebp - 0x14], 1
push ebx
mov dword [ebp - 0x10], 9
xor ebx, ebx
push esi
mov dword [ebp - 0x1c], 0x80254f8
mov esi, ecx
mov dword [ebp - 0x24], 0x7c525ac8
push edi
mov dword [ebp - 0xc], ebx
jmp 0x100409b2
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5c], 0x637c1d6b
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x100409a4
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100409cd
push ebx
push 0x17bb
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
push 0xfffffffffffffffb
pop eax
push 3
mov dword [ebp - 8], 0xffffffe5
pop edi
jmp 0x10040afc
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x18], 0x8586fd5d
mov dword [ebp - 0xc], 0x30a4ccfd
mov dword [ebp - 0xc], 0x8112def9
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 8]
jne 0x10040a53
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
cmp edx, 0xffffffff
jl 0x10040a3e
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
sub eax, 0x5879
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 8]
mov byte [ebp - 1], bl
test eax, eax
je 0x10040acd
cmp byte [ebp - 1], bl
je 0x10040aa5
push 0x1ff9
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [ebp - 0xc], ebx
jmp 0x10040ac6
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10040ac3
push 0x211e
push 0x24c7
push ebx
call dword [sym.imp.USER32.dll_InflateRect]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x10040aaa
jmp 0x10040af6
cmp byte [ebp - 1], bl
je 0x10040ada
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov dword [ebp - 0x10], ebx
jmp 0x10040af1
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10040aee
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x10040adf
inc dword [ebp - 8]
push 0xfffffffffffffffb
pop eax
cmp dword [ebp - 8], 0xfffffff0
jl 0x100409df
push esi
push 1
call fcn.1003bb50
pop ecx
pop ecx
mov dword [ebp - 0x24], 0x8b13eca4
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], 0xfd947597
mov dword [ebp - 0x24], 0x588c
mov dword [ebp - 0x1c], 0x6928
mov dword [ebp - 8], ebx
jmp 0x10040b48
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10040b3e
mov dword [ebp - 8], ebx
jmp 0x10040b5c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3c], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10040b52
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10040b71
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
dec dword [ebp - 0x1c]
push esi
call fcn.10029da6
mov dword [ebp - 0xc], 0xb26bdde0
mov edx, eax
mov dword [ebp - 0x24], 0xffffffff
pop ecx
mov dword [ebp - 0xc], 6
jmp 0x10040bd9
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x10], 0xd00585b
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xe05d
setge al
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0x1d
jmp 0x10040bd0
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jg 0x10040bc4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x17
jg 0x10040b94
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret