Function at 0x1000d250
Capabilities:
Get geographical location

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10085548
push eax
mov dword fs:[0], esp
sub esp, 0x928
push ebp
push esi
mov esi, ecx
xor ebp, ebp
cmp byte [esi], 0
jne 0x1000db94
push ebx
push edi
push 1
mov byte [esi], 1
call fcn.1000d090
mov eax, dword [str.GeolocationService]
mov ecx, dword [str.EACore]
push ebp
push ebp
push str.ipgeolocations
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.IgnoreSSLCertError]
mov eax, dword [str.EACore]
push ebp
push ebp
push 0x1008854c
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.ActivationURL]
mov edx, dword [str.URLs]
push ebp
push ebp
push str.https:__origin.checkout.ea.com_lockbox_ui_checkout_redeemCode
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.RegistrationURL]
mov ecx, dword [str.URLs]
push ebp
push ebp
push str.https:__dev.web.dm.origin.com_web_accessRegistration
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.StoreURL]
mov eax, dword [str.URLs]
push ebp
push ebp
push str.http:__proxy.novafusion.ea.com_redirect_access_store
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.ForgotPasswordURL]
mov edx, dword [str.URLs]
push ebp
push ebp
push str.http:__www.origin.com_forgot_password
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov edi, 7
xor eax, eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebp
mov word [esp + 0x48], ax
mov ecx, dword [str.Activation.ini]
push ecx
push ebp
lea edx, [esp + 0x50]
push ebp
push edx
mov dword [esp + 0x950], ebp
call fcn.10009190
add esp, 0x10
xor eax, eax
push 0xa
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov word [esp + 0x14], ax
push str.production
lea ecx, [esp + 0x18]
call fcn.10002ec0
xor ecx, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
mov word [esp + 0x2c], cx
mov eax, dword [str.EALaunchEnv]
lea edx, [esp + 0x2c]
push edx
push eax
mov byte [esp + 0x948], 2
call fcn.10016b30
add esp, 8
test al, al
je 0x1000d3bf
cmp dword [esp + 0x3c], ebp
je 0x1000d3bf
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x1c]
call fcn.10002ba0
mov edi, 8
mov byte [esp + 0x940], 1
cmp dword [esp + 0x40], edi
jb 0x1000d3df
mov edx, dword [esp + 0x2c]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x5c], edi
jae 0x1000d3ed
lea eax, [esp + 0x48]
push ebp
push 1
push eax
lea ecx, [esp + 0x4bc]
call fcn.100287a0
mov eax, dword [esp + 0x48]
mov byte [esp + 0x940], 3
cmp dword [esp + 0x5c], edi
jae 0x1000d413
lea eax, [esp + 0x48]
push eax
call fcn.100089e0
add esp, 4
test al, al
je 0x1000d64b
call fcn.100246b0
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x98]
mov ecx, eax
mov edx, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x298]
xor ecx, ecx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], eax
mov word [esp + 0x98], cx
lea edx, [esp + 0x80]
push edx
push str.EnvironmentName
mov bl, 4
push str.Connection
lea ecx, [esp + 0x4bc]
mov byte [esp + 0x94c], bl
call fcn.100270b0
mov edx, dword [esp + 0x80]
cmp edx, dword [esp + 0x84]
je 0x1000d4ca
mov eax, edx
lea edi, [eax + 2]
jmp 0x1000d4b0
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x1000d4b0
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.10002ec0
call fcn.100246b0
mov dword [esp + 0x2a4], eax
lea eax, [esp + 0x2b0]
mov ecx, eax
mov edx, eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x29c], ecx
lea eax, [esp + 0x4b0]
xor ecx, ecx
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0x298], edx
mov dword [esp + 0x2a0], eax
mov word [esp + 0x2b0], cx
lea edx, [esp + 0x298]
push edx
push str.GeoLocationIPAddress
push str.Services
lea ecx, [esp + 0x4bc]
mov byte [esp + 0x94c], 5
call fcn.100270b0
mov edx, dword [esp + 0x298]
xor eax, eax
mov word [esp + 0x2c], ax
mov eax, edx
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebp
lea edi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x1000d560
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x34]
call fcn.10002ec0
cmp dword [esp + 0x40], 8
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x940], 6
jae 0x1000d591
lea eax, [esp + 0x2c]
mov ecx, dword [str.GeolocationIPAddress]
mov edx, dword [str.Services]
push ebp
push ebp
push eax
push ecx
push edx
mov ecx, esi
call fcn.1000e140
cmp dword [esp + 0x40], 8
jb 0x1000d5bd
mov eax, dword [esp + 0x2c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x298]
sub eax, edx
xor ecx, ecx
sar eax, 1
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebp
mov word [esp + 0x2c], cx
mov byte [esp + 0x940], bl
cmp eax, 1
jle 0x1000d60d
cmp edx, ebp
je 0x1000d60d
cmp edx, dword [esp + 0x2ac]
je 0x1000d60d
mov ecx, dword [esp + 0x2a4]
mov edi, dword [ecx]
add eax, eax
push eax
push edx
mov edx, dword [edi + 0xc]
call edx
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
sub eax, edx
sar eax, 1
mov byte [esp + 0x940], 3
cmp eax, 1
jle 0x1000d64b
cmp edx, ebp
je 0x1000d64b
cmp edx, dword [esp + 0x94]
je 0x1000d64b
mov ecx, dword [esp + 0x8c]
mov edi, dword [ecx]
add eax, eax
push eax
push edx
mov edx, dword [edi + 0xc]
call edx
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov ebx, 8
mov eax, ebp
cmp edi, ebx
jae 0x1000d662
lea eax, [esp + 0x10]
push str.integration
push eax
call fcn.100010a0
add esp, 8
test eax, eax
jne 0x1000d70d
mov ecx, dword [str.URLs]
push eax
push eax
mov eax, dword [str.ProxyServer]
push str.https:__proxy.novafusion.integration.ea.com
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.RegistrationURL]
mov eax, dword [str.URLs]
push 0
push 0
push str.https:__proxy.novafusion.integration.ea.com_web_accessRegistration
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.ActivationURL]
mov edx, dword [str.URLs]
push 0
push 0
push str.https:__origin.preprod.checkout.ea.com_lockbox_ui_checkout_redeemCode
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.ForgotPasswordURL]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__profile.integration.ea.com_forgotpassword.do
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.NucleusServer]
mov eax, dword [str.URLs]
push 0
push 0
push str.https:__accounts.int.ea.com
push edx
push eax
mov ecx, esi
call fcn.1000e140
jmp 0x1000d99c
mov eax, ebp
cmp edi, ebx
jae 0x1000d717
lea eax, [esp + 0x10]
push 0x1008a2fc
push eax
call fcn.100010a0
add esp, 8
test eax, eax
je 0x1000d9a4
mov eax, ebp
cmp edi, ebx
jae 0x1000d737
lea eax, [esp + 0x10]
push 0x1008a2f4
push eax
call fcn.100010a0
add esp, 8
test eax, eax
jne 0x1000d7e3
mov ecx, dword [str.ProxyServer]
mov edx, dword [str.URLs]
push eax
push eax
push str.https:__proxy.novafusion.integration.ea.com
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.RegistrationURL]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__qa_main.web.dm.origin.com_web_accessRegistration
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.ActivationURL]
mov eax, dword [str.URLs]
push 0
push 0
push str.https:__origin.preprod.checkout.ea.com_lockbox_ui_checkout_redeemCode
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.ForgotPasswordURL]
mov edx, dword [str.URLs]
push 0
push 0
push str.https:__profile.integration.ea.com_forgotpassword.do
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.NucleusServer]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__accounts.int.ea.com
push eax
push ecx
mov ecx, esi
call fcn.1000e140
jmp 0x1000d99c
mov eax, ebp
cmp edi, ebx
jae 0x1000d7ed
lea eax, [esp + 0x10]
push 0x1008a274
push eax
call fcn.100010a0
add esp, 8
test eax, eax
je 0x1000d9a4
mov eax, ebp
cmp edi, ebx
jae 0x1000d80d
lea eax, [esp + 0x10]
push str.fc.dev
push eax
call fcn.100010a0
add esp, 8
test eax, eax
je 0x1000d9a4
mov eax, ebp
cmp edi, ebx
jae 0x1000d82d
lea eax, [esp + 0x10]
push str.fc.qa
push eax
call fcn.100010a0
add esp, 8
test eax, eax
jne 0x1000d8d9
mov edx, dword [str.ProxyServer]
push eax
push eax
mov eax, dword [str.URLs]
push str.https:__proxy.novafusion.integration.ea.com
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.RegistrationURL]
mov edx, dword [str.URLs]
push 0
push 0
push str.https:__fc.qa.web.dm.origin.com_web_accessRegistration
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.ActivationURL]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__origin.preprod.checkout.ea.com_lockbox_ui_checkout_redeemCode
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.ForgotPasswordURL]
mov eax, dword [str.URLs]
push 0
push 0
push str.https:__profile.integration.ea.com_forgotpassword.do
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.NucleusServer]
mov edx, dword [str.URLs]
push 0
push 0
push str.https:__accounts.int.ea.com
push ecx
push edx
mov ecx, esi
call fcn.1000e140
jmp 0x1000d99c
mov eax, ebp
cmp edi, ebx
jae 0x1000d8e3
lea eax, [esp + 0x10]
push str.fc.ci
push eax
call fcn.100010a0
add esp, 8
test eax, eax
je 0x1000d9a4
mov eax, ebp
cmp edi, ebx
jae 0x1000d903
lea eax, [esp + 0x10]
push str.hf.qa
push eax
call fcn.100010a0
add esp, 8
test eax, eax
je 0x1000d9a4
mov eax, dword [str.ProxyServer]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__proxy.novafusion.ea.com
push eax
push ecx
mov ecx, esi
call fcn.1000e140
mov edx, dword [str.RegistrationURL]
mov eax, dword [str.URLs]
push 0
push 0
push str.https:__web.dm.origin.com_web_accessRegistration
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov ecx, dword [str.ActivationURL]
mov edx, dword [str.URLs]
push 0
push 0
push str.https:__origin.checkout.ea.com_lockbox_ui_checkout_redeemCode
push ecx
push edx
mov ecx, esi
call fcn.1000e140
mov eax, dword [str.NucleusServer]
mov ecx, dword [str.URLs]
push 0
push 0
push str.https:__accounts.ea.com
push eax
push ecx
mov ecx, esi
call fcn.1000e140
push str.Production
lea ecx, [esp + 0x14]
call fcn.10003840
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, ebp
cmp edi, ebx
jae 0x1000d9ae
lea eax, [esp + 0x10]
mov edx, dword [str.EnvironmentName]
xor edi, edi
push edi
push edi
push eax
mov eax, dword [str.Connection]
push edx
push eax
mov ecx, esi
call fcn.1000e140
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x5c], ebx
jae 0x1000d9d5
lea eax, [esp + 0x48]
push eax
call fcn.100089e0
add esp, 4
test al, al
je 0x1000dac8
mov ecx, dword [str.ProxyServer]
mov edx, dword [str.URLs]
push ecx
push edx
lea eax, [esp + 0x4b8]
push eax
mov ecx, esi
call fcn.1000b9a0
mov ecx, dword [str.WelcomeURL]
mov edx, dword [str.URLs]
push ecx
push edx
lea eax, [esp + 0x4b8]
push eax
mov ecx, esi
call fcn.1000b9a0
mov ecx, dword [str.ActivationURL]
mov edx, dword [str.URLs]
push ecx
push edx
lea eax, [esp + 0x4b8]
push eax
mov ecx, esi
call fcn.1000b9a0
mov ecx, dword [str.RegistrationURL]
mov edx, dword [str.URLs]
push ecx
push edx
lea eax, [esp + 0x4b8]
push eax
mov ecx, esi
call fcn.1000b9a0
mov ecx, dword [str.NucleusServer]
mov edx, dword [str.URLs]
push ecx
push edx
lea eax, [esp + 0x4b8]
push eax
mov ecx, esi
call fcn.1000b9a0
mov ecx, dword [str.IgnoreSSLCertError]
push ecx
push str.Cert
lea edx, [esp + 0x4b8]
push edx
mov ecx, esi
call fcn.1000af60
mov eax, dword [str.GeolocationService]
push eax
push str.Services
lea ecx, [esp + 0x4b8]
push ecx
mov ecx, esi
call fcn.1000af60
mov edx, dword [str.RandomMachineHashTestMode]
mov eax, dword [str.EACore]
push edx
push eax
lea ecx, [esp + 0x4b8]
push ecx
mov ecx, esi
call fcn.1000af60
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.1000b830
mov eax, dword [esp + 0x64]
mov byte [esp + 0x940], 7
cmp dword [esp + 0x78], ebx
jae 0x1000daea
lea eax, [esp + 0x64]
push eax
call fcn.100089e0
add esp, 4
test al, al
mov eax, dword [esp + 0x64]
jne 0x1000db10
cmp dword [esp + 0x78], ebx
jae 0x1000db05
lea eax, [esp + 0x64]
push eax
call fcn.10008f40
add esp, 4
jmp 0x1000db22
cmp dword [esp + 0x78], ebx
jae 0x1000db1a
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.1000a960
cmp dword [esp + 0x78], ebx
jb 0x1000db35
mov eax, dword [esp + 0x64]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor ecx, ecx
mov word [esp + 0x64], cx
mov esi, 7
lea ecx, [esp + 0x4b0]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
mov byte [esp + 0x940], 1
call fcn.10028910
cmp dword [esp + 0x24], ebx
jb 0x1000db70
mov edx, dword [esp + 0x10]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x20], edi
xor eax, eax
cmp dword [esp + 0x5c], ebx
pop edi
mov dword [esp + 0x20], esi
mov word [esp + 0xc], ax
pop ebx
jb 0x1000db94
mov ecx, dword [esp + 0x40]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x930]
pop esi
mov al, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0x934
ret