Function at 0x10038035
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x100615cd
call fcn.1005fb28
sub esp, 0x88
push ebx
push esi
xor esi, esi
mov byte [ebp - 0x18], dl
mov dword [ebp - 0x3c], 0x614a
xor ebx, ebx
push edi
inc esi
mov dword [ebp - 0x10], esp
cmp dword [ebp - 0x3c], 0x6502
jle 0x100380ac
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x78]
cdq
push edx
push eax
call fcn.10001ade
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038083
mov eax, dword [eax]
push eax
call fcn.1004752f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.10013e9b
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x4171
jl 0x1003806a
inc edi
cmp edi, 0x37cf
jl 0x10038065
cmp byte [ebp - 0x18], 0
je 0x100380ee
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100380c9
push 0xc40
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
cmp dword [ebp - 0x3c], 0x5ff9
jge 0x100380dd
push str.txjkbp_bjcixsck_olkru_olqhxcsd_tlvqt_bep_eqnqtiod_ejkqjwsn_sjd_zhszbz_dlfn
call fcn.1004752f
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x38], 0x7d88
cmp dword [ebp - 0x38], 0x7e54
jle 0x1003813e
mov edi, ebx
mov eax, edi
mov dword [ebp - 0x30], 0x7315
mov dword [ebp - 0x34], eax
mov esi, eax
mov ebx, 0x6f5c
mov eax, esi
mov ecx, 0x1007d058
cdq
push edx
push eax
call fcn.100136b0
dec esi
dec ebx
jne 0x10038113
mov eax, dword [ebp - 0x34]
dec eax
dec dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
jne 0x1003810c
inc edi
cmp edi, 0xa40
jl 0x10038100
xor esi, esi
inc esi
mov dword [ebp - 0x2c], 0x4bff
cmp dword [ebp - 0x2c], 0x4e2f
jle 0x100381c6
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edx, edi
mov dword [ebp - 0x28], ebx
mov ecx, eax
mov edi, ebx
shl edx, cl
mov dword [ebp - 0x24], edx
mov eax, edx
lea ecx, [ebp - 0x90]
or eax, edi
cdq
push edx
push eax
call fcn.10001ade
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038182
mov eax, dword [eax]
push eax
call fcn.1004752f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x90]
call fcn.10013e9b
mov edx, dword [ebp - 0x24]
inc edi
cmp edi, 0x2df
jl 0x10038166
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x3729
jl 0x10038158
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x541d
jl 0x10038153
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [ebp - 0x2c], 0x49f9
jge 0x100381da
push str.kdgsqwbl_niogrxli_ifmsr_ahohv_wvmzx_ebhde_rtkwnszo_zragjyln_nptbf_buoz_tyvzusxo_maci_fytdwmku
call fcn.1004752f
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
push 3
call fcn.100138f8
push 2
pop edi
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x24], 3
push esi
call fcn.100138f8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x34], 0x925f321e
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
push edi
call fcn.100138f8
push ebx
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 4
push 0x5ae8
push eax
lea edx, [ebp - 0x20]
mov ecx, 0x4c7e
call fcn.1003930d
add esp, 0xc
mov dword [ebp - 0x20], ebx
jmp 0x10038252
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0x7a912e75
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10038242
lea eax, [ebp - 0x20]
xor dl, dl
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
call fcn.10037c28
xor ecx, ecx
add esp, 0xc
dec dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, esi
setle cl
xor eax, eax
cmp ecx, 0x88ce324e
mov ecx, 0xf4ed832c
setne al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x54]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x48]
setle dl
xor ebx, ebx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x2c]
setle bl
xor ecx, ecx
sub ebx, eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x48]
cmp ebx, eax
mov eax, dword [ebp - 0x54]
setge cl
mov dword [eax], ecx
xor eax, eax
cmp ecx, dword [edx + 8]
setle al
xor ecx, ecx
cmp eax, dword [edx]
setge cl
sub ecx, 0xfffa
jne 0x100382d4
cmp dword [ebp - 0x24], ecx
jne 0x100382d6
mov eax, ecx
jmp 0x100382d8
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], ecx
jne 0x100382fa
cmp dword [ebp - 0x30], ecx
je 0x100382fc
mov ecx, esi
mov eax, dword [ebp - 0x48]
cmp ecx, dword [eax]
jg 0x10038306
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [edx + 8]
neg eax
cmp eax, 0xffff
mov eax, dword [ebp - 0x60]
push eax
sbb ecx, ecx
neg ecx
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, edx
mov dword [eax], ecx
call fcn.10047697
pop ecx
push dword [ebp - 0x54]
call fcn.10047697
pop ecx
push dword [ebp - 0x48]
call fcn.10047697
mov dword [ebp - 4], 5
cmp dword [ebp - 0x38], 0x7b0b
pop ecx
jge 0x100380c9
mov edx, str.hmjyzmt_biaxpqohb_qizguefo_wrtxn_bpgizplv_uayr_qiaotbg_tjmgcyybz
mov ecx, 0x1007d058
call fcn.100160b3
jmp 0x100380c9