Function at 0x50ea80
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b0b9d
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x629688]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push str.Performing_UDS_WFs
mov dword [ebp - 0x16c], 0
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
push 0x13c
call fcn.00585fec
add esp, 0x18
test eax, eax
je 0x50eaf3
mov ecx, eax
call fcn.0050bda0
mov ecx, eax
jmp 0x50eaf5
xor ecx, ecx
lea eax, [esi + 0x18]
push eax
mov dword [ebp - 0x15c], ecx
call fcn.0051dda0
mov ecx, dword [ebp - 0x15c]
lea eax, [esi + 0x30]
push eax
call fcn.0051dea0
mov ecx, dword [ebp - 0x15c]
lea eax, [esi + 0x48]
push eax
call fcn.0051df20
mov ecx, dword [ebp - 0x15c]
lea eax, [esi + 0x60]
push eax
call fcn.0051dd20
mov edi, dword [str.AppPath]
sub esp, 0x18
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [edi], 0
jne 0x50eb56
xor ecx, ecx
jmp 0x50eb69
mov ecx, edi
lea ebx, [ecx + 1]
jmp 0x50eb60
mov al, byte [ecx]
inc ecx
test al, al
jne 0x50eb60
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.004082e0
lea eax, [ebp - 0xb0]
push eax
mov ecx, esi
call fcn.0050e340
mov ecx, dword [ebp - 0x15c]
push eax
mov dword [ebp - 4], 0
call fcn.0051dd60
cmp dword [ebp - 0x9c], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x50ebb1
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
push 0x3f
lea eax, [ebp - 0x5f]
push 0
push eax
mov byte [ebp - 0x60], 0
call fcn.005877c0
add esp, 0xc
lea eax, [ebp - 0x60]
push 0x40
push eax
mov ecx, esi
call fcn.0050cfb0
cmp byte [ebp - 0x60], 0
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
jne 0x50ebf7
xor ecx, ecx
jmp 0x50ec09
lea ecx, [ebp - 0x60]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x50ec00
sub ecx, edx
push ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0xb0]
call fcn.004082e0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 4], 1
call fcn.0051de20
cmp dword [ebp - 0x9c], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x50ec50
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x10
lea eax, [ebp - 0x20]
push eax
push 0x59
xorps xmm0, xmm0
push 0x400
mov byte [ebp - 0x20], 0
movq qword [ebp - 0x1f], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
call edi
lea ecx, [eax - 2]
cmp ecx, 0xd
ja 0x50ec9e
push 0x10
lea eax, [ebp + eax - 0x20]
push eax
push 0x5a
push 0x400
mov byte [eax - 1], 0x5f
call edi
cmp byte [ebp - 0x20], 0
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
jne 0x50ecc3
xor ecx, ecx
jmp 0x50ecd9
lea ecx, [ebp - 0x20]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x50ecd0
sub ecx, edx
push ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xb0]
call fcn.004082e0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 4], 2
call fcn.0051de60
cmp dword [ebp - 0x9c], 0x10
jb 0x50ed19
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
mov dword [ebp - 0xcc], 0xf
mov dword [ebp - 0xd0], 0
mov byte [ebp - 0xe0], 0
cmp dword [esi + 0xa4], 0x10
lea edi, [esi + 0x90]
mov dword [ebp - 4], 3
jb 0x50ed4e
mov eax, dword [edi]
jmp 0x50ed50
mov eax, edi
lea ecx, [ebp - 0xe0]
push ecx
push eax
mov ecx, esi
call fcn.0050cab0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xe0]
push eax
call fcn.0051df90
lea eax, [ebp - 0x168]
push eax
push dword [esi + 4]
mov dword [ebp - 0x168], 0
call fcn.00526160
mov edx, dword [ebp - 0x168]
add esp, 8
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
cmp byte [edx], 0
jne 0x50edb7
xor ecx, ecx
jmp 0x50edc9
mov ecx, edx
lea ebx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x50edc0
sub ecx, ebx
push ecx
push edx
lea ecx, [ebp - 0xb0]
call fcn.004082e0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 4
call fcn.0051df50
cmp dword [ebp - 0x9c], 0x10
mov byte [ebp - 4], 3
jb 0x50ee07
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
test byte [ebp + 8], 1
je 0x50ee56
push str.EULA_record_functionality
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
lea eax, [ebp - 0x15c]
push eax
push 1
call fcn.0051e5c0
mov dword [ebp - 0x160], eax
mov edx, dword [eax]
add esp, 0x1c
mov ecx, eax
call dword [edx]
lea eax, [ebp - 0x160]
push eax
call fcn.0051e640
add esp, 4
mov edx, dword [esi + 0x150]
xor eax, eax
cmp byte [str.postchrome], al
lea ecx, [esi + 0x140]
mov ebx, 0xa
cmove ebx, eax
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x160], edx
jb 0x50ee80
mov ecx, dword [ecx]
cmp edx, ebx
mov eax, ebx
cmovb eax, edx
push eax
push str.postchrome
push ecx
call fcn.004129e0
add esp, 0xc
test eax, eax
jne 0x50eeb2
mov ecx, dword [ebp - 0x160]
cmp ecx, ebx
jae 0x50eea9
or eax, 0xffffffff
jmp 0x50eeb0
xor eax, eax
cmp ecx, ebx
setne al
test eax, eax
sete al
test al, al
je 0x50f2fd
test byte [ebp + 8], 2
je 0x50f2fd
push 0x37
lea eax, [ebp - 0x97]
push 0
push eax
mov byte [ebp - 0x98], 0
call fcn.005877c0
add esp, 0xc
cmp dword [edi + 0x14], 0x10
jb 0x50eee9
mov edi, dword [edi]
lea eax, [ebp - 0x98]
push eax
push edi
push dword [esi + 0xc]
call fcn.00526f70
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x98]
push eax
push dword [esi + 4]
mov dword [ebp - 0x160], 0
call fcn.00526010
mov eax, dword [ebp - 0x160]
add esp, 0x2c
test eax, eax
je 0x50ef3d
test byte [eax + 0x6c], 0x40
je 0x50ef3d
mov edi, str.subscription
jmp 0x50ef51
mov al, byte [eax + 0x6a]
test al, 0x10
jne 0x50ef4c
test al, 8
je 0x50f31d
mov edi, str.trial
push str.App_usage_functionality
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
add esp, 0x14
mov eax, 0x5e0874
test edi, edi
cmovne eax, edi
push eax
lea ecx, [ebp - 0xb0]
call fcn.00407ed0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 5
call fcn.0051dee0
cmp dword [ebp - 0x9c], 0x10
mov byte [ebp - 4], 3
jb 0x50efb8
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00407ed0
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 6
call fcn.0051dde0
cmp dword [ebp - 0x9c], 0x10
mov byte [ebp - 4], 3
jb 0x50effb
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
cmp dword [esi + 0x88], 0
jne 0x50f01f
push 0x5c39e8
lea ecx, [ebp - 0xf8]
call fcn.00407ed0
mov byte [ebp - 4], 7
mov ebx, 1
jmp 0x50f05f
push 0xffffffffffffffff
push 0
lea eax, [esi + 0x78]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
call fcn.004086b0
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 8
mov ebx, 2
mov ecx, dword [ebp - 0x15c]
push eax
mov dword [ebp - 0x16c], ebx
call fcn.0051e010
test bl, 2
je 0x50f0ab
and ebx, 0xfffffffd
cmp dword [ebp - 0x9c], 0x10
jb 0x50f090
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
mov dword [ebp - 4], 3
test bl, 1
je 0x50f0ce
cmp dword [ebp - 0xe4], 0x10
jb 0x50f0ce
push dword [ebp - 0xf8]
call fcn.0058603b
add esp, 4
push 1
push 2
lea ecx, [ebp - 0x204]
call fcn.004ff190
mov eax, dword [ebp - 0x160]
lea ecx, [ebp - 0x204]
movzx eax, word [eax + 0x3c]
push eax
mov byte [ebp - 4], 9
call fcn.0050c5d0
mov dword [ebp - 0xb4], 0xf
mov dword [ebp - 0xb8], 0
mov byte [ebp - 0xc8], 0
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0xa
call fcn.00501000
cmp dword [ebp - 0x9c], 0x10
mov esi, dword [eax + 0x10]
jb 0x50f142
push dword [ebp - 0xb0]
call fcn.0058603b
add esp, 4
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0xb0], 0
dec esi
je 0x50f212
dec esi
je 0x50f1c8
dec esi
je 0x50f19f
push str.pid_has_unknown_length
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
add esp, 0x14
lea ecx, [ebp - 0xc8]
push 0x5c51bc
call fcn.004080a0
jmp 0x50f263
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x204]
call fcn.00501000
push eax
lea ecx, [ebp - 0xc8]
call fcn.0041b620
lea ecx, [ebp - 0xf8]
jmp 0x50f25e
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x204]
call fcn.00501000
push eax
lea eax, [ebp - 0x158]
push 0x5e0b40
push eax
mov byte [ebp - 4], 0xc
call fcn.004c44e0
add esp, 0xc
lea ecx, [ebp - 0xc8]
push eax
call fcn.0041b620
lea ecx, [ebp - 0x158]
call fcn.00407f30
lea ecx, [ebp - 0x110]
jmp 0x50f25a
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x204]
call fcn.00501000
push eax
lea eax, [ebp - 0x128]
push 0x5c51a0
push eax
mov byte [ebp - 4], 0xb
call fcn.004c44e0
add esp, 0xc
lea ecx, [ebp - 0xc8]
push eax
call fcn.0041b620
lea ecx, [ebp - 0x128]
call fcn.00407f30
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0xa
call fcn.00407f30
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xc8]
push eax
call fcn.0051dfd0
lea eax, [ebp - 0x15c]
push eax
push 2
call fcn.0051e5c0
mov dword [ebp - 0x164], eax
mov edx, dword [eax]
add esp, 8
mov ecx, eax
call dword [edx]
lea eax, [ebp - 0x164]
push eax
call fcn.0051e640
add esp, 4
cmp dword [ebp - 0xb4], 0x10
jb 0x50f2b8
push dword [ebp - 0xc8]
call fcn.0058603b
add esp, 4
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0xb4], 0xf
mov dword [ebp - 0xb8], 0
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 3
call fcn.004ff290
lea eax, [ebp - 0x1b4]
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0058267c
add esp, 4
jmp 0x50f31d
push str.Suppressing_app_usage___either_pre_chrome_mode_or_no_app_usage_required
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
add esp, 0x14
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x50f32d
mov eax, dword [ecx]
push 1
call dword [eax]
push str.UDS_WFs_completed
push dword [0x61acf8]
push 4
push str.LicenseUtilManager
push dword [0x62f8f0]
call fcn.00525c50
add esp, 0x14
cmp dword [ebp - 0xcc], 0x10
jb 0x50f364
push dword [ebp - 0xe0]
call fcn.0058603b
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00586d1b
mov esp, ebp
pop ebp
ret 4