Function at 0x100421a7
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x100661d8
call fcn.10064328
sub esp, 0xfc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x40], cl
mov esi, edx
test cl, cl
je 0x100427b2
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], 0x399841b3
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x10
jl 0x1004240e
mov dword [ebp - 0x24], 0x57102d14
lea ecx, [ebp - 0xb8]
push 3
call fcn.100038f5
push ebx
lea eax, [ebp - 0xd4]
mov dword [ebp - 4], ebx
push eax
push 0x2beb
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x18], 0xfffffffb
push eax
push 1
mov dl, 1
mov ecx, 0x1ec8
call fcn.10041d4a
add esp, 0x14
mov dword [ebp - 0x24], 0xffffffe9
cmp dword [ebp - 0x24], 0xfffffff4
jg 0x100423f7
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x18], 0x7383cc4
mov dword [ebp - 0x14], ebx
jmp 0x10042267
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0], 0xfc520ea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10042256
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], 2
jg 0x100423ef
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 2
jg 0x100423e7
push 1
lea ecx, [ebp - 0x9c]
call fcn.100038f5
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 1
push eax
push 0x32ed
push 1
push ecx
push 0x32c7
push ecx
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x18], 6
push eax
mov ecx, 0x3594
call fcn.10041345
mov eax, dword [ebp - 0x9c]
add esp, 0x1c
mov dword [eax], 2
cmp dword [eax], ebx
jl 0x100423a6
mov dword [ebp - 0x18], 0x9b2e4145
mov dword [ebp - 0x64], 0xc7e43439
mov dword [ebp - 0x18], 0x1bfd
cmp dword [ebp - 0x18], 0x1e05
jle 0x10042360
mov esi, ebx
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x108]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004232b
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.10003c82
inc edi
cmp edi, 0x8d
jl 0x1004230c
inc esi
cmp esi, 0x53c2
jl 0x1004230a
push 0x2126
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push ecx
push 1
push ecx
push ecx
push 0x7e7e
sub esp, 0x10
lea eax, [ebp - 0x64]
mov edx, 0x7313
push eax
call fcn.10041f7a
add esp, 0x28
cmp dword [ebp - 0x18], 0x1bbe
jge 0x10042392
push str.gremmxbtx_dnxklyr_hdsxyaxs_zqfdplz_eojytobfo_kcgbpazuu_fqawy_odp
call fcn.1004c11f
pop ecx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x9c]
dec dword [eax]
jmp 0x100422e2
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x100423d1
push 1
push 0x1a9d
push 0x609b
push 0x17cd
push 1
mov dl, 1
mov ecx, 0x8bb
call fcn.10041d4a
add esp, 0x14
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], bl
call fcn.10003978
inc dword [ebp - 0x14]
jmp 0x1004228b
inc dword [ebp - 0x34]
jmp 0x10042270
inc dword [ebp - 0x24]
jmp 0x10042239
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.10003978
inc dword [ebp - 0x1c]
jmp 0x100421e5
push 0x7c
pop eax
mov word [ebp - 0x38], ax
xor eax, eax
mov word [ebp - 0x3c], 0xde00
mov word [ebp - 0x36], ax
mov dword [ebp - 0x54], 0x7647f1a9
mov dword [ebp - 0x1c], 0xb2e
cmp dword [ebp - 0x1c], 0xe55
jle 0x1004247e
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x24], ebx
cdq
idiv esi
mov edi, edx
mov eax, ebx
mov ecx, 0x10081bf8
and eax, edi
cdq
push edx
push eax
call fcn.1000377e
inc ebx
cmp ebx, 0x5671
jl 0x10042449
mov edi, dword [ebp - 0x18]
inc esi
push 0
pop ebx
cmp esi, 0x1ae4
jl 0x1004243f
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x46a5
jl 0x1004243d
mov dword [ebp - 0x60], 1
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0xa71
jge 0x100424a4
mov edx, str.dadhiq_zqmlan_ktzmbgyxk_nqhwtpwa
mov ecx, 0x10081bf8
call fcn.100059cc
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 0x18]
push 0x1658
push 0x7ac3
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x68], 0x7d2a
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x58], 0xfff7
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x5c], 6
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x6c], 0xfffffff9
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], 0xffffffff
push eax
push 0x772f
lea eax, [ebp - 0x60]
mov dl, 1
push eax
push 0x4913
push 0x271f
push 0x28dd
lea eax, [ebp - 0x58]
mov cl, dl
push eax
push 0x53f3
push ebx
push 0x58e
call fcn.10043773
add esp, 0x3c
mov edx, 0x100a
push 0x354f
push 0x7e50
push 0x36f0
push ecx
push 0x4a37
push ecx
push ecx
push 0x34f4
push 0x79ae
push 0x7a08
mov cl, 1
call fcn.100441e6
xor eax, eax
mov dword [ebp - 0xbc], 7
add esp, 0x2c
mov word [ebp - 0xd0], ax
lea eax, [ebp - 0x38]
mov dword [ebp - 0xc0], ebx
lea ecx, [ebp - 0xd0]
push eax
call fcn.10003d6e
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 6
push eax
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.1004120d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call fcn.1000418d
push 2
lea ecx, [ebp - 0xa8]
call fcn.100038f5
push 0x628a
push 0x4652
push 0x3c8f
push 0x52f2
push 0x7c4e
push 0x64dc
mov byte [ebp - 4], 9
push 0x66fa
push 0x3e01
push 0x3ebf
lea eax, [ebp - 0x28]
mov dl, 1
push eax
push 0x1a8a
push 0x7df5
push 0x7223
push 0x4d3d
lea eax, [ebp - 0xa8]
xor cl, cl
push ebx
push eax
call fcn.10043773
add esp, 0x40
mov dword [ebp - 0x28], ebx
jmp 0x10042658
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x90], 0xb6f65e79
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x10042647
mov edx, dword [ebp - 0xa8]
xor eax, eax
mov dword [edx], 0xfffffffa
cmp dword [edx + 4], 0x29729cf3
setne al
xor ecx, ecx
cmp eax, dword [edx + 4]
mov eax, dword [ebp - 0x90]
setl cl
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x8c]
sub edx, eax
mov eax, dword [ebp - 0x8c]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 8
call fcn.10003978
push 0xd
pop eax
push 2
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], 0x7024401
mov word [ebp - 0x2c], 0x2a03
mov byte [ebp - 0x2a], bl
mov byte [ebp - 0x29], 0x29
mov word [ebp - 0x4e], ax
pop esi
movzx eax, byte [ebp + esi - 0x32]
movzx ecx, byte [ebp + esi - 0x2f]
movzx edx, word [ebp + eax*2 - 0x50]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x30]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x50], dx
cmp esi, 8
jb 0x100426d5
xor eax, eax
mov dword [ebp - 0xd8], 7
mov word [ebp - 0x48], ax
lea ecx, [ebp - 0xec]
mov word [ebp - 0xec], ax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0xdc], ebx
call fcn.10003d6e
xor eax, eax
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0x50]
mov dword [ebp - 0x44], ebx
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x78]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x1004278e
lea eax, [ebp - 0x78]
mov edx, 0xe69
push eax
lea eax, [ebp - 0xec]
mov cl, 1
push eax
push 0x326c
lea eax, [ebp - 0x44]
push eax
push 0x56f
push 0x4114
push 1
push 0x430a
push ebx
call fcn.10043ba4
mov eax, dword [ebp - 0x44]
add esp, 0x24
inc eax
mov dword [ebp - 0x44], eax
cmp eax, esi
jb 0x1004274e
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x78]
push eax
call fcn.10045b3b
push ebx
push 1
lea ecx, [ebp - 0xec]
call fcn.1000418d
lea ecx, [ebp - 0x78]
call fcn.10045ef2
jmp 0x100427c7
mov edx, dword [ebp + 0x10]
mov dword [edx], ebx
jmp 0x100427c2
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], ebx
inc dword [edx]
cmp dword [edx], 1
jl 0x100427b9
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret