Function at 0x401210
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x28
mov eax, dword [0x411020]
xor eax, esp
mov dword [esp + 0x24], eax
push esi
push 0x20
lea eax, [esp + 0xc]
push eax
push 9
push 0x400
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0xc]
push 0x40fa98
push edx
mov dword [esp + 0x10], 0
call fcn.00402b07
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0x3ff
add ecx, 0xffffffff
add esp, 0xc
cmp ecx, 0x2c
ja case.0x40126c.22
jmp dword [ecx*4 + 0x401990]
mov eax, 0x40faa0
sub esi, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401280
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40faa8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4012a6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fab0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4012d0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fab8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4012f6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fac0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401320
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fac8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401346
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fad0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401370
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fad8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401396
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fae0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4013c0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fae8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4013e6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40faf0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401410
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40faf8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401436
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb00
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401460
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb08
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401486
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb10
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4014b0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb18
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4014d6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb20
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401500
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb28
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401526
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb30
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401550
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb38
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401576
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb40
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4015a0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb48
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4015c6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb50
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4015f0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb58
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401616
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb60
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401640
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb68
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401666
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb70
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401690
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb78
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4016b6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb80
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4016e0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb88
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401706
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb90
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401730
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fb98
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401756
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fba0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401780
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fba8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4017a6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbb0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4017d0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbb8
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4017f6
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbc0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401820
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbc8
sub esi, eax
movzx ecx, word [eax]
mov word [eax + esi], cx
add eax, 2
test cx, cx
jne 0x401846
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbd0
sub esi, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + esi], cx
add eax, 2
test cx, cx
jne 0x401870
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40fbd8
sub esi, eax
movzx ecx, word [eax]
mov word [eax + esi], cx
add eax, 2
test cx, cx
jne 0x401896
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
and eax, 0xfc00
cmp eax, 0xc00
mov ecx, 0x40fbe0
je 0x4018d0
mov ecx, 0x40fbe8
jmp 0x4018d0
movzx eax, word [ecx]
mov word [esi], ax
add ecx, 2
add esi, 2
test ax, ax
jne 0x4018d0
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
and eax, 0xfc00
cmp eax, 0x800
mov ecx, 0x40fbf0
je 0x401907
mov ecx, 0x40fbf8
movzx eax, word [ecx]
mov word [esi], ax
add ecx, 2
add esi, 2
test ax, ax
jne 0x401907
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
and eax, 0xfc00
cmp eax, 0x800
mov ecx, 0x40fc00
je 0x401940
mov ecx, 0x40fc08
mov edi, edi
movzx eax, word [ecx]
mov word [esi], ax
add ecx, 2
add esi, 2
test ax, ax
jne 0x401940
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret
mov eax, 0x40faa0
sub esi, eax
jmp 0x401970
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401970
mov ecx, dword [esp + 0x28]
pop esi
xor ecx, esp
call fcn.00402bb4
add esp, 0x28
ret