Function at 0x10004eaf
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x100639ee
call fcn.10063318
sub esp, 0x134
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x1c], edx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], ecx
cmp byte [ebp + 0x40], bl
je 0x10004fe9
mov dword [ebp - 0x20], 0x4ff2
cmp dword [ebp - 0x20], 0x5153
jle 0x10004f44
mov edi, ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x14], 0x114a
mov dword [ebp + 0x40], eax
xor eax, edi
lea ecx, [ebp - 0x110]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10004f10
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x110]
call fcn.100022d2
mov eax, dword [ebp + 0x40]
add eax, esi
dec dword [ebp - 0x14]
mov dword [ebp + 0x40], eax
jne 0x10004ef6
inc esi
cmp esi, 0x42ea
jl 0x10004eea
inc edi
cmp edi, 0x148c
jl 0x10004ee8
cmp dword [ebp - 0x20], 0x4cc6
jge 0x10004f58
push str.yiglnf_akxwef_bpsnkagxs_cko_qxoxna_btrnmrm
call fcn.1004b116
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x3c], 0
je 0x10004f95
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0x128]
mov esi, dword [ebp + 0x14]
push dword [ebp + 0x18]
imul edx, dword [edi], 0x18
add edx, dword [esi]
call fcn.10003ebe
pop ecx
imul ecx, dword [edi], 0x18
push eax
add ecx, dword [esi]
call fcn.10008207
push ebx
push 1
lea ecx, [ebp - 0x128]
jmp 0x100056a8
mov edx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x30]
dec dword [edx]
mov eax, dword [esi]
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx]
jge 0x10004fac
mov eax, dword [edx]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [edx]
xor edx, edx
mov eax, dword [esi]
cmp ecx, eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x1c]
setl dl
sub edx, 9
neg edx
mov eax, dword [eax]
sbb edx, edx
inc edx
sub edx, eax
je 0x10004fd2
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov ecx, dword [edi]
imul eax, dword [ecx], 0xa0b2
mov dword [ecx + 4], eax
jmp 0x100056ad
mov dword [ebp + 0x40], 0x3743
cmp dword [ebp + 0x40], 0x3928
jle 0x1000501f
mov esi, ebx
mov edi, ebx
mov ebx, 0x5176
mov eax, edi
mov ecx, 0x10081838
cdq
push edx
push eax
call fcn.10001e6d
add edi, esi
dec ebx
jne 0x10005002
inc esi
cmp esi, 0x3550
jl 0x10004ffb
mov dword [ebp - 4], 2
cmp dword [ebp + 0x40], 0x33df
jge 0x1000503e
mov edx, str.dgfihjapq_brvzp_vhe_pmg
mov ecx, 0x10081838
call fcn.100038af
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x2c], 0
je 0x10005076
mov eax, dword [ebp + 0x38]
mov eax, dword [eax]
inc dword [eax]
jmp 0x100056ad
mov dword [ebp - 0x2c], 0x4b96
cmp dword [ebp - 0x2c], 0x4d5b
jle 0x100050fb
push 0x4a7
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0x40], esi
mov dword [ebp - 0x1c], 0x2ea2
mov edi, ebx
mov dword [ebp - 0x14], esi
xor esi, edi
mov dword [ebp - 0x44], ebx
mov eax, esi
mov ecx, 0x10081838
or eax, ebx
cdq
push edx
push eax
call fcn.10001e6d
inc ebx
cmp ebx, 0x231
jl 0x100050ac
mov esi, dword [ebp + 0x40]
inc edi
push 0
pop ebx
cmp edi, 0x1b78
jl 0x100050a4
dec esi
dec dword [ebp - 0x1c]
mov dword [ebp + 0x40], esi
jne 0x100050a2
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5195
jl 0x10005098
push 0x1b32
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [ebp - 0x14], 0x1357
cmp dword [ebp - 0x14], 0x141d
jle 0x10005181
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
xor esi, esi
mov dword [ebp - 0x20], ebx
inc esi
mov eax, ebx
mov dword [ebp - 0x1c], 0x39d2
mov dword [ebp + 0x40], eax
mov edi, ebx
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x140]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10005146
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x140]
call fcn.100022d2
mov eax, dword [ebp + 0x40]
inc edi
cmp edi, 0x769b
jl 0x1000512a
mov edi, dword [ebp - 0x20]
add eax, edi
dec dword [ebp - 0x1c]
mov dword [ebp + 0x40], eax
jne 0x10005128
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0xf79
jl 0x1000511c
jmp 0x10005184
xor esi, esi
inc esi
cmp dword [ebp - 0x14], 0x10f2
jge 0x10005198
push str.exxwyjaw_tqgaqvdcn_ngs_xettgwgo_hpjwog_isj_ksvm
call fcn.1004b116
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], esi
push 3
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x40], ebx
pop edi
jmp 0x100051bb
mov eax, dword [ebp + 0x40]
mov dword [ebp + eax*4 - 0xdc], 0x64a6847d
inc dword [ebp + 0x40]
cmp dword [ebp + 0x40], edi
jl 0x100051aa
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1000524b
mov dword [ebp + 0x40], 0x9e22401d
mov dword [ebp + 0x40], ebx
jmp 0x100051e9
mov eax, dword [ebp + 0x40]
mov dword [ebp + eax*4 - 0xf8], 8
inc dword [ebp + 0x40]
cmp dword [ebp + 0x40], 4
jl 0x100051d8
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xdc]
cmp eax, esi
setl cl
cmp ecx, dword [ebp - 0xf8]
jle 0x1000520b
mov eax, dword [ebp - 0x14]
push ecx
push ecx
push 0x7db6
push ecx
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0xffff
push eax
sub esp, 0xc
xor dl, dl
push 0x70cd
push ecx
push ecx
call fcn.10004047
add esp, 0x28
xor dl, dl
push 0x1e07
push 0x66cf
call fcn.10007f49
add esp, 0xc
dec dword [ebp - 0x14]
jns 0x100051cc
mov dword [ebp - 0x14], 0xfffffff2
jmp 0x1000526c
push ecx
call fcn.10004e25
mov byte [ebp + 0x43], bl
cmp byte [ebp + 0x43], 0
pop ecx
je 0x10005269
call fcn.10003fd5
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jl 0x10005254
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x4b0b
jge 0x10005291
mov edx, str.xkwembkd_pnttrxyq_lgyk_onjd_jkgalrl_tzwnyuky
mov ecx, 0x10081838
call fcn.100038af
or dword [ebp - 4], 0xffffffff
push dword [ebp + 0x20]
lea ecx, [ebp - 0xc8]
call fcn.100081a7
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 8
call fcn.100082e3
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x18], 0x3ae35568
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x60], 9
push esi
call fcn.10001f82
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xd0]
push eax
push ecx
call fcn.10005921
add esp, 0xc
mov dword [ebp - 0x18], ebx
jmp 0x10005439
mov dword [ebp - 0x24], 0x473eb905
lea ecx, [ebp - 0x74]
push edi
call fcn.10001f82
push 0x3ea4
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xa
push eax
mov dword [ebp - 0x5c], 0xabac
lea ecx, [ebp - 0xcc]
push ebx
mov edx, 0x7aa
call fcn.10007267
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push 0x5286
push eax
xor dl, dl
mov ecx, 0x2926
call fcn.10003fde
add esp, 0x14
mov dword [ebp - 0x24], ebx
jmp 0x10005420
mov dword [ebp - 0x40], 0x1c17c774
mov dword [ebp - 0x48], 8
cmp dword [ebp - 0x18], ebx
je 0x100053e1
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
cmp eax, esi
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, esi
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x18]
mov ecx, esi
jne 0x100053e3
mov ecx, ebx
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x74]
mov dword [eax + 8], ecx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
mov ecx, 0x1562
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x5c]
push eax
push ebx
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.100056d1
add esp, 0x24
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 6
jne 0x10005383
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.10001fdf
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
jge 0x1000532b
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 8
call fcn.10001fdf
cmp dword [ebp - 0x3c], 0xffffffff
je 0x10005523
push esi
lea ecx, [ebp - 0xa4]
call fcn.10001f82
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x58], 0xb7161ab6
mov dword [ebp - 0x64], 0xce028f4e
push edi
call fcn.10001f82
mov byte [ebp - 4], 0xc
mov dword [ebp + 0x40], 0xf215a609
mov dword [ebp - 0x34], ebx
jmp 0x100054a9
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 1
jl 0x10005496
push ecx
push ecx
lea eax, [ebp - 0x34]
mov dl, 1
push eax
push ecx
push 0x3199
sub esp, 0xc
lea eax, [ebp - 0x98]
push eax
push ecx
push ecx
call fcn.10004047
lea eax, [ebp - 0x64]
push eax
push ebx
lea eax, [ebp - 0xa4]
push 0x6b0e
push eax
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x58]
call fcn.100070e0
add esp, 0x3c
lea ecx, [ebp - 0x98]
call fcn.10001fdf
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 8
call fcn.10001fdf
lea eax, [ebp - 0xc8]
push eax
push 0x7548
lea edx, [ebp - 0x3c]
call fcn.1000438a
pop ecx
xor esi, esi
pop ecx
inc esi
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0xc8]
call fcn.1000825f
push 2
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x3c], eax
call fcn.10001f82
push 0x2182
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xd
push eax
push 0x3d16
push ecx
mov dword [ebp + 0x40], 0xffffffff
lea edx, [ebp - 0x38]
push 0x77b4
mov ecx, 0x36f6
call fcn.10004274
add esp, 0x14
mov dword [ebp - 0x38], ebx
jmp 0x10005583
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x80], esi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x10005579
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x44], eax
mov eax, dword [eax + 4]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x2c], 0xbff5ecce
mov dword [ebp + 0x40], ebx
jmp 0x100055b4
mov eax, dword [ebp + 0x40]
mov dword [ebp + eax*4 - 0x50], 0xfffffff6
inc dword [ebp + 0x40]
cmp dword [ebp + 0x40], 2
jl 0x100055a6
mov dword [ebp + 0x40], ebx
jmp 0x100055d0
mov eax, dword [ebp + 0x40]
mov dword [ebp + eax*4 - 0xe8], 0x2ef7e291
inc dword [ebp + 0x40]
cmp dword [ebp + 0x40], edi
jl 0x100055bf
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov ecx, dword [ebp - 0x44]
setge dl
xor ebx, ebx
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ecx + 4]
mov eax, dword [ebp - 0x4c]
setge bl
xor ecx, ecx
test eax, eax
setle cl
xor eax, eax
cmp ecx, 2
setl al
xor ecx, ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
sete dl
xor ecx, ecx
cmp edx, eax
sete cl
sub ebx, ecx
mov dword [ebp + 0x40], ebx
xor ebx, ebx
mov eax, dword [ebp + 0x40]
mov eax, dword [ebp - 0x78]
mov byte [ebp + 0x43], bl
cmp byte [ebp + 0x43], bl
je 0x10005653
push ebx
mov edx, 0x264d
mov ecx, 0x21a3
call fcn.10003f8d
pop ecx
push ecx
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push eax
call fcn.10005e43
pop ecx
pop ecx
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 8
call fcn.10001fdf
lea eax, [ebp - 0xc8]
push eax
push ebx
push ecx
push 0x3c9e
lea ecx, [ebp - 0x3c]
call fcn.10006721
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xc8]
add esp, 0x10
cmp ecx, eax
je 0x100056a0
push 0xffffffffffffffff
push ebx
push eax
call fcn.10008966
push ebx
push esi
lea ecx, [ebp - 0xc8]
call fcn.10008b6b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret