Function at 0x2e0dd324
Capabilities:
Get geographical location

Disassembly:
push 0x168
mov eax, 0x2e1036b5
call fcn.2e01c44f
mov eax, dword [ecx + 0xa4]
mov edi, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], eax
test edi, edi
je 0x2e0dd84a
test eax, eax
je 0x2e0dd84a
lea ebx, [ecx + 0x48]
push edi
mov ecx, ebx
call fcn.2e0dabeb
mov edx, dword [edi]
xor ecx, ecx
push ecx
push ecx
xor eax, eax
push eax
push ecx
push edi
call dword [edx + 0x14]
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x20]
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push 1
push 0x2c1
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov edi, SysReAllocString
push edi
push 0x34
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push 6
lea eax, [ebp - 0x18]
push eax
push 0x1004
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x18]
push eax
call fcn.2e0dd9dd
pop ecx
mov esi, 0xd698
cmp eax, 0x3a8
je 0x2e0dd3fb
lea eax, [ebp - 0x18]
push eax
call fcn.2e0dd9dd
pop ecx
cmp eax, esi
jne 0x2e0dd406
push esi
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x2e0dd443
lea eax, [ebp - 0x18]
push eax
call fcn.2e0dd9dd
pop ecx
test eax, eax
je 0x2e0dd423
lea eax, [ebp - 0x18]
push eax
call fcn.2e0dd9dd
pop ecx
cmp eax, 3
jne 0x2e0dd45c
call fcn.2e01b0ac
cmp eax, 0x3a8
je 0x2e0dd438
call fcn.2e01b0ac
cmp eax, esi
jne 0x2e0dd45c
push esi
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x2e0dd45c
push esi
push 0x2e0041bc
push 6
pop esi
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.2e040a1a
add esp, 0x10
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], 6
jle 0x2e0dd46c
mov esi, 0x80004005
jmp 0x2e0dd84f
lea eax, [ebp - 0x18]
push eax
call fcn.2e0dd9dd
pop ecx
push eax
push 0x35
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push 0
push 0xca
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push dword [0x2e114aec]
call fcn.2e07ce30
mov ecx, ebx
test eax, eax
je 0x2e0dd4db
push 2
push 0x32c
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x98]
mov dword [eax + 0x44], 2
jmp 0x2e0dd504
push 1
push 0x32c
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x98]
mov esi, dword [ebp - 0x1c]
mov dword [eax + 0x44], 1
push dword [esi + 0xd8]
call fcn.2e0195b6
and dword [ebp - 0x20], 0
and dword [ebp - 0x24], 0
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x28], eax
call fcn.2e0d77ff
xor eax, eax
cmp dword [ebp - 0x28], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], eax
jle 0x2e0dd59d
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x2c]
push dword [esi + 0xd8]
call fcn.2e0d655f
test eax, eax
jl 0x2e0dd59d
lea eax, [ebp - 0x20]
push eax
call fcn.2e07ea3f
lea eax, [ebp - 0x24]
push eax
call fcn.2e07ea3f
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push dword [ebp - 0x18]
push eax
call dword [ecx + 0x24]
test eax, eax
jl 0x2e0dd59d
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x2e0dd59d
push esi
push dword [ebp - 0x24]
lea ecx, [ebp - 0x174]
call fcn.2e0df7f9
test eax, eax
jl 0x2e0dd59d
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jl 0x2e0dd532
lea eax, [ebp - 0x24]
push eax
call fcn.2e07ea3f
lea eax, [ebp - 0x20]
push eax
call fcn.2e07ea3f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.2e0d785c
mov ecx, esi
call fcn.2e0e1272
test eax, eax
je 0x2e0dd5d4
push 0
mov ecx, esi
call fcn.2e0e1389
jmp 0x2e0dd648
push edi
push 0x342
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
push 0
call fcn.2e0e1389
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 0x32d
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
push 0xffffffffffffffff
call fcn.2e0e1389
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x2e0dd752
push eax
call fcn.2e0195b6
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x2e0dd752
push edi
push 0xbc
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
and dword [ebp - 0x24], 0
cmp dword [ebp - 0x28], 0
jle 0x2e0dd73e
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
push dword [eax + 0xbc]
call fcn.2e0d655f
cmp dword [ebp - 0x20], 0xff676983
je 0x2e0dd70f
movzx eax, byte [ebp - 0x20]
push eax
push 0x2ae
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov eax, dword [ebp - 0x20]
shr eax, 8
movzx eax, al
push eax
push 0x18d
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov eax, dword [ebp - 0x20]
sar eax, 0x10
movzx eax, al
push eax
push 0x5e
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push 0xffffffffffffffff
push 0
push 1
push 0
push 1
push 0x2e011a80
mov ecx, ebx
call fcn.2e0db1b1
mov esi, eax
test esi, esi
jl 0x2e0dd84f
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jl 0x2e0dd699
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
call fcn.2e0dc8c5
test eax, eax
je 0x2e0dd76a
mov ecx, dword [ebp - 0x1c]
push 0
call fcn.2e0dbc0f
jmp 0x2e0dd7da
push edi
push 0x342
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
push 0
call fcn.2e0dbc0f
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 0x32d
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
push 0xffffffffffffffff
call fcn.2e0dbc0f
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
push 3
call fcn.2e0dbfb6
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x98]
push dword [eax + 0x44]
call fcn.2e0db4ec
mov esi, eax
test esi, esi
jl 0x2e0dd84f
mov ecx, ebx
call fcn.2e0daada
mov esi, dword [ebp - 0x38]
mov edx, dword [esi]
xor ecx, ecx
push ecx
push ecx
xor eax, eax
push eax
push ecx
push esi
call dword [edx + 0x14]
test eax, eax
jl 0x2e0dd85c
mov ecx, dword [esi]
lea edx, [ebp - 0x30]
push edx
or eax, 0xffffffff
lea edx, [ebp - 0x44]
push edx
push eax
push eax
push dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
push esi
call dword [ecx + 0x1c]
push edi
push 7
mov ecx, ebx
call fcn.2e0dae36
mov esi, eax
jmp 0x2e0dd84f
mov esi, 0x80070057
mov ecx, dword [ebp - 0x1c]
add ecx, 0x48
call fcn.2e0daada
mov eax, esi
call fcn.2e01c4d2
ret