Function at 0x40d23b
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov ebx, ecx
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [0x47f708], edi
mov dword [0x47f70c], edi
mov dword [0x47f710], edi
mov dword [0x47f714], edi
mov dword [0x47f718], edi
mov dword [0x47f71c], edi
mov ecx, dword [ebx + 0xb0]
mov dword [ebp - 0x14], ebx
mov dword [ebp + 8], edi
cmp dword [ecx + 4], edi
jle 0x40d2df
push dword [ebp + 8]
call fcn.00406069
cmp eax, edi
je 0x40d2ce
cmp dword [eax + 8], edi
je 0x40d2ce
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
add dword [esi], ecx
adc dword [esi + 4], edi
mov ecx, dword [eax + 0x14]
add dword [0x47f708], ecx
adc dword [0x47f70c], edi
mov ecx, dword [eax + 0x10]
add dword [0x47f710], ecx
adc dword [0x47f714], edi
mov eax, dword [eax + 0x18]
add dword [0x47f718], eax
adc dword [0x47f71c], edi
inc dword [ebp + 8]
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jl 0x40d285
push 0x32
call fcn.004258e9
mov ebx, eax
pop ecx
cmp ebx, edi
jne 0x40d2fe
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0x32
push edi
push ebx
call fcn.00425010
mov edx, dword [esi]
mov ecx, dword [0x47f6b8]
mov eax, dword [esi + 4]
add esp, 0xc
sub ecx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [0x47f6bc]
mov edx, ecx
sbb edx, eax
cmp eax, ecx
jb 0x40d33c
ja 0x40d337
mov eax, dword [0x47f6b8]
cmp dword [ebp - 8], eax
jbe 0x40d33c
mov dword [ebp - 0x10], edi
xor edx, edx
mov eax, dword [ebp - 0x10]
push ebx
push 0xa
pop ecx
call fcn.00425b70
push edx
push eax
call fcn.0041e8c1
and byte [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x1f]
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [ebp - 0x20]
push 0xa
push eax
push 0x17
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x40d384
lea eax, [ebp - 0x20]
push 0x42cd0c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov al, byte [ebp - 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp + 0xb], al
lea eax, [ebp - 0x20]
push eax
call edi
cmp eax, 1
jle 0x40d39f
mov byte [ebp + 0xb], 0x20
push ebx
call edi
push ebx
mov dword [ebp - 0xc], eax
call edi
mov ecx, eax
dec ecx
mov dword [ebp - 4], ecx
je 0x40d3e4
jmp 0x40d3b5
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
push 3
sub eax, ecx
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x40d3df
push ebx
call edi
mov ecx, dword [ebp - 4]
cmp eax, ecx
jb 0x40d3d9
mov dl, byte [eax + ebx - 1]
mov byte [eax + ebx], dl
dec eax
jmp 0x40d3cb
mov al, byte [ebp + 0xb]
mov byte [ecx + ebx], al
dec dword [ebp - 4]
jne 0x40d3b2
push 0x42cd08
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp - 0x14]
push ebx
push 0x1a
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0x32
push 0
push ebx
call fcn.00425010
mov eax, dword [0x47f6b8]
mov edx, dword [0x47f6bc]
add esp, 0xc
push ebx
push 0xa
pop ecx
call fcn.00425b70
push edx
push eax
call fcn.0041e8c1
add esp, 0xc
push ebx
call edi
push ebx
mov dword [ebp - 0xc], eax
call edi
mov ecx, eax
dec ecx
mov dword [ebp - 4], ecx
je 0x40d46f
jmp 0x40d440
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
push 3
sub eax, ecx
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x40d46a
push ebx
call edi
mov ecx, dword [ebp - 4]
cmp eax, ecx
jb 0x40d464
mov dl, byte [eax + ebx - 1]
mov byte [eax + ebx], dl
dec eax
jmp 0x40d456
mov al, byte [ebp + 0xb]
mov byte [ecx + ebx], al
dec dword [ebp - 4]
jne 0x40d43d
push 0x42cd08
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, dword [ebp - 0x14]
push ebx
push 0x19
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push ebx
call fcn.004258de
mov eax, dword [0x47f6bc]
pop ecx
cmp eax, dword [esi + 4]
ja 0x40d4aa
jb 0x40d4a6
mov eax, dword [0x47f6b8]
cmp eax, dword [esi]
jae 0x40d4aa
push 0
jmp 0x40d4ac
push 1
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
pop edi
pop esi
pop ebx
leave
ret 4