Function at 0x4838b0
Capabilities:
Get geographical location
Reference sql statements

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
mov edx, ecx
push esi
push edi
mov edi, 0x20
mov dword [esp + 0x10], edx
xor esi, esi
mov dword [esp + 0x14], edi
test ebp, ebp
je 0x483e6c
mov ebx, dword [esp + 0x38]
cmp ebx, 0x400
jb 0x483e6c
cmp dword [ebp], 0x41544b4f
jne 0x483e6c
cmp dword [ebp + 4], 0x474e4f53
jne 0x483e6c
cmp dword [ebp + 8], 0x444f4d43
jne 0x483e6c
cmp byte [ebp + 0x10], 0
jne 0x483e6c
cmp byte [ebp + 0x12], 0
jne 0x483e6c
cmp byte [ebp + 0x14], 0
jne 0x483e6c
cmp byte [ebp + 0x16], 0
jne 0x483e6c
cmp dword [ebp + 0xc], 0x8000000
jne 0x483e6c
cmp dword [ebp + 0x18], 0x504d4153
jne 0x483e6c
mov dword [edx + 0xe920], 0x8000
movzx eax, byte [ebp + 0x15]
movzx ecx, byte [ebp + 0x17]
add ecx, eax
movzx eax, byte [ebp + 0x13]
add ecx, eax
movzx eax, byte [ebp + 0x11]
add eax, 4
add eax, ecx
mov dword [edx + 0xe910], eax
cmp eax, 0x80
jbe 0x483987
mov dword [edx + 0xe910], 0x80
push dword [ebp + 0x1c]
call fcn.00483ee0
mov edx, dword [esp + 0x14]
mov ecx, eax
shr ecx, 5
add esp, 4
mov dword [esp + 0x2c], ecx
mov dword [edx + 0xe924], ecx
cmp ecx, 0xf0
jb 0x4839b7
mov dword [edx + 0xe924], 0xef
mov eax, 1
mov dword [esp + 0x1c], eax
cmp ecx, eax
jb 0x483abb
mov esi, dword [esp + 0x10]
lea edx, [ebp + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0x40
lea ecx, [esi + 0xe9bc]
add esi, 0x8244
mov dword [esp + 0x18], ecx
cmp edi, ebx
jae 0x483e5d
cmp eax, 0xf0
jae 0x483a8e
mov eax, dword [edx - 0x18]
mov dword [ecx], eax
mov eax, dword [edx - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [edx - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edx - 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx - 8]
mov dword [ecx + 0x10], eax
xor eax, eax
mov word [esi + 0x1e], ax
push dword [edx - 4]
call fcn.00483ee0
mov edx, dword [esp + 0x24]
and eax, 0xfffffffe
mov dword [esi - 4], eax
add esp, 4
movzx eax, word [edx]
rol ax, 8
movzx ecx, ax
mov dword [esi], ecx
movzx eax, word [edx + 2]
rol ax, 8
movzx eax, ax
add ecx, eax
mov eax, dword [esi]
add eax, 2
mov dword [esi + 4], ecx
cmp eax, ecx
jae 0x483a6b
mov eax, dword [esp + 0x24]
mov word [esi + 0x1e], ax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov word [esi + 0x1c], ax
movzx eax, byte [edx + 5]
shl ax, 2
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x14], 0x20ab
inc eax
add edi, 0x20
add edx, 0x20
mov dword [esp + 0x14], edi
add ecx, 0x20
mov dword [esp + 0x20], edx
add esi, 0x40
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [esp + 0x2c]
jbe 0x4839f3
mov edx, dword [esp + 0x10]
xor esi, esi
cmp edi, ebx
jae 0x483e5d
cmp dword [edi + ebp], 0x45455053
jne 0x483aec
movzx eax, byte [edi + ebp + 9]
mov dword [edx + 0xe900], eax
push dword [edi + ebp + 4]
call fcn.00483ee0
add edi, 8
add esp, 4
add edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
jae 0x483e5d
cmp dword [edi + ebp], 0x4e454c53
jne 0x483b12
push dword [edi + ebp + 4]
call fcn.00483ee0
add edi, 8
add esp, 4
add edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
jae 0x483e5d
cmp dword [edi + ebp], 0x4e454c50
lea eax, [edi + ebp]
jne 0x483b3e
push dword [eax + 4]
movzx esi, byte [eax + 9]
call fcn.00483ee0
add edi, 8
add esp, 4
add edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
jae 0x483e5d
cmp dword [edi + ebp], 0x54544150
lea eax, [edi + ebp]
mov dword [esp + 0x2c], eax
jne 0x483bc6
cmp esi, 0x100
jb 0x483b63
mov esi, 0xff
xor ecx, ecx
test esi, esi
je 0x483b85
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov al, byte [ecx + ebp + 0xa]
mov byte [edx + ecx + 0xd060], al
inc ecx
cmp ecx, esi
jb 0x483b71
mov ebp, dword [esp + 0x34]
cmp esi, 1
jbe 0x483bb1
mov eax, dword [esp + 0x10]
mov edx, 0xffff2fa1
lea ecx, [eax + 0xd05f]
add ecx, esi
sub edx, eax
lea ecx, [ecx]
cmp byte [ecx], 0
jne 0x483bb1
mov byte [ecx], 0xff
dec ecx
lea eax, [edx + ecx]
cmp eax, 1
ja 0x483ba0
push dword [edi + ebp + 4]
call fcn.00483ee0
add edi, 8
add esp, 4
add edi, eax
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x10]
lea eax, [edi + 0xa]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp eax, ebx
jae 0x483dd1
lea eax, [edx + 0xce80]
mov dword [esp + 0x20], eax
lea eax, [edx + 0xcac0]
mov dword [esp + 0x1c], eax
nop
cmp dword [edi + ebp], 0x444f4250
jne 0x483dd1
movzx esi, byte [edi + ebp + 9]
test esi, esi
jne 0x483c0b
mov esi, 0x40
cmp ecx, 0xf0
jae 0x483d99
push dword [edx + 0xe910]
push esi
call fcn.004711d0
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx], eax
test eax, eax
je 0x483e5d
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov word [ecx], si
mov ecx, dword [edx + 0xe910]
imul ecx, esi
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x483d91
lea esi, [edi + 0xc]
mov edi, 2
add esi, ebp
sub edi, ebp
mov ebp, ecx
jmp 0x483c70
lea ecx, [edi + esi]
cmp ecx, dword [esp + 0x38]
ja 0x483d89
movzx ecx, byte [esi - 2]
test ecx, ecx
je 0x483c92
add cl, 0x30
mov byte [eax], cl
mov cl, byte [esi - 1]
inc cl
mov byte [eax + 1], cl
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
dec ecx
mov byte [eax + 5], dl
cmp ecx, 0x1e
ja case.0x483cad.3
movzx ecx, byte [ecx + 0x483e98]
jmp dword [ecx*4 + 0x483e78]
test edx, edx
je case.0x483cad.3
mov byte [eax + 3], 2
jmp case.0x483cad.3
test edx, edx
je case.0x483cad.3
mov byte [eax + 3], 3
jmp case.0x483cad.3
mov byte [eax + 3], 1
jmp case.0x483cad.3
and dl, 0xf
mov byte [eax + 3], 0x13
mov byte [eax + 5], dl
jmp case.0x483cad.3
mov byte [eax + 3], 0xc
jmp case.0x483cad.3
mov byte [eax + 3], 0x10
jmp case.0x483cad.3
cmp edx, 0x40
ja 0x483d0b
mov byte [eax + 3], 0xd
jmp case.0x483cad.3
cmp edx, 0x50
ja 0x483d22
and dl, 0xf
mov byte [eax + 3], 0xb
mov byte [eax + 5], dl
jne case.0x483cad.3
mov byte [eax + 5], 0xf
jmp case.0x483cad.3
cmp edx, 0x60
ja 0x483d3b
shl dl, 4
mov byte [eax + 3], 0xb
mov byte [eax + 5], dl
test dl, dl
jne case.0x483cad.3
mov byte [eax + 5], 0xf0
jmp case.0x483cad.3
cmp edx, 0x70
ja 0x483d5a
mov cl, dl
mov byte [eax + 3], 0x13
and cl, 0xf
or cl, 0xb0
mov byte [eax + 5], cl
test dl, 0xf
jne case.0x483cad.3
mov byte [eax + 5], 0xbf
jmp case.0x483cad.3
cmp edx, 0x80
ja case.0x483cad.3
mov cl, dl
mov byte [eax + 3], 0x13
and cl, 0xf
or cl, 0xa0
mov byte [eax + 5], cl
test dl, 0xf
jne case.0x483cad.3
mov byte [eax + 5], 0xaf
inc ebx
add eax, 6
add esi, 4
cmp ebx, ebp
jb 0x483c70
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
push dword [edi + ebp + 4]
add dword [esp + 0x20], 4
inc ecx
add dword [esp + 0x24], 2
mov dword [esp + 0x1c], ecx
call fcn.00483ee0
mov edx, dword [esp + 0x14]
add eax, 8
add edi, eax
add esp, 4
mov dword [esp + 0x14], edi
lea eax, [edi + 0xa]
cmp eax, ebx
jae 0x483dd1
mov ecx, dword [esp + 0x18]
jmp 0x483bf0
lea eax, [edi + 0xa]
mov esi, 1
cmp eax, ebx
jae 0x483e5d
lea ecx, [edx + 0x8240]
mov dword [esp + 0x38], ecx
jmp 0x483df0
cmp dword [edi + ebp], 0x444f4253
jne 0x483e5d
cmp esi, 0xf0
jae 0x483e19
mov eax, ebx
sub eax, edi
sub eax, 8
push eax
lea eax, [ebp + 8]
add eax, edi
push eax
push 0
push ecx
mov ecx, edx
call fcn.00471f60
mov ecx, dword [edi + ebp + 4]
inc esi
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
mov ecx, dword [esp + 0x38]
shl eax, 8
add ecx, 0x40
or edx, eax
mov dword [esp + 0x38], ecx
add edx, 8
add edi, edx
mov edx, dword [esp + 0x10]
lea eax, [edi + 0xa]
cmp eax, ebx
jb 0x483df0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 8