Function at 0x401e80
Capabilities:
Get geographical location
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x420
call fcn.00401a70
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x40c]
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], eax
mov dword [esp + 4], 0x58
mov dword [esp], 0x800
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
mov dword [ebp - 0x418], eax
sub esp, 0x10
test eax, eax
je 0x401edd
mov eax, dword [ebp - 0x400]
shr eax, 0x1b
and eax, 1
mov dword [ebp - 0x418], eax
mov edx, 0x40b5e0
xor ebx, ebx
lea esi, [esi]
xor eax, eax
mov ecx, 0xff
lea edi, [ebp - 0x408]
mov dword [ebp - 0x40c], 0
rep stosd dword es:[edi], eax
mov edi, dword [edx]
mov dword [ebp - 0x414], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0xc
mov eax, dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageA]
sub esp, 0x10
mov esi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x71
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__d__WM_SETTEXT_returned__Id_instead_of_1_n
call fcn.004017f0
lea ecx, [ebp - 0x40c]
mov dword [esp + 8], 0x400
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0xd
mov eax, dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageA]
sub esp, 0x10
mov esi, eax
call fcn.00406c60
lea edx, [ebp - 0x40c]
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x73
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.__d__WM_GETTEXT_returned__Id_instead_of_expected__u_n
mov dword [esp], eax
call fcn.004017f0
lea ecx, [ebp - 0x40c]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [sym.imp.msvcrt.dll_strcmp]
mov esi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x77
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__d__WM_SETTEXT_round_trip:_strcmp___Id_n
call fcn.004017f0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xba
mov eax, dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageA]
sub esp, 0x10
mov esi, eax
call fcn.00406c60
mov edx, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x418]
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x7a
mov eax, dword [edx + 4]
mov edi, eax
test ecx, ecx
je 0x402072
mov edi, dword [edx + 8]
mov ecx, 1
cmp esi, edi
je 0x402088
mov ecx, dword [edx + 0xc]
cmp esi, ecx
jne 0x402086
test ecx, ecx
jne 0x4020e0
xor ecx, ecx
mov dword [ebp - 0x414], edx
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.__d__EM_GETLINECOUNT_returned__Id__expected__ld_n
mov dword [esp], ecx
call fcn.004017f0
mov edx, dword [ebp - 0x414]
add edx, 0x10
cmp ebx, 0x10
jne 0x401ee8
mov eax, dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyWindow]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [0x41d050]
xor ecx, ecx
test edi, edi
sete cl
jmp 0x402088