Function at 0x100393a7
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x1005989a
call fcn.10057e90
sub esp, 0x14c
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x50], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10039ad2
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x6c], esi
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x10039ac7
lea eax, [ebp - 0x90]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.1001f779
mov dword [ebp - 4], ebx
mov esi, 0x11eb7
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
push dword [ebp - 0x60]
sar eax, 1
push eax
push esi
push 0x113b1
call fcn.10034e42
pop ecx
pop ecx
call eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0xa8]
call fcn.1000eb46
push 0xd18d
mov byte [ebp - 4], 1
call fcn.1001f169
pop ecx
movzx eax, ax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov dl, 1
lea eax, [ebp - 0xa8]
push eax
push 0x5364
push 0x62a3
push 0x5b64
push 0x5539
push 0x23e6
push 1
push 0x588b
call fcn.10038ca7
add esp, 0x20
mov edx, 0x39f9
push 0x1c6
push ecx
push ecx
push 1
push 0x5726
push ecx
lea ecx, [ebp - 0xa8]
call fcn.10038db1
add esp, 0x18
lea eax, [ebp - 0xa8]
cmp dword [ebp - 0x94], 8
cmovae eax, dword [ebp - 0xa8]
push ebx
push eax
push esi
push 0x1454c
call fcn.10034e42
pop ecx
pop ecx
call eax
push 0x4226
push 0x5701
lea eax, [ebp - 0x64]
mov dl, 1
push eax
push 1
push 0x4b85
push 0x2981
push 0x1e95
push 0x5535
push 1
lea eax, [ebp - 0xa8]
push eax
mov ecx, 0x1541
call fcn.10038ecf
add esp, 0x28
mov dword [ebp - 0x68], ebx
lea edx, [ebp - 0x68]
push 0x720c
push edi
push ecx
push 1
push ecx
call fcn.100390e0
mov cl, bl
add esp, 0x14
mov byte [ebp - 0x11], cl
mov eax, ebx
mov dword [ebp - 0x20], eax
cmp eax, 0x12c
jae 0x10039abc
test cl, cl
jne 0x10039abc
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10004387
push 0x10
pop edx
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 2
call fcn.10002592
push 1
push 0x6caf
push 0x413e
push 0xc02
push ebx
push 0x6e72
push ebx
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 3
push eax
push 0x3c97
push 0x3938
lea edx, [ebp - 0xc0]
mov ecx, 0x774d
call fcn.10039c2f
add esp, 0x28
mov dword [ebp - 0x34], 0x1d027101
mov dword [ebp - 0x30], 0x25d63103
mov byte [ebp - 0x2c], bl
mov word [ebp - 0x2b], 0x356
push 0x65
pop eax
push 2
mov byte [ebp - 0x29], 0x4b
mov word [ebp - 0x7a], ax
pop esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x28], esi
cmp esi, 0xc
jae 0x100396f3
mov dword [ebp - 0x70], 0x6d44
cmp dword [ebp - 0x70], 0x6d54
jle 0x10039633
push 0x22c3
push ebx
push 0x1113
push 0x375
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov edi, ebx
mov dword [ebp - 0x8c], ebx
mov eax, ebx
mov ecx, 0x10073038
or eax, edi
cdq
push edx
push eax
call fcn.10004272
inc ebx
cmp ebx, 0x6854
jl 0x100395ff
inc edi
push 0
pop ebx
cmp edi, 0x323e
jl 0x100395f9
push 0x5b3
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
movzx eax, byte [ebp - 0x34]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x10039655
movzx ecx, byte [ebp + esi - 0x34]
dec esi
add esi, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x4c], eax
jmp 0x100396eb
mov byte [ebp - 4], 4
cmp dword [ebp - 0x70], 0x6bdf
jge 0x1003969e
mov edx, str.xavaybdv_zwhpu_srnvomwv_oek_suigvly_pme
mov ecx, 0x10073038
call fcn.100062fd
jmp 0x1003969e
mov dword [ebp - 4], 3
mov eax, esi
sub eax, dword [ebp - 0x4c]
movzx edx, byte [ebp + esi - 0x33]
push 1
movzx eax, byte [ebp + eax - 0x36]
movzx ecx, word [ebp + eax*2 - 0x7c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x34]
add ecx, edx
push ecx
push 0x1a6b
mov word [ebp + eax*2 - 0x7c], cx
lea eax, [ebp - 0x4c]
push eax
push 0x2d19
mov ecx, 0x2512
call fcn.10039167
add esp, 0x14
add esi, 2
jmp 0x100395c5
xor eax, eax
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x74], ax
lea ecx, [ebp - 0x108]
mov word [ebp - 0x108], ax
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0xf8], ebx
call fcn.1000ed02
push ecx
push ecx
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xc0]
call fcn.1001310e
push ebx
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 3
call fcn.10004836
xor eax, eax
lea edi, [ebp - 0x7c]
cmp dword [ebp - 0xac], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xc0]
cmovae eax, dword [ebp - 0xc0]
mov edi, 0x11eb7
push eax
push edi
push 0xed1c
call fcn.10034e42
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10039a90
mov ecx, dword [ebp + 0x18]
lea eax, [ebp - 0x10c]
push ebx
push eax
push dword [ebp - 0x68]
push dword [ecx]
push esi
push edi
push 0x94ec
call fcn.10034e42
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x10328
setne bl
call fcn.10034e42
pop ecx
pop ecx
call eax
test bl, bl
je 0x10039a8e
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x1c], 0x11028900
push 2
mov ecx, ebx
mov byte [ebp - 0x18], 0xd8
mov word [ebp - 0x24], ax
pop esi
mov dword [ebp - 0x48], ecx
cmp esi, 2
jne 0x100397fd
push 3
pop ecx
push ecx
mov dword [ebp - 0x48], ecx
pop esi
jmp 0x1003983c
movzx edx, byte [ebp + esi - 0x1b]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x1e]
movzx ecx, word [ebp + eax*2 - 0x24]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x1c]
add ecx, edx
xor dl, dl
push ecx
mov word [ebp + eax*2 - 0x24], cx
lea eax, [ebp - 0x48]
push eax
push ecx
push 0x5fff
call fcn.10039390
mov ecx, dword [ebp - 0x48]
add esp, 0x10
add esi, 2
cmp esi, 5
jb 0x100397ee
xor eax, eax
mov dword [ebp - 0xc4], 7
mov word [ebp - 0x22], ax
lea ecx, [ebp - 0xd8]
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0xc8], ebx
call fcn.1000ed02
mov byte [ebp - 4], 7
mov dword [ebp - 0x28], 0x3db0
cmp dword [ebp - 0x28], 0x4189
jle 0x100398ab
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10073038
and eax, esi
cdq
push edx
push eax
call fcn.10004272
inc edi
cmp edi, 0x113c
jl 0x10039888
inc esi
cmp esi, 0x6f0d
jl 0x10039886
mov byte [ebp - 4], 8
cmp dword [ebp - 0x28], 0x3cd6
mov dword [ebp - 0x24], ebx
jge 0x100398ee
mov edx, str.seh_rtjap_aqrwk_ptocoxhad
mov ecx, 0x10073038
call fcn.100062fd
jmp 0x100398ee
push ecx
push ecx
push 0x1567
push ecx
push ecx
lea eax, [ebp - 0xc0]
mov dword [ebp - 4], 7
push 1
push eax
lea edx, [ebp - 0xd8]
mov ecx, 0x4c8a
call fcn.10039bbc
add esp, 0x1c
mov dword [ebp - 0x40], 0x73030e01
mov ecx, ebx
mov dword [ebp - 0x3c], 0x7c028b01
mov word [ebp - 0x38], 0xd00
mov dword [ebp - 0x54], ecx
push 0x20
pop eax
push 2
mov word [ebp - 0x86], ax
pop esi
cmp esi, 4
jne 0x1003994d
push 2
pop ecx
mov dword [ebp - 0x54], ecx
jmp 0x100399b1
movzx edx, byte [ebp + esi - 0x3f]
mov eax, esi
sub eax, ecx
push 1
push 0x775c
push 0x1db9
movzx eax, byte [ebp + eax - 0x42]
push 0x38c7
push ebx
push 0x1b
movzx eax, word [ebp + eax*2 - 0x88]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0xf18
sub ecx, eax
movzx eax, byte [ebp + esi - 0x40]
push 1
push 0x5eac
push 0x4a99
mov word [ebp + eax*2 - 0x88], cx
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x708d
call fcn.10039c2f
mov ecx, dword [ebp - 0x54]
add esp, 0x28
add esi, 2
cmp esi, 0xa
jb 0x10039940
xor eax, eax
mov dword [ebp - 0xdc], 7
mov word [ebp - 0x80], ax
lea ecx, [ebp - 0xf0]
mov word [ebp - 0xf0], ax
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0xe0], ebx
call fcn.1000ed02
push ecx
push ecx
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xd8]
call fcn.1001310e
push ebx
push 1
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 7
call fcn.10004836
xor eax, eax
lea edi, [ebp - 0x88]
stosd dword es:[edi], eax
mov dl, 1
push ecx
push 0x219e
push ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x11]
push eax
call fcn.10039390
add esp, 0x10
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0xd8]
call fcn.100381a8
mov ecx, dword [ebp + 0x1c]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xd8]
call fcn.10004836
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.10004836
push ebx
push 1
lea ecx, [ebp - 0xc0]
call fcn.10004836
push ebx
push 1
lea ecx, [ebp - 0xa8]
call fcn.10004836
lea ecx, [ebp - 0x60]
call fcn.1001f800
jmp 0x10039b79
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.10004836
push ebx
push 1
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 1
call fcn.10004836
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp - 0x11]
inc eax
jmp 0x10039523
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 2
jmp 0x10039a73
mov dword [esi], 1
jmp 0x10039b79
mov dword [ebp - 0x20], 0x2b6b
xor ebx, ebx
cmp dword [ebp - 0x20], 0x2f23
jle 0x10039b2e
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x13c]
xor eax, esi
cdq
push edx
push eax
call fcn.10001331
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039b04
mov eax, dword [eax]
push eax
call fcn.10040c20
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x13c]
call fcn.10001542
inc edi
cmp edi, 0x22e9
jl 0x10039ae8
inc esi
cmp esi, 0x31fc
jl 0x10039ae6
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x20]
mov eax, dword [eax]
sub eax, dword [edx]
push eax
push dword [edx]
lea eax, [ebp - 0x154]
push eax
call fcn.1003a70c
mov ecx, dword [ebp + 8]
push eax
mov dword [ebp - 4], 0xb
call fcn.1003a7ba
push ebx
push 1
lea ecx, [ebp - 0x154]
call fcn.10004836
cmp dword [ebp - 0x20], 0x2824
jge 0x10039b79
push str.ovuhuigq_qswu_rbcs_stnz_fpussec_flwifgza_pmrtp_boztkpzza_jkhktgw_vxnzdlscv_itdada
call fcn.10040c20
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret