Function at 0x491878
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7328f5
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x820ac4]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
sub esp, 0x1c
mov ebx, ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x7c0a40
mov dword [ebx + 0x2c], 2
lea esi, [eax + 4]
call fcn.0040a68d
mov edi, esi
call fcn.004615ed
add esp, 0x1c
test al, al
jne 0x4918fb
push 3
pop esi
call fcn.0049140d
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], eax
jmp 0x491ab5
call fcn.004619cb
test al, al
je 0x4918e8
lea eax, [esp + 0x7c]
push eax
call fcn.00412d7e
and dword [esp + 0xe8], 0
lea eax, [esp + 0x7c]
push eax
mov eax, esi
call fcn.0047255a
test al, al
jne 0x491939
call fcn.0049140d
push 3
pop ecx
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], eax
jmp 0x491aa4
push str._BCIP_Response
lea ecx, [esp + 0x20]
call fcn.0040182d
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xec], 1
call fcn.0047215d
xor edi, edi
push 0
inc edi
push edi
lea ecx, [esp + 0x24]
mov esi, eax
call fcn.00401f4f
test esi, esi
je 0x491926
and dword [esp + 0x5c], 0
lea ecx, [esp + 0x60]
call fcn.00406ecb
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
mov byte [esp + 0xec], 2
call fcn.00491db2
cmp dword [esp + 0x60], 0
pop ecx
je 0x4919bc
cmp dword [esp + 0x5c], 4
jne 0x4919ac
call fcn.0049140d
push 3
jmp 0x4919b3
call fcn.0049140d
push 2
pop ecx
push 0
push edi
jmp 0x491a95
push 0x7c0a0c
lea ecx, [esp + 0x44]
call fcn.0040182d
lea eax, [esp + 0x40]
push eax
push esi
mov byte [esp + 0xf0], 3
call fcn.004720e2
push 0
push edi
lea ecx, [esp + 0x48]
mov esi, eax
mov byte [esp + 0xf0], 2
call fcn.00401f4f
test esi, esi
je 0x4919a3
push str.remote_ip
lea ecx, [esp + 0x20]
call fcn.0040182d
lea eax, [esp + 0x1c]
lea ecx, [ebx + 0x24]
push eax
mov edi, esi
mov byte [esp + 0xec], 4
call fcn.00471fc8
neg al
sbb al, al
push 0
inc al
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f], al
mov byte [esp + 0xf0], 2
call fcn.00401f4f
cmp byte [esp + 0x17], 0
jne 0x491a89
push str.remote_port
lea ecx, [esp + 0x20]
call fcn.0040182d
lea eax, [ebx + 0x28]
push eax
lea edi, [esp + 0x20]
mov byte [esp + 0xec], 5
call fcn.0049217a
neg al
sbb al, al
push 0
inc al
push 1
mov ecx, edi
mov byte [esp + 0x1f], al
mov byte [esp + 0xf0], 2
call fcn.00401f4f
cmp byte [esp + 0x17], 0
je 0x491afa
call fcn.0049140d
push 3
pop ecx
push 0
push 1
mov dword [ebx + 0x1c], ecx
lea ecx, [esp + 0x68]
mov dword [ebx + 0x20], eax
call fcn.00401f4f
or dword [esp + 0xe8], 0xffffffff
lea ecx, [esp + 0x7c]
call fcn.00412dbb
sub esp, 0x20
mov eax, 0x491d7c
mov dword [esp + 0x3c], eax
mov eax, esp
mov dword [esp + 0x38], esp
sub esp, 0x10
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebx
mov edi, esp
lea esi, [esp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004920b5
push str.BCIPClientImpl::callback_finished
add ebx, 0x80
push ebx
call fcn.0045d776
jmp 0x491bf6
push str.country
lea ecx, [esp + 0x20]
call fcn.0040182d
lea edi, [ebx + 0x30]
push edi
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0xf0], 6
call fcn.00471dec
neg al
sbb al, al
push 0
inc al
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f], al
mov byte [esp + 0xf0], 2
call fcn.00401f4f
cmp byte [esp + 0x17], 0
je 0x491b50
push 0x7b6c48
mov ecx, edi
call fcn.0040a368
lea ecx, [ebx + 0x58]
mov eax, dword [ecx]
call dword [eax + 0x10]
xor ecx, ecx
sub esp, 0x20
cmp byte [ebx + 0x54], cl
mov dword [ebx + 0x4c], eax
mov dword [esp + 0x44], ebx
lea esi, [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], esp
je 0x491bab
mov eax, 0x491d7c
mov dword [esp + 0x3c], eax
mov eax, esp
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004920b5
push str.BCIPClientImpl::callback_finished
lea eax, [ebx + 0x80]
push eax
call fcn.0045d776
add ebx, 0x68
push ebx
call fcn.0045ca47
jmp 0x491bd8
mov eax, 0x491d04
mov dword [esp + 0x3c], eax
mov eax, esp
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004920b5
mov ecx, dword [ebx + 0x14]
push str.BCIPClientImpl::schedule_timeout
push 0
lea eax, [ebx + 0x68]
push eax
call fcn.0045c92e
push 0
push 1
lea ecx, [esp + 0x68]
call fcn.00401f4f
or dword [esp + 0xe8], 0xffffffff
lea ecx, [esp + 0x7c]
call fcn.00412dbb
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.0054ae61
mov esp, ebp
pop ebp
ret 4