Function at 0x475964
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x547db0
call fcn.0054565c
sub esp, 0x74
push ebx
push esi
push edi
mov ebx, ecx
and dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x27
ja 0x475b88
cli
cmpsb byte [esi], byte es:[edi]
pop edi
sub edx, dword [edx - 0x17]
int1
mov byte [0xad6f6a8], al
sub al, byte fs:[edi - 0x33]
adc eax, 0xfdc70062
push 0xffffffffffffffe6
push esi
iretd
sub esp, 0x18
mov ecx, esp
push str.BAGKEY
call fcn.004018f6
lea eax, [ebp - 0x68]
lea edi, [ebx + 0xf8]
push eax
mov ecx, edi
call fcn.004459ac
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x475bb4
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401a3b
push 3
pop eax
push 0
push 1
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], al
call fcn.004023ba
mov ecx, dword [ebx + 0x54]
push 0x10
pop eax
sub ecx, eax
call fcn.00402beb
lea esi, [eax + 0x10]
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 4
cmp byte [ebp + 8], 0
je 0x475c04
cmp dword [ebp + 0x10], 0
push 8
pop eax
push 0x10
pop ecx
cmovne eax, ecx
push 3
pop ecx
add eax, ecx
mov dword [ebp - 0x30], eax
push 0x558d78
lea ecx, [ebp - 0x24]
call fcn.00401a3b
push 0x558d7c
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.00401a3b
push str.MCC_ASYNC
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.00401a3b
mov byte [ebp - 4], 7
push dword [ebx + 0x14]
lea ecx, [ebp - 0x3c]
call fcn.00401a3b
sub esp, 0x18
mov ecx, esp
push str.APPKEY
mov byte [ebp - 4], 8
call fcn.004018f6
lea eax, [ebp - 0x68]
push eax
mov ecx, edi
call fcn.004459ac
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
jb 0x475c6c
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401a3b
push 0
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xb
call fcn.004023ba
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
jne 0x475cdf
sub esp, 0x18
mov ecx, esp
push str.PRODUCTCODE
call fcn.004018f6
lea eax, [ebp - 0x80]
push eax
mov ecx, edi
call fcn.004459ac
mov edi, eax
mov byte [ebp - 4], 0xc
cmp dword [edi + 0x14], 8
jb 0x475cb6
mov edi, dword [edi]
test edi, edi
jne 0x475cbe
xor eax, eax
jmp 0x475cc5
push edi
call fcn.0041b53d
pop ecx
push eax
push edi
lea ecx, [ebp - 0x10]
call fcn.00402590
push 0
push 1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xb
call fcn.004023ba
push str.9.50.1.1
lea ecx, [ebp - 0x38]
call fcn.00401a83
push 0x571258
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xd
call fcn.004024e8
mov byte [ebp - 4], 0xe
push dword [ebp + 0x10]
lea eax, [ebp + 8]
push 0x558c48
push eax
call fcn.0040326a
add esp, 0xc
lea ecx, [ebp - 0x1c]
push 0x553ec0
call fcn.00401a3b
push 0x558d78
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xf
call fcn.00401a3b
push 0x10
pop eax
sub esp, 0x18
mov ecx, esp
mov edi, str.refid
push edi
mov byte [ebp - 4], al
call fcn.004018f6
lea ecx, [ebx + 0x10c]
call fcn.00445d55
test al, al
je 0x475dac
sub esp, 0x18
mov ecx, esp
push edi
call fcn.004018f6
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebx + 0x10c]
call fcn.004459ac
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x54], 8
lea edi, [ebp - 0x68]
cmovae edi, dword [ebp - 0x68]
test edi, edi
jne 0x475d89
xor eax, eax
jmp 0x475d90
push edi
call fcn.0041b53d
pop ecx
push eax
push edi
lea ecx, [ebp - 0x34]
call fcn.00402590
push 0x10
pop eax
push 0
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], al
call fcn.004023ba
push 0x553ec8
lea ecx, [ebp - 0x50]
call fcn.00401a3b
push ecx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
mov edi, esp
call fcn.00402beb
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004753fa
mov byte [ebp - 4], 0x13
push dword [eax]
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x40]
cmp dword [eax - 4], 1
push 0
jle 0x475dfb
push dword [eax - 0xc]
lea ecx, [ebp - 0x20]
call fcn.0040266b
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp + 8]
push eax
push 0
push edi
push 0x558dc0
call fcn.004756bd
push ecx
mov ecx, esp
push eax
call fcn.00401a3b
lea eax, [ebp - 0x48]
push eax
call fcn.004753fa
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x10], eax
cmp dword [eax - 4], 1
jle 0x475e42
push dword [eax - 0xc]
lea ecx, [ebp - 0x24]
call fcn.0040266b
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x10], eax
cmp dword [esi - 4], 1
jle 0x475e56
push dword [esi - 0xc]
lea ecx, [ebp - 0x2c]
call fcn.0040266b
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
cmp dword [ebx - 4], 1
jle 0x475e6d
push dword [ebx - 0xc]
lea ecx, [ebp - 0x28]
call fcn.0040266b
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [eax - 4], 1
jle 0x475e84
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.0040266b
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
push dword [ecx]
mov ecx, dword [ebp - 0x30]
push 1
push dword [ebp + 0x10]
push ecx
push dword [ebp - 0x38]
push esi
push ebx
xor ebx, ebx
push ebx
push dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x1c]
push str.__s_json_RaiseInstallEventMethod__callbackdefaultRaiseInstallInstallFlags_dUserSettings_dBagkey_sAppInstanceId_sVersion_sSessionCode_dDuration_sSlot_dOperatingSystem_sCDNCountryCode_sErrorCode_sBrowserSettings_dDefaultBrowser_sMonetisationOption_dClientType_sCommandLine_s
push eax
call fcn.0040326a
mov ecx, dword [ebp - 0x48]
add esp, 0x4c
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.004013c0
push ebx
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x10], ebx
call fcn.0046efbb
push 0x553ec0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x17
call fcn.00401a3b
mov byte [ebp - 4], 0x18
cmp byte [ebp + 0xc], bl
mov ebx, str.installevent.firenudge.com
jne 0x475ef9
mov ebx, str.installevent.iminent.com
push ebx
call fcn.0041b53d
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x14]
call fcn.00402590
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x18]
call fcn.00401d27
pop ecx
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], 1
jle 0x475f35
push dword [eax - 0xc]
lea ecx, [ebp - 0x18]
call fcn.0040266b
mov eax, dword [ebp - 0x18]
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.004018f6
sub esp, 0x18
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp + 0x14], esp
push str.OldSendInstallEvent:
call fcn.004018f6
mov byte [ebp - 4], 0x1d
call fcn.0043f300
lea ecx, [eax + 0x7c]
mov byte [ebp - 4], 0x1b
call fcn.0044739a
add esp, 0x30
lea eax, [ebp + 0x10]
push eax
push 0x2710
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov dword [ebp + 0xc], esp
mov ebx, esp
call fcn.00402beb
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x14]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.00402beb
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x1b
call fcn.00474ed4
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov ebx, eax
call fcn.004013c0
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004013c0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x12
call fcn.0046ef20
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.004013c0
lea ecx, [edi - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.004013c0
lea ecx, [esi - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
leave
ret 0x14