Function at 0x417418
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
xor eax, eax
mov dword [ebp - 4], eax
mov dword [0x42401c], 0x15882
mov eax, 0x417f1c
mov dword [0x424020], eax
mov dword [0x424024], 0x1aa76
mov eax, dword [0x424024]
push eax
mov eax, dword [0x424020]
push eax
mov eax, dword [0x42401c]
push eax
mov eax, dword [0x424018]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
je 0x417482
mov dword [0x41f0de], 0x144a7
mov dword [0x41f082], ecx
mov dword [0x41f037], 0x122a6
mov dword [0x41f03c], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jne 0x417423
mov dword [0x41f0a8], edi
mov dword [0x41f082], 0x1421d
cmp esi, dword [ebp + 0x24]
jge 0x4174be
mov dword [0x41f092], eax
mov dword [0x41f059], 0x161db
mov dword [0x41f096], eax
xchg dword [0x41f0a3], edx
jmp 0x4174d9
mov dword [esp - 0x20], ecx
mov ebx, 0x102
mov dword [0x41f0ff], esi
mov dword [0x41f06d], ebx
mov dword [0x41f01d], eax
cmp byte [ebp + 0x24], bl
jg 0x4174e6
xchg dword [0x41f02d], ecx
jmp 0x417503
lea edx, [0x41f0f2]
mov dword [edx + 0x10], 0
mov dword [0x41f04b], 0x10df2
mov dword [0x41f055], esi
mov dword [0x424028], 0x1c891
mov dword [0x42402c], 0x125bb
mov eax, dword [0x42402c]
push eax
mov eax, dword [0x424028]
push eax
call sub.user32.dll_GetWindow
test eax, eax
jne 0x417547
mov dword [0x41f0fd], ebx
mov byte [0x41f03c], 0x1c
mov dword [0x41f025], ecx
mov edi, esi
mov dword [0x41f0f7], ecx
call fcn.00401f74
mov edx, 0x41f03b
call fcn.00401018
and eax, 3
mov dword [0x41f0cc], ebx
cmp word [esp + 0x24], 0
jl 0x417573
mov dword [0x41f060], 0x118e0
jmp 0x41757c
mov word [0x41f0b7], 0xd03e
mov eax, 0x417f28
mov dword [0x424030], eax
xor eax, eax
mov dword [0x424034], eax
xor eax, eax
mov dword [0x424038], eax
mov eax, dword [0x424038]
push eax
mov eax, dword [0x424034]
push eax
mov eax, dword [0x424030]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
mov dword [esp - 0x12], edi
mov dword [0x41f0df], edx
mov dword [0x41f0f6], ebx
mov ecx, 0x34
add dword [0x41f045], eax
mov byte [0x41f0d9], 0xa
mov dword [0x41f0ed], esi
mov dword [0x41f03b], edx
mov dword [0x42403c], 0x193f4
mov dword [0x424040], 0x150bf
mov eax, dword [0x424040]
push eax
mov eax, dword [0x42403c]
push eax
call sub.user32.dll_GetWindow
test eax, eax
jne 0x41761a
mov dword [0x41f093], 0x173f6
xchg dword [0x41f0c4], esi
mov dword [esp - 4], eax
mov dword [esp - 0x1c], ecx
mov dword [0x41f0c4], 0x128c0
mov dword [0x41f0d8], edx
test esi, esi
jne 0x417646
mov byte [0x41f056], 0xe
sub eax, 0x6a
and dword [0x41f03c], esi
mov dword [0x41f035], eax
jmp 0x41764e
mov ecx, esi
mov dword [0x41f0fd], edi
mov dword [0x41f0bf], ecx
call fcn.00401018
mov dword [0x41f050], eax
mov dword [esp - 0x28], ecx
test al, al
jne 0x41766f
mov dword [0x41f0d8], edx
jmp 0x417685
mov dword [0x41f0c7], eax
xchg dword [0x41f0d1], ecx
mov dword [0x41f0a4], 0x156b3
mov ecx, dword [0x41f058]
mov dword [0x424044], 0x12844
mov dword [0x424048], 0x1610f
mov eax, dword [0x424048]
push eax
mov eax, dword [0x424044]
push eax
call sub.user32.dll_GetWindow
mov dword [0x41f05d], eax
mov byte [0x41f0d3], 0xe
inc edi
add dword [0x41f07a], ecx
mov dword [0x41f041], eax
mov dword [0x41f078], 0x17554
mov byte [0x41f071], 0x5b
mov word [0x41f098], 0xba66
lea esi, [0x41f075]
and dword [esi], ebx
mov dword [0x424050], 0x1398c
mov eax, 0x417f4c
mov dword [0x424054], eax
mov dword [0x424058], 0x109fb
mov eax, dword [0x424058]
push eax
mov eax, dword [0x424054]
push eax
mov eax, dword [0x424050]
push eax
mov eax, dword [0x42404c]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
jne 0x417758
mov eax, esi
cmp dword [0x41f106], 0
jg 0x41773c
and dword [0x41f09d], eax
mov dword [0x41f093], edx
mov dword [0x41f037], ebx
mov dword [0x41f0aa], edx
mov dword [0x41f05d], 0x12816
xchg dword [0x41f069], edx
inc byte [0x41f058]
lea ecx, [0x41f0b6]
sub dword [ecx + 0x18], 0xba
mov dword [0x41f01f], 0x139bc
mov dword [0x424060], 0x1ea7f
mov eax, 0x417f64
mov dword [0x424064], eax
mov dword [0x424068], 0x112dd
mov eax, dword [0x424068]
push eax
mov eax, dword [0x424064]
push eax
mov eax, dword [0x424060]
push eax
mov eax, dword [0x42405c]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
jne 0x4177d1
xchg dword [0x41f027], edx
mov dword [0x41f02a], edi
mov ecx, 0x1ce
mov edx, dword [0x41f025]
push 1
push edx
call fcn.00401018
call fcn.00402b64
mov eax, dword [0x42406c]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
jne 0x417821
mov dword [0x41f08e], ecx
test ah, ah
je 0x417803
mov dword [0x41f065], edx
mov dword [0x41f0b6], ecx
mov dword [0x41f015], esi
mov dword [0x41f011], edx
mov dword [0x41f0cc], edi
mov dword [0x41f0de], ecx
mov dword [0x41f02a], edx
call fcn.004017fc
mov ebx, edi
mov dword [0x41f0fe], edx
cmp edi, 0xffffffff
jl 0x417854
mov word [0x41f097], 0x913c
mov ebx, dword [esp + 0x10]
mov dword [0x41f091], ecx
mov dword [0x41f07f], eax
mov dword [0x41f03b], esi
jmp 0x417860
mov dword [0x41f013], edx
sub edi, dword [0x41f080]
mov dword [0x41f058], ebx
mov dword [0x424074], 0x1d135
mov eax, 0x417f78
mov dword [0x424078], eax
mov dword [0x42407c], 0x12c27
mov eax, dword [0x42407c]
push eax
mov eax, dword [0x424078]
push eax
mov eax, dword [0x424074]
push eax
mov eax, dword [0x424070]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
je 0x4178c0
mov eax, 0x6f
mov dword [0x41f016], 0x119ac
mov dword [0x41f047], ebx
mov dword [0x41f0c8], ecx
test edx, edx
je 0x4178db
mov edi, 0x163
mov ecx, dword [esp + 0x18]
mov dword [0x41f070], eax
mov dword [0x41f055], ecx
jmp 0x4178e9
mov byte [0x41f0b3], 7
mov byte [0x41f089], 0xc7
mov ebx, 0x1d9
mov dword [0x41f092], esi
add esi, edi
mov dword [0x424084], 0x1ffa5
mov eax, 0x417f80
mov dword [0x424088], eax
mov dword [0x42408c], 0x1c9f4
mov eax, dword [0x42408c]
push eax
mov eax, dword [0x424088]
push eax
mov eax, dword [0x424084]
push eax
mov eax, dword [0x424080]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
jne 0x417954
mov edi, dword [0x41f076]
add dword [0x41f04f], edx
mov dword [0x41f03e], esi
mov byte [0x41f0db], 0xa8
and dword [0x41f103], edx
xor eax, eax
mov dword [ebp - 4], eax
mov byte [0x41f0e9], 0x97
xchg dword [esp - 0x20], edi
mov dword [0x41f107], eax
sub dword [0x41f011], edi
mov eax, 0x417f88
mov dword [0x424090], eax
xor eax, eax
mov dword [0x424094], eax
mov dword [0x424098], 0xffffffff
mov eax, dword [0x424098]
push eax
mov eax, dword [0x424094]
push eax
mov eax, dword [0x424090]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x4179bc
mov byte [0x41f0a9], 0x9e
mov word [0x41f0f2], 0x801
and dword [0x41f0f9], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jne 0x417959
mov dword [0x4240a0], 0x17aa4
mov eax, 0x417fa8
mov dword [0x4240a4], eax
mov dword [0x4240a8], 0x11672
mov eax, dword [0x4240a8]
push eax
mov eax, dword [0x4240a4]
push eax
mov eax, dword [0x4240a0]
push eax
mov eax, dword [0x42409c]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
jne 0x417a20
mov word [0x41f01f], 0x2240
mov dword [0x41f04c], ebx
lea edx, [0x41f06d]
add dword [edx + 0x28], 0xc6
test eax, eax
jne 0x417a41
mov byte [0x41f0c3], 0x1e
sub dword [0x41f0d0], edx
mov dword [esp - 0x12], ebx
mov dword [0x41f040], 0x133c2
jmp 0x417a46
mov esi, 0x162
mov dword [0x41f099], eax
mov dword [0x41f065], edx
mov dword [0x4240ac], 0x13d5c
mov dword [0x4240b0], 0x15f71
mov eax, dword [0x4240b0]
push eax
mov eax, dword [0x4240ac]
push eax
call sub.user32.dll_GetWindow
call fcn.00401f74
mov eax, dword [0x4240b4]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
jne 0x417a9e
dec eax
mov esi, 0x198
mov dword [0x41f0bc], ebx
mov byte [0x41f0d9], 0xe0
call fcn.00401f74
mov dword [0x4240bc], 0x108ec
mov eax, 0x417fb8
mov dword [0x4240c0], eax
mov dword [0x4240c4], 0x15ebe
mov eax, dword [0x4240c4]
push eax
mov eax, dword [0x4240c0]
push eax
mov eax, dword [0x4240bc]
push eax
mov eax, dword [0x4240b8]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
jne 0x417b0f
mov dword [0x41f0d0], eax
cmp edi, 0xffffffff
jg 0x417b05
mov dword [0x41f0fa], ebx
mov dword [0x41f026], ecx
mov dword [0x41f079], 0x16e48
jmp 0x417b0c
mov byte [0x41f0b1], 0xbf
and esi, 0x5f
call fcn.00416218
mov dword [0x4240cc], 0x1a017
inc edx
add byte [edi], dl
mov al, byte [0xc8b80001]
jg 0x417b63
add byte [ebx + 0x4240d0], ah