Function at 0x1001b717
Capabilities:
Get geographical location
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10084d25
mov eax, dword fs:[0]
push eax
sub esp, 0x310
mov eax, dword [0x100b02c0]
xor eax, esp
mov dword [esp + 0x308], eax
push ebx
push esi
push edi
mov eax, dword [0x100b02c0]
xor eax, esp
push eax
lea eax, [esp + 0x320]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], ebx
cmp edi, ebx
jne 0x1001b78f
xor eax, eax
inc eax
mov ecx, dword [esp + 0x320]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x308]
xor ecx, esp
call fcn.1005fc2b
mov esp, ebp
pop ebp
ret
push ebx
push ebx
lea eax, [esp + 0x44]
push eax
push ecx
call fcn.1001a54d
pop ecx
push eax
call fcn.1001fc4d
push ecx
mov dword [esp + 0x334], ebx
mov ecx, esp
mov dword [esp + 0x54], esp
push str.DoInitialize_started._Seconds_time_from_startup:
push ecx
mov ecx, eax
call fcn.1000423e
pop ecx
pop ecx
push ebx
push 0x13
push ecx
mov byte [esp + 0x340], 1
call fcn.1001a54d
pop ecx
mov ecx, eax
mov byte [esp + 0x33c], bl
call fcn.1001f748
or dword [esp + 0x328], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.10002b29
mov eax, dword [0x100b27b4]
mov ecx, 0x100b27b4
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x28]
push eax
push ecx
mov dword [esp + 0x330], 2
call fcn.1001a54d
pop ecx
push eax
call fcn.1001fc4d
mov byte [esp + 0x328], 3
push dword [eax]
lea eax, [esp + 0x40]
push str.InitStarted
push 0x10092510
call fcn.1000261c
mov byte [esp + 0x334], 2
mov eax, dword [esp + 0x34]
add esp, 0xc
add eax, 0xfffffff0
call fcn.10002b29
mov eax, dword [esp + 0x3c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
mov dword [esp + 0x4c], eax
call fcn.10002aac
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [esp + 0x330], 4
call fcn.1001a54d
pop ecx
mov esi, eax
mov byte [esp + 0x32c], 2
call fcn.1001f7e2
lea esi, [esp + 0x30]
mov byte [esp + 0x64], bl
call fcn.1002d074
mov esi, 0x101
mov byte [esp + 0x328], 5
push esi
mov dword [esp + 0x2c], ebx
call fcn.1005fb39
pop ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
mov byte [eax], bl
push 0x84
mov byte [esp + 0x32c], 6
call fcn.1005fc55
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x328], 7
cmp eax, ebx
je 0x1001b8fc
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 8]
mov esi, dword [edi]
push ecx
push edx
push esi
push eax
call fcn.1002499d
mov dword [esp + 0x1c], eax
jmp 0x1001b900
mov dword [esp + 0x1c], ebx
lea esi, [esp + 0x30]
mov byte [esp + 0x328], 6
call fcn.1002e196
mov esi, 0x80
push esi
lea eax, [esp + 0x218]
push eax
push 0x59
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0x218]
push esi
push eax
call fcn.10030760
add esp, 0xc
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0x98]
push esi
push eax
call fcn.10060151
add esp, 0xc
push 0x10092234
lea eax, [esp + 0x98]
push esi
push eax
call fcn.100622f9
add esp, 0xc
push dword [edi + 0x18]
lea eax, [esp + 0x98]
push esi
push eax
call fcn.100622f9
add esp, 0xc
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x198]
push esi
push eax
call fcn.10060151
add esp, 0xc
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1000724e
pop ecx
pop ecx
mov byte [esp + 0x328], 8
call fcn.1001a54d
lea edi, [eax + 0x20c]
lea eax, [esp + 0x14]
mov byte [esp + 0x328], 9
call fcn.100023e1
mov byte [esp + 0x328], 6
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10002b29
lea eax, [esp + 0x6c]
push eax
call fcn.10031bf1
push 0x1009231c
lea esi, [esp + 0x18]
mov byte [esp + 0x32c], 0xa
call fcn.1002d08b
mov byte [esp + 0x328], 0xb
push dword [eax]
lea esi, [esp + 0x70]
call fcn.1002d486
mov byte [esp + 0x328], 0xa
cmp dword [esp + 0x14], ebx
je 0x1001ba3d
push dword [esp + 0x14]
call fcn.10060146
pop ecx
push 0x100923d4
lea esi, [esp + 0x18]
call fcn.1002d08b
mov byte [esp + 0x328], 0xc
push dword [eax]
lea esi, [esp + 0x78]
call fcn.1002d486
mov byte [esp + 0x328], 0xa
cmp dword [esp + 0x14], ebx
je 0x1001ba76
push dword [esp + 0x14]
call fcn.10060146
pop ecx
mov edi, dword [esp + 0x38]
lea eax, [edi + 0x10]
push eax
lea esi, [esp + 0x18]
call fcn.1002d0e2
mov byte [esp + 0x328], 0xd
push dword [eax]
lea esi, [esp + 0x88]
call fcn.1002d486
mov byte [esp + 0x328], 0xa
cmp dword [esp + 0x14], ebx
je 0x1001bab5
push dword [esp + 0x14]
call fcn.10060146
pop ecx
lea eax, [esp + 0x94]
push eax
lea esi, [esp + 0x18]
call fcn.1002d08b
lea ecx, [esp + 0x28]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x78]
lea edx, [edi + 8]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x338], 0xe
call fcn.10031e86
mov byte [esp + 0x328], 0xa
mov esi, eax
cmp dword [esp + 0x14], ebx
je 0x1001bb04
push dword [esp + 0x14]
call fcn.10060146
pop ecx
call fcn.10023a80
mov byte [eax + 0xd], 1
cmp esi, ebx
je 0x1001bb87
call fcn.1001a54d
mov cl, 1
call fcn.1001f851
cmp dword [esp + 0x1c], ebx
je 0x1001bb2c
push dword [esp + 0x1c]
call fcn.1001aa6e
mov esi, edi
call fcn.1001b63b
call fcn.1001a54d
cmp dword [eax + 0x1bc], ebx
je 0x1001bb51
call fcn.1001a54d
push dword [eax + 0x1bc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea esi, [esp + 0x6c]
call fcn.10031c41
push dword [esp + 0x40]
call fcn.10060146
pop ecx
cmp dword [esp + 0x30], ebx
je 0x1001bb74
push dword [esp + 0x30]
call fcn.10060146
pop ecx
push 0xffffffffffffff9d
pop ebx
mov eax, dword [esp + 0x48]
call fcn.10002b29
mov eax, ebx
jmp 0x1001b76b
push dword [esp + 0x1c]
push ecx
call fcn.1001a54d
pop ecx
mov esi, eax
call fcn.1001ab19
call fcn.10023a80
push eax
mov cl, 1
call fcn.10023bed
call fcn.1001a54d
mov esi, eax
call fcn.1001aac7
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x1001bc28
push 0xc4
call fcn.1005fc55
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x328], 0xf
cmp eax, ebx
je 0x1001bc00
push 0x1008fb4a
lea esi, [esp + 0x60]
call fcn.1002d08b
push ebx
mov byte [esp + 0x32c], 0x10
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x38], 1
call fcn.10036d01
jmp 0x1001bc02
xor eax, eax
mov dword [esp + 0x328], 0xa
test byte [esp + 0x2c], 1
mov dword [esp + 0x14], eax
je 0x1001bc28
cmp dword [esp + 0x5c], ebx
je 0x1001bc28
push dword [esp + 0x5c]
call fcn.10060146
pop ecx
call fcn.1001a54d
call fcn.1001aad8
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x328], 0x12
push dword [esp + 0x28]
lea eax, [esp + 0x24]
push eax
call fcn.10034c8b
push dword [esp + 0x14]
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x2c]
call fcn.10025157
mov edi, eax
cmp edi, ebx
je 0x1001bd26
push ebx
push ecx
call fcn.1001a54d
pop ecx
mov esi, eax
call fcn.1001ab19
push ebx
push ecx
call fcn.1001a54d
pop ecx
mov esi, eax
call fcn.1001aae5
cmp dword [esp + 0x14], ebx
je 0x1001bc9d
push dword [esp + 0x14]
call fcn.1001aa53
mov esi, dword [esp + 0x38]
call fcn.1001b63b
call fcn.10023a80
push eax
xor cl, cl
call fcn.10023bed
call fcn.1001a54d
cmp dword [eax + 0x1bc], ebx
je 0x1001bcd1
call fcn.1001a54d
push dword [eax + 0x1bc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.1001a54d
mov ebx, eax
call fcn.100202e5
mov byte [esp + 0x328], 0xa
xor ebx, ebx
jmp 0x1001bcf6
push dword [esp + 0x20]
lea ecx, [esp + 0x24]
call fcn.1003411a
cmp dword [esp + 0x20], ebx
jne 0x1001bce9
lea esi, [esp + 0x6c]
call fcn.10031c41
push dword [esp + 0x40]
call fcn.10060146
pop ecx
cmp dword [esp + 0x30], ebx
je 0x1001bd1f
push dword [esp + 0x30]
call fcn.10060146
pop ecx
mov ebx, edi
jmp 0x1001bb77
mov eax, dword [esp + 0x1c]
call fcn.10024b0a
test al, al
je 0x1001bf9e
push 2
pop esi
xor edi, edi
push esi
inc edi
push edi
push 0x6b
call fcn.10007515
add esp, 0xc
push 3
push edi
push 0x6c
call fcn.10007515
add esp, 0xc
push ebx
push edi
push 0x6d
call fcn.10007515
add esp, 0xc
push edi
push edi
push 0x6e
call fcn.10007515
add esp, 0xc
push esi
push esi
push 0x74
call fcn.10007515
add esp, 0xc
push 3
push esi
push 0x76
call fcn.10007515
add esp, 0xc
push ebx
push esi
push 0x73
call fcn.10007515
add esp, 0xc
push edi
push esi
push 0x75
call fcn.10007515
add esp, 0xc
push 0x79
call fcn.10007495
mov edi, eax
pop ecx
cmp edi, ebx
je 0x1001be13
push 0x1009259c
lea esi, [esp + 0x50]
call fcn.1002d08b
mov dword [esp + 0x2c], eax
push str.OCNext
lea esi, [esp + 0x58]
mov byte [esp + 0x32c], 0x13
call fcn.1002d08b
mov byte [esp + 0x328], 0x14
push dword [esp + 0x2c]
push eax
push edi
call fcn.1002ce9e
add esp, 0xc
cmp dword [esp + 0x54], ebx
je 0x1001bdfb
push dword [esp + 0x54]
call fcn.10060146
pop ecx
mov byte [esp + 0x328], 0x12
cmp dword [esp + 0x4c], ebx
je 0x1001be13
push dword [esp + 0x4c]
call fcn.10060146
pop ecx
push 0x7a
call fcn.10007495
pop ecx
mov dword [esp + 0x2c], eax
cmp eax, ebx
je 0x1001be87
push str.Global
lea esi, [esp + 0x58]
call fcn.1002d08b
mov edi, eax
push str.OCPrev
lea esi, [esp + 0x50]
mov byte [esp + 0x32c], 0x15
call fcn.1002d08b
push edi
push eax
mov byte [esp + 0x330], 0x16
push dword [esp + 0x34]
call fcn.1002ce9e
add esp, 0xc
cmp dword [esp + 0x4c], ebx
je 0x1001be6f
push dword [esp + 0x4c]
call fcn.10060146
pop ecx
mov byte [esp + 0x328], 0x12
cmp dword [esp + 0x54], ebx
je 0x1001be87
push dword [esp + 0x54]
call fcn.10060146
pop ecx
mov edi, dword [esp + 0x38]
movzx eax, byte [edi + 0x20]
mov esi, dword [esp + 0x1c]
push eax
call fcn.10024b21
mov eax, esi
mov esi, dword [eax + 4]
jmp 0x1001beae
mov ecx, dword [esi]
push 1
push 2
call fcn.1002640d
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x1001bea0
push dword [esp + 0x28]
call fcn.10016880
push eax
call fcn.10017c7d
test al, al
jne 0x1001befc
call fcn.10023a80
push eax
mov cl, 1
call fcn.10023c57
lea eax, [edi + 8]
push eax
mov eax, dword [esp + 0x20]
add eax, 0x34
push eax
lea eax, [edi + 0x10]
push eax
call fcn.10016880
push eax
call fcn.10016c2b
call fcn.10023a80
push eax
xor cl, cl
call fcn.10023c57
jmp 0x1001bf05
call fcn.10016880
mov byte [eax + 0x48], 1
call fcn.1001a54d
mov esi, eax
call fcn.1001ab89
push dword [esp + 0x14]
push ecx
call fcn.1001a54d
pop ecx
mov esi, eax
call fcn.1001aae5
mov esi, edi
call fcn.1001b63b
call fcn.10023a80
push eax
xor cl, cl
call fcn.10023bed
call fcn.1001a54d
cmp dword [eax + 0x1bc], ebx
je 0x1001bf55
call fcn.1001a54d
push dword [eax + 0x1bc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [esp + 0x328], 0xa
jmp 0x1001bf6c
push dword [esp + 0x20]
lea ecx, [esp + 0x24]
call fcn.1003411a
cmp dword [esp + 0x20], ebx
jne 0x1001bf5f
lea esi, [esp + 0x6c]
call fcn.10031c41
push dword [esp + 0x40]
call fcn.10060146
pop ecx
cmp dword [esp + 0x30], ebx
je 0x1001bb77
push dword [esp + 0x30]
call fcn.10060146
pop ecx
jmp 0x1001bb77
call fcn.1001a54d
mov esi, eax
call fcn.1001ab89
push ebx
push ecx
call fcn.1001a54d
pop ecx
mov esi, eax
call fcn.1001aae5
cmp dword [esp + 0x14], ebx
je 0x1001bfc8
push dword [esp + 0x14]
call fcn.1001aa53
mov esi, dword [esp + 0x38]
call fcn.1001b63b
call fcn.10023a80
push eax
xor cl, cl
call fcn.10023bed
call fcn.1001a54d
cmp dword [eax + 0x1bc], ebx
je 0x1001bffc
call fcn.1001a54d
push dword [eax + 0x1bc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.1001a54d
mov ebx, eax
call fcn.100202e5
mov byte [esp + 0x328], 0xa
xor edi, edi
jmp 0x1001c021
push dword [esp + 0x20]
lea ecx, [esp + 0x24]
call fcn.1003411a
cmp dword [esp + 0x20], edi
jne 0x1001c014
lea esi, [esp + 0x6c]
call fcn.10031c41
push dword [esp + 0x40]
call fcn.10060146
pop ecx
cmp dword [esp + 0x30], edi
je 0x1001c04a
push dword [esp + 0x30]
call fcn.10060146
pop ecx
push 0xfffffffffffffffb
jmp 0x1001bb76