Function at 0x4bd004
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x16
push 0
push 0
dec ecx
jne 0x4bd00d
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x1d], dl
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x4bd88a
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x484ad8]
call fcn.00404474
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4bd81a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x250]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x3a4]
mov dl, 1
mov eax, dword [0x41a8d0]
call fcn.00404474
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x41a1ac]
call fcn.00404474
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
lea eax, [ebp - 0x60]
mov edx, dword [0x47c238]
call fcn.00406b9c
lea eax, [ebp - 0x50]
call fcn.00405404
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x25c]
call fcn.00491600
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x4bd0d9
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x25c]
mov eax, dword [eax + 8]
call fcn.0048fc98
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x3c]
mov dl, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x1c]
call fcn.004b8a98
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov edx, 0x4bd8a0
mov eax, dword [ebp - 0xc]
call fcn.00487b00
xor eax, eax
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0x59], 0
je 0x4bd181
mov eax, dword [ebp - 0x60]
call fcn.004068e8
test eax, eax
jl 0x4bd1cc
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x18]
add dword [ebp - 0x34], eax
imul eax, dword [ebp - 0x34], 0x5a0
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
mov eax, dword [0x5a4090]
mov eax, dword [eax]
fild dword [eax + 0x40]
fdivp st(1)
call fcn.00403688
mov dword [ebp - 0x58], eax
mov edx, 0x4bd8bc
mov eax, dword [ebp - 0xc]
call fcn.00487b00
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 0x58]
call fcn.0040a764
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xc]
call fcn.00487b00
inc dword [ebp - 0x30]
dec dword [ebp - 0x6c]
jne 0x4bd124
jmp 0x4bd1cc
mov eax, dword [ebp - 0x1c]
call fcn.004571a4
imul eax, eax, 0x5a0
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
mov eax, dword [0x5a4090]
mov eax, dword [eax]
fild dword [eax + 0x40]
fdivp st(1)
call fcn.00403688
mov dword [ebp - 0x58], eax
mov edx, 0x4bd8bc
mov eax, dword [ebp - 0xc]
call fcn.00487b00
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x58]
call fcn.0040a764
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0xc]
call fcn.00487b00
cmp byte [ebp - 0x59], 0
je 0x4bd34b
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4e2], 0
je 0x4bd1f7
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4e4]
call dword [ebx + 0x4e0]
mov edx, 0x4bd8cc
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov eax, dword [ebp - 0x60]
call fcn.004068e8
test eax, eax
jl 0x4bd31d
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4ba], 0
je 0x4bd24a
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
push eax
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4bc]
call dword [ebx + 0x4b8]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
call fcn.0048c04c
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov al, byte [eax + 0x30]
mov byte [ebp - 0x66], al
cmp byte [ebp - 0x66], 0
je 0x4bd278
lea eax, [ebp - 0x65]
call fcn.00454130
mov al, byte [ebp - 0x65]
sub al, 1
jb 0x4bd287
je 0x4bd296
dec al
je 0x4bd2a5
jmp 0x4bd2b2
mov edx, 0x4bd8e0
mov eax, dword [ebp - 0xc]
call fcn.00487b00
jmp 0x4bd2b2
mov edx, 0x4bd8ec
mov eax, dword [ebp - 0xc]
call fcn.00487b00
jmp 0x4bd2b2
mov edx, 0x4bd8f8
mov eax, dword [ebp - 0xc]
call fcn.00487b00
push ebp
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x7c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x25c]
mov edx, dword [edx + 0x10]
call fcn.004bcd50
pop ecx
mov edx, 0x4bd904
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4ca], 0
je 0x4bd311
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
push eax
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4cc]
call dword [ebx + 0x4c8]
inc dword [ebp - 0x30]
dec dword [ebp - 0x6c]
jne 0x4bd21f
mov edx, 0x4bd914
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4ea], 0
je 0x4bd34b
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4ec]
call dword [ebx + 0x4e8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x4bd611
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
call fcn.004bc898
test al, al
je 0x4bd393
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4a2], 0
je 0x4bd3a6
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4a4]
call dword [ebx + 0x4a0]
test al, al
jne 0x4bd3a6
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
call dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
jmp 0x4bd607
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x4bd5a4
cmp byte [ebp - 0x59], 0
je 0x4bd3e7
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
call fcn.0041dc30
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov al, byte [eax + 0x48]
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov al, byte [eax + 0x30]
mov byte [ebp - 0x66], al
jmp 0x4bd403
mov dword [ebp - 0x64], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + 0x3ea]
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + 0x5f]
mov byte [ebp - 0x66], al
cmp byte [ebp - 0x59], 0
je 0x4bd41c
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
test byte [eax + 0x3c], 0x80
je 0x4bd59b
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
call fcn.004b8c1c
mov edx, 0x4bd8cc
mov eax, dword [ebp - 0xc]
call fcn.00487b00
cmp byte [ebp - 0x66], 0
je 0x4bd449
lea eax, [ebp - 0x65]
call fcn.00454130
mov al, byte [ebp - 0x65]
dec al
je 0x4bd456
dec al
je 0x4bd465
jmp 0x4bd472
mov edx, 0x4bd8ec
mov eax, dword [ebp - 0xc]
call fcn.00487b00
jmp 0x4bd472
mov edx, 0x4bd8f8
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x68]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x250]
call fcn.0042ea98
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x841], 0
mov eax, dword [ebp - 0x64]
push eax
push 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x250]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x488]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x25c]
call fcn.004915cc
cmp eax, dword [ebp - 0x64]
jne 0x4bd578
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
call fcn.004b2068
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x2c]
je 0x4bd510
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x50]
call fcn.00405404
mov eax, dword [ebp - 0x28]
dec eax
test eax, eax
jl 0x4bd510
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x50]
mov edx, 0x4bd924
call fcn.004056e0
inc dword [ebp - 0x34]
dec dword [ebp - 0x6c]
jne 0x4bd4fb
cmp dword [ebp - 0x28], 0
jle 0x4bd553
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov edx, 0x4bd934
mov eax, dword [ebp - 0xc]
call fcn.00487b00
push ebp
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x250]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
call fcn.004bcd50
pop ecx
mov edx, 0x4bd904
mov eax, dword [ebp - 0xc]
call fcn.00487b00
jmp 0x4bd59b
push ebp
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x250]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
call fcn.004bcd50
pop ecx
mov edx, 0x4bd904
mov eax, dword [ebp - 0xc]
call fcn.00487b00
jmp 0x4bd59b
push ebp
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x250]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
call fcn.004bcd50
pop ecx
mov edx, 0x4bd904
mov eax, dword [ebp - 0xc]
call fcn.00487b00
cmp byte [ebp - 0x59], 0
je 0x4bd5bf
inc dword [ebp - 0x30]
cmp byte [ebp - 0x59], 0
je 0x4bd3b0
mov eax, dword [ebp - 0x60]
call fcn.004068e0
cmp eax, dword [ebp - 0x30]
jg 0x4bd3b0
mov edx, 0x4bd914
mov eax, dword [ebp - 0xc]
call fcn.00487b00
mov eax, dword [ebp - 0xc]
call fcn.00487be4
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x4b2], 0
je 0x4bd5f9
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x4b4]
call dword [ebx + 0x4b0]
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
call dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x4bd35b
mov edx, 0x4bd940
mov eax, dword [ebp - 0xc]
call fcn.00487b00
lea eax, [ebp - 0x4c]
mov edx, 0x4bd954
call fcn.0040549c
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4bd6a3
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x8c], 0
lea ecx, [ebp - 0x94]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0xb
lea edx, [ebp - 0x90]
mov ecx, 1
mov eax, 0x4bd990
call fcn.0040c174
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0x4c]
call fcn.004056e0
inc dword [ebp - 0x30]
dec dword [ebp - 0x6c]
jne 0x4bd643
lea eax, [ebp - 0x4c]
mov edx, 0x4bd9a4
call fcn.004056e0
lea eax, [ebp - 0x4c]
mov edx, 0x4bd9b0
call fcn.004056e0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4bd765
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x30], 0
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
call fcn.0041cc34
call fcn.0042d194
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x34]
and eax, 0xff
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xac], 0
mov eax, dword [ebp - 0x34]
shr eax, 8
and eax, 0xff
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x34]
shr eax, 0x10
and eax, 0xff
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xb0]
mov ecx, 2
mov eax, 0x4bd9c4
call fcn.0040c174
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x4c]
call fcn.004056e0
inc dword [ebp - 0x30]
dec dword [ebp - 0x6c]
jne 0x4bd6d7
lea eax, [ebp - 0x4c]
mov edx, 0x4bd9a4
call fcn.004056e0
push 2
lea eax, [ebp - 0x68]
push eax
push 0xd
push 0x400
call sub.kernel32.dll_GetLocaleInfoA_1
test eax, eax
je 0x4bd79d
cmp byte [ebp - 0x68], 0x30
jne 0x4bd79d
lea eax, [ebp - 0x4c]
mov edx, 0x4bd9e4
call fcn.004056e0
jmp 0x4bd7aa
lea eax, [ebp - 0x4c]
mov edx, 0x4bda08
call fcn.004056e0
lea eax, [ebp - 0x4c]
mov edx, 0x4bda2c
call fcn.004056e0
push dword [ebp - 0x4c]
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0xc]
call fcn.00487ad4
push dword [ebp - 0xb4]
push 0x4bd9a4
mov eax, dword [ebp - 0x24]
mov edx, 3
call fcn.004057a8
mov eax, dword [ebp - 4]
call fcn.004044a4
mov eax, dword [ebp - 0x10]
call fcn.004044a4
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x250]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x3b8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bd821
mov eax, dword [ebp - 0xc]
call fcn.004044a4
ret