Function at 0x10003e90
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jg 0x10003eb9
jl 0x10003ea6
cmp dword [ebp + 8], 0
jae 0x10003eb9
mov ecx, dword [ebp + 0x10]
push 0x10009450
call dword [sym.imp.mfc120u.dll_Ordinal_1520]
pop edi
mov esp, ebp
pop ebp
ret
push ebx
push esi
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_296]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc120u.dll_Ordinal_296]
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_296]
push 0
push 0
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov esi, dword [sym.imp.MSVCR120.dll_wcscpy_s]
mov edx, 2
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x10003f14
push 4
call sub.mfc120u.dll_Ordinal_265
push 0x1000a200
mov ebx, eax
push 2
push ebx
mov dword [ebp - 0x10], ebx
call esi
add esp, 0x10
jmp 0x10003f5f
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.mfc120u.dll_Ordinal_265
add esp, 4
mov ebx, eax
mov dword [ebp - 0x10], ebx
push dword [ebp - 0xc]
push ebx
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x10003f5f
push ebx
call sub.mfc120u.dll_Ordinal_266
push 4
call sub.mfc120u.dll_Ordinal_265
push 0x1000a200
push 2
push eax
mov dword [ebp - 0x10], eax
call esi
add esp, 0x14
push 0
push 0
push 0xf
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x10003f92
push 4
call sub.mfc120u.dll_Ordinal_265
push 0x1000a5cc
mov ebx, eax
push 2
push ebx
mov dword [ebp - 0xc], ebx
call esi
add esp, 0x10
jmp 0x10003fe2
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.mfc120u.dll_Ordinal_265
add esp, 4
mov ebx, eax
mov dword [ebp - 0xc], ebx
push dword [ebp - 0x18]
push ebx
push 0xf
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x10003fe2
push ebx
call sub.mfc120u.dll_Ordinal_266
push 4
call sub.mfc120u.dll_Ordinal_265
push 0x1000a5cc
push 2
push eax
mov dword [ebp - 0xc], eax
call esi
add esp, 0x14
mov eax, dword [ebp + 8]
mov esi, eax
shrd eax, edi, 0xa
push 0
push 0x64
sar edi, 0xa
and esi, 0x3ff
push edi
push eax
call fcn.10007dc0
mov ebx, edx
mov ecx, eax
shrd eax, ebx, 0xa
and ecx, 0x3ff
sar ebx, 0xa
mov dword [ebp + 0xc], eax
test si, si
jne 0x1000401d
test cx, cx
je 0x10004026
add eax, 1
mov dword [ebp + 0xc], eax
adc ebx, 0
push 0
push 0x64
push ebx
push eax
call fcn.10007d10
push 0
push 0x64
mov esi, edx
mov edi, eax
push esi
push edi
call fcn.10007dc0
mov ecx, dword [ebp + 0xc]
sub ecx, eax
lea eax, [ebp - 0x14]
sbb ebx, edx
push ebx
mov ebx, dword [sym.imp.mfc120u.dll_Ordinal_4772]
push ecx
push 0x1000a5d0
push eax
call ebx
push esi
push edi
lea eax, [ebp - 8]
push 0x1000a0f0
push eax
call ebx
add esp, 0x20
lea ecx, [ebp - 4]
push 0x10009450
call dword [sym.imp.mfc120u.dll_Ordinal_1520]
push 3
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_12792]
mov ecx, eax
call dword [sym.imp.mfc120u.dll_Ordinal_5787]
cmp eax, 3
lea ecx, [ebp + 0xc]
sete bl
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
test bl, bl
je 0x10004149
mov esi, dword [ebp - 0xc]
lea esp, [esp]
lea eax, [ebp - 4]
push eax
push esi
push 3
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_12792]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10002200
add esp, 0xc
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10002160
add esp, 0xc
lea ecx, [ebp - 4]
push eax
call dword [sym.imp.mfc120u.dll_Ordinal_1518]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
push 3
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_5787]
sub eax, 3
lea ecx, [ebp - 8]
push eax
call dword [sym.imp.mfc120u.dll_Ordinal_3803]
push 3
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_12792]
mov ecx, eax
call dword [sym.imp.mfc120u.dll_Ordinal_5787]
cmp eax, 3
lea ecx, [ebp + 0xc]
sete bl
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
test bl, bl
jne 0x100040b0
mov ebx, dword [ebp - 0xc]
lea eax, [ebp - 4]
push eax
push ebx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10002200
add esp, 0xc
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.10002160
add esp, 0xc
lea ecx, [ebp - 4]
push eax
call dword [sym.imp.mfc120u.dll_Ordinal_1518]
lea ecx, [ebp + 0xc]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
push ebx
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_14270]
push eax
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_1518]
push ebx
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_14276]
push eax
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_1518]
push dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
push esi
push dword [ebp - 4]
push str._s_s_s
push dword [ebp + 0x10]
call dword [sym.imp.mfc120u.dll_Ordinal_4772]
push esi
call sub.mfc120u.dll_Ordinal_266
push ebx
call sub.mfc120u.dll_Ordinal_266
add esp, 0x1c
lea ecx, [ebp - 4]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 8]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret