Function at 0x100290f2
Capabilities:
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005d84f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x158
push ebx
mov byte [esp + 0x10], cl
mov dword [esp + 4], 0x70c2
cmp dword [esp + 4], 0x7156
push esi
push edi
mov dword [esp + 0x20], edx
jle 0x1002919b
xor esi, esi
mov dword [esp + 0x10], esi
xor edi, edi
mov ecx, edi
mov dword [esp + 0x14], esi
xor ebx, ebx
sar esi, cl
mov ecx, ebx
mov eax, esi
shl eax, cl
lea ecx, [esp + 0x130]
cdq
push edx
push eax
call fcn.10001abf
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029161
mov eax, dword [eax]
push eax
call fcn.10044453
pop ecx
push 0
push 1
lea ecx, [esp + 0x138]
call fcn.1000e569
inc ebx
cmp ebx, 0x4cfb
jl 0x10029142
mov esi, dword [esp + 0x10]
inc edi
cmp edi, 0x2256
jl 0x10029138
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x2d1a
jl 0x10029136
cmp dword [esp + 0xc], 0x6d4f
jge 0x100291b0
push str.cnmfyxzfm_gzlqrdt_jkwqif_jozwkq_pvfiqat_qwajlre_yyu_eyp_ojdo_hoctfjoha
call fcn.10044453
pop ecx
or dword [esp + 0x16c], 0xffffffff
mov dword [esp + 0x14], 0x6bc1
cmp dword [esp + 0x14], 0x6ead
jle 0x10029256
xor esi, esi
mov dword [esp + 0x10], esi
xor edi, edi
mov eax, esi
mov dword [esp + 0xc], 0x1677
cdq
idiv edi
mov esi, edx
xor ebx, ebx
mov eax, esi
lea ecx, [esp + 0x118]
and eax, ebx
cdq
push edx
push eax
call fcn.10001abf
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029204
mov eax, dword [eax]
push eax
call fcn.10044453
pop ecx
push 0
push 1
lea ecx, [esp + 0x120]
call fcn.1000e569
inc ebx
cmp ebx, 0x1852
jl 0x100291e7
inc esi
dec dword [esp + 0xc]
jne 0x100291e5
mov esi, dword [esp + 0x10]
inc edi
cmp edi, 0x5c77
jl 0x100291d6
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x4ce6
jl 0x100291d4
push 0x1236
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp byte [esp + 0x18], 0
je 0x100298fe
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x100298f3
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea eax, [esp + 0x7c]
push eax
push 0x1000
call fcn.1000e9f1
mov dword [esp + 0x16c], 2
mov esi, 0x1f1d
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x50]
push dword [esp + 0x50]
sar eax, 1
push eax
push esi
push 0x7c65
call fcn.1002368b
pop ecx
pop ecx
call eax
push dword [esp + 0x50]
lea ecx, [esp + 0x88]
call fcn.10024016
push 0x8bf1
mov byte [esp + 0x170], 3
call fcn.1000da1c
pop ecx
movzx eax, ax
mov edx, 0x14a3
mov dword [esp + 0x5c], eax
mov cl, 1
lea eax, [esp + 0x5c]
push eax
push 1
push 0x57a3
push 0x3eb5
lea eax, [esp + 0x94]
push eax
push 0x5117
push 1
push 0x3296
push 0x4eb5
call fcn.10028bad
add esp, 0x24
lea eax, [esp + 0x84]
mov edx, 0x687c
mov ecx, 0x7331
push 0x5ed6
push 1
push 0x737c
push 0x344b
push 0x6ab6
push 1
push eax
call fcn.1002871e
add esp, 0x1c
lea eax, [esp + 0x84]
cmp dword [esp + 0x98], 8
cmovae eax, dword [esp + 0x84]
push 0
push eax
push esi
push 0x3a52
call fcn.1002368b
pop ecx
pop ecx
call eax
push 0x7752
lea eax, [esp + 0x60]
xor dl, dl
push eax
lea eax, [esp + 0x8c]
push eax
push 0x5e74
call fcn.10028ceb
and dword [esp + 0x70], 0
lea eax, [esp + 0x70]
mov dl, 1
push eax
push 0x54c3
push 0x549b
push ebx
call fcn.10028ceb
add esp, 0x20
mov dword [esp + 0x2c], 0x1d025403
and dword [esp + 0xc], 0
mov dword [esp + 0x30], 0x4b001d01
mov word [esp + 0x34], 0x6701
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xa0]
call fcn.1000dbe5
push 0x10
pop edx
lea ecx, [esp + 0x100]
mov byte [esp + 0x16c], 4
call fcn.1002b89d
lea eax, [esp + 0x9c]
mov byte [esp + 0x16c], 5
push eax
push ecx
push ecx
push 1
lea edx, [esp + 0x110]
call fcn.10028984
add esp, 0x10
xor ecx, ecx
mov dword [esp + 0x48], ecx
push 0x65
pop eax
push 2
mov word [esp + 0x6e], ax
pop esi
cmp esi, 8
jne 0x10029447
push 2
pop ecx
mov dword [esp + 0x48], ecx
jmp 0x100294a6
movzx edx, byte [esp + esi + 0x2d]
mov eax, esi
sub eax, ecx
push 0x7cfe
push 0x147
push 0x5784
movzx eax, byte [esp + eax + 0x36]
push 1
push 1
movzx eax, word [esp + eax*2 + 0x78]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0x246e
sub ecx, eax
movzx eax, byte [esp + esi + 0x40]
mov word [esp + eax*2 + 0x78], cx
lea eax, [esp + 0x5c]
push eax
push 0x4fee
push 0x4e5f
push 1
mov ecx, 0x74a
call fcn.100289d2
mov ecx, dword [esp + 0x6c]
add esp, 0x24
add esi, 2
cmp esi, 0xa
jb 0x10029439
xor eax, eax
mov dword [esp + 0xf8], 7
and dword [esp + 0xf4], eax
lea ecx, [esp + 0xe4]
mov word [esp + 0x6c], ax
mov word [esp + 0xe4], ax
lea eax, [esp + 0x64]
push eax
call fcn.10024398
push ecx
push ecx
lea eax, [esp + 0xec]
mov byte [esp + 0x174], 6
push eax
lea ecx, [esp + 0xa8]
call fcn.1002a6f5
push 0
push 1
lea ecx, [esp + 0xec]
mov byte [esp + 0x174], 5
call fcn.1000e73d
xor eax, eax
lea edi, [esp + 0x64]
cmp dword [esp + 0xb0], 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x9c]
cmovae eax, dword [esp + 0x9c]
mov edi, 0x1f1d
xor ecx, ecx
push ecx
push 0x80
push 2
push ecx
push ecx
push 0x40000000
push eax
push edi
push 0x49de
call fcn.1002368b
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x100295a1
push 0
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x68]
push dword [ebx]
push esi
push edi
push 0x979a
call fcn.1002368b
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x51a4
setne bl
call fcn.1002368b
pop ecx
pop ecx
call eax
test bl, bl
jne 0x100295ed
mov ebx, dword [esp + 0x20]
xor esi, esi
lea ecx, [esp + 0x100]
push esi
push 1
call fcn.1000e73d
push esi
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x174], 3
call fcn.1000e73d
mov edi, dword [esp + 0xc]
inc edi
mov dword [esp + 0xc], edi
cmp edi, 0x12c
jb 0x100293da
mov eax, dword [ebp + 0x10]
push esi
mov dword [eax], 2
jmp 0x100298da
push 0x22
pop eax
push 2
pop esi
xor ebx, ebx
mov dword [esp + 0x24], 0xf0049f00
push 7
mov word [esp + 0x2c], 0xeff4
mov byte [esp + 0x2e], 0x85
mov word [esp + 0x20], ax
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], ebx
pop edi
cmp esi, 2
jne 0x1002962c
push 5
pop eax
mov dword [esp + 0x4c], eax
mov esi, eax
jmp 0x10029759
mov dword [esp + 0x10], 0x7cf1
cmp dword [esp + 0x10], 0x7ee3
jle 0x100296d9
mov esi, ebx
mov dword [esp + 0xc], ebx
xor edi, edi
mov dword [esp + 0x20], edi
and dword [esp + 0x80], 0
mov eax, ebx
cdq
idiv edi
mov ebx, dword [esp + 0x80]
mov edi, edx
mov eax, edi
lea ecx, [esp + 0x148]
xor eax, ebx
or eax, esi
cdq
push edx
push eax
call fcn.10001abf
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029683
mov eax, dword [eax]
push eax
call fcn.10044453
pop ecx
push 0
push 1
lea ecx, [esp + 0x150]
call fcn.1000e569
inc ebx
cmp ebx, 0x6f3d
jl 0x10029664
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
inc edi
mov dword [esp + 0x20], edi
cmp edi, 0x1000
jl 0x1002964e
inc ebx
mov dword [esp + 0xc], ebx
cmp ebx, 0x17d3
jl 0x10029648
inc esi
push 0
pop ebx
cmp esi, 0x3b24
jl 0x10029644
mov esi, dword [esp + 0x14]
movzx edx, byte [esp + esi + 0x25]
mov eax, esi
sub eax, dword [esp + 0x4c]
movzx eax, byte [esp + eax + 0x22]
movzx eax, word [esp + eax*2 + 0x1c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
cmp dword [esp + 0x10], 0x7b10
movzx eax, byte [esp + esi + 0x24]
mov word [esp + eax*2 + 0x1c], cx
jge 0x10029715
push str.uugjxwyw_vfusy_fpt_yjmdnym_eiezkd_jala_ocrfrph_eesisp_cpsorbcqk
call fcn.10044453
pop ecx
push 1
push 0x4d96
push 1
push 0x40a4
push 0xe18
push 0x6022
push 1
lea eax, [esp + 0x68]
mov dword [esp + 0x188], 5
push 0x796a
push eax
mov edx, 0x70de
mov ecx, 0xa38
call fcn.10028d4a
add esp, 0x24
push 7
pop edi
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jb 0x10029619
xor eax, eax
mov dword [esp + 0xc8], edi
mov word [esp + 0x1e], ax
lea ecx, [esp + 0xb4]
mov word [esp + 0xb4], ax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0xc8], ebx
call fcn.10024398
push 0x1d5c
push 1
lea eax, [esp + 0xbc]
mov byte [esp + 0x174], 9
push eax
push ecx
push ecx
lea edx, [esp + 0xb0]
mov dword [esp + 0x30], ebx
call fcn.10029004
add esp, 0x14
mov dword [esp + 0x38], 0x2009501
mov dword [esp + 0x3c], 0x3c660e04
mov ecx, ebx
mov dword [esp + 0x40], 0x271034f
mov byte [esp + 0x44], 0x7c
push 0x20
pop eax
push 2
mov word [esp + 0x76], ax
pop esi
cmp esi, 4
jne 0x100297f8
push 5
pop ecx
mov esi, edi
jmp 0x1002981f
movzx edx, byte [esp + esi + 0x39]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x36]
movzx eax, word [esp + eax*2 + 0x70]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x38]
mov word [esp + eax*2 + 0x70], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xd
jb 0x100297ec
xor eax, eax
mov dword [esp + 0xe0], edi
mov word [esp + 0x78], ax
lea ecx, [esp + 0xcc]
mov word [esp + 0xcc], ax
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0xe0], ebx
call fcn.10024398
push ecx
push ecx
lea eax, [esp + 0xd4]
mov byte [esp + 0x174], 0xa
push eax
lea ecx, [esp + 0xc0]
call fcn.1002a6f5
push ebx
push 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x174], 9
call fcn.1000e73d
xor eax, eax
lea edi, [esp + 0x70]
stosd dword es:[edi], eax
lea edx, [esp + 0x84]
lea ecx, [esp + 0xb4]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.100280b2
mov ecx, dword [ebp + 0x10]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xbc]
call fcn.1000e73d
push ebx
push 1
lea ecx, [esp + 0x108]
call fcn.1000e73d
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.1000e73d
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.1000e73d
lea ecx, [esp + 0x50]
call fcn.1000ea78
jmp 0x10029933
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x10029933
mov edx, dword [ebp + 8]
mov dword [edx], 0
cmp dword [edx], 4
jge 0x1002991e
mov esi, dword [ebp + 0xc]
mov ecx, dword [edx]
mov eax, dword [esi]
or dword [eax + ecx*4], 0xffffffff
inc dword [edx]
cmp dword [edx], 4
jl 0x1002990f
cmp dword [esp + 0x14], 0x6b87
jge 0x10029933
push str.uwjocvlwh_erjzcrm_egj
call fcn.10044453
pop ecx
mov ecx, dword [esp + 0x164]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret