Function at 0x44c6a0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7fc
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x7f8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x7f0], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], ecx
push esi
mov esi, dword [ebp + 0x20]
push edi
mov edi, dword [ebp + 0x14]
mov byte [edi], 0
cmp ebx, 0x3bb
je 0x44d1e6
cmp ebx, 0x3cb
je 0x44d1e6
cmp ebx, 0x3cc
je 0x44d1e6
lea eax, [ebx - 0x3b6]
cmp eax, 0x4b
ja 0x44c7a0
push esi
call fcn.0044db90
add esp, 4
test eax, eax
je 0x44c88c
mov edx, dword [ebp - 0x7f0]
mov ecx, 0x1f
push dword [ebp - 0x7f8]
test edx, edx
cmovne ecx, edx
push ecx
push eax
call fcn.00438930
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44c88c
push dword [ebp - 0x7ec]
push esi
push edi
call fcn.00593bc0
mov eax, dword [ebp - 0x7ec]
push esi
mov byte [eax + edi - 1], 0
call fcn.00592c4b
mov eax, dword [ebp - 0x7ec]
add esp, 0x10
add eax, 0xfffffffe
js 0x44c88c
mov cl, byte [edi + eax]
cmp cl, 0x20
je 0x44c794
test cl, cl
jne 0x44c88c
mov byte [edi + eax], 0
dec eax
jns 0x44c784
jmp 0x44c88c
lea eax, [ebx - 0x406]
cmp eax, 0x1b
ja 0x44c95c
push esi
call fcn.0044db90
add esp, 4
test eax, eax
je 0x44c88c
push 0
push dword [ebp - 0x7f8]
push eax
call fcn.0043ed70
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x44c889
cmp dword [esi + 0x24], 0
je 0x44c86d
mov ecx, ebx
xor esi, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c7f0
sub ecx, edx
je 0x44c86d
jmp 0x44c800
mov al, byte [esi + ebx]
lea edx, [esi + ebx]
cmp al, 0xd
jne 0x44c84a
cmp byte [esi + ebx + 1], 0xa
lea ecx, [esi + ebx]
jne 0x44c846
mov ecx, ebx
lea eax, [ecx + 1]
mov dword [ebp - 0x7f0], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c820
sub ecx, dword [ebp - 0x7f0]
lea eax, [ebx + 1]
sub ecx, esi
add eax, esi
dec ecx
push ecx
push eax
push edx
call fcn.00593bc0
add esp, 0xc
mov byte [esi + ebx], 0x5f
jmp 0x44c854
cmp al, 0xd
je 0x44c851
cmp byte [esi + ebx + 1], 0xa
jne 0x44c854
mov byte [edx], 0x5f
mov ecx, ebx
inc esi
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c860
sub ecx, edx
cmp esi, ecx
jb 0x44c800
mov esi, dword [ebp - 0x7ec]
push esi
push ebx
push edi
call fcn.00593bc0
push ebx
mov byte [esi + edi - 1], 0
call fcn.00592c4b
add esp, 0x10
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x7e8]
cmp ebx, 0x3ba
je 0x44d388
cmp ebx, 0x3bb
je 0x44d388
cmp ebx, 0x3cb
je 0x44d388
cmp ebx, 0x3cc
je 0x44d388
cmp ebx, 0x38a
je 0x44d388
cmp ebx, 0x38b
je 0x44d388
cmp ebx, 0x38c
je 0x44d388
cmp ebx, 0x418
je 0x44d388
cmp ebx, 0x419
je 0x44d388
cmp byte [edi], 0
je 0x44d388
cmp byte [ecx], 0
je 0x44d388
push edi
call fcn.00452100
mov esi, edi
mov dword [ebp - 0x7fc], eax
add esp, 4
xor ebx, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44c926
mov eax, dword [ebp - 0x7e8]
sub esi, ecx
cmp byte [eax], 0x2d
jne 0x44d29e
inc eax
push eax
call fcn.00593e1b
dec eax
add esp, 4
mov dword [ebp - 0x7ec], eax
cmp eax, esi
jge 0x44d357
jmp 0x44d355
lea eax, [ebx - 0x385]
cmp eax, 0x26
ja case.0x44c96b.914
jmp dword [eax*4 + 0x44d3a0]
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
lea ecx, [ebp - 0x294]
mov edx, edi
mov eax, ecx
add esp, 0xc
sub edx, eax
jmp 0x44c9a0
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44c9a0
jmp 0x44c88c
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
add esp, 0xc
test dword [esi], 0x800
jne 0x44ca21
mov ecx, 0x5c9c0c
lea eax, [ebp - 0x294]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44ca00
test dl, dl
je 0x44c9fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44ca00
add eax, 2
add ecx, 2
test dl, dl
jne 0x44c9e0
xor eax, eax
jmp 0x44ca05
sbb eax, eax
or eax, 1
test eax, eax
je 0x44ca21
lea eax, [ebp - 0x294]
push 0x2e
push eax
call fcn.00596630
add esp, 8
test eax, eax
je 0x44ca21
mov byte [eax], 0
lea ecx, [ebp - 0x294]
mov edx, edi
mov eax, ecx
sub edx, eax
lea ecx, [ecx]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44ca30
jmp 0x44c88c
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
add esp, 0xc
test dword [esi], 0x800
jne 0x44cab1
mov ecx, 0x5c9c0c
lea eax, [ebp - 0x294]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44ca90
test dl, dl
je 0x44ca8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44ca90
add eax, 2
add ecx, 2
test dl, dl
jne 0x44ca70
xor eax, eax
jmp 0x44ca95
sbb eax, eax
or eax, 1
test eax, eax
je 0x44cab1
lea eax, [ebp - 0x294]
push 0x2e
push eax
call fcn.00596630
add esp, 8
test eax, eax
je 0x44cab1
mov byte [eax], 0
push edi
lea eax, [ebp - 0x7a0]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.0044c1c0
add esp, 0xc
jmp 0x44c88c
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
lea ecx, [ebp - 0x49c]
mov edx, edi
mov eax, ecx
add esp, 0xc
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44caf3
jmp 0x44c88c
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
lea ecx, [ebp - 0x49c]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44cb28
sub ecx, edx
cmp byte [ebp + ecx - 0x49d], 0x5c
jne 0x44cb4f
dec ecx
cmp ecx, 0x208
jae 0x44d399
mov byte [ebp + ecx - 0x49c], al
lea eax, [ebp - 0x49c]
push 0x5c
push eax
call fcn.00596630
add esp, 8
test eax, eax
je 0x44c88c
lea ecx, [eax + 1]
mov edx, edi
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44cb70
jmp 0x44c88c
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.00448530
lea eax, [ebp - 0x294]
push 0x2e
push eax
call fcn.00596630
add esp, 0x14
test eax, eax
je 0x44c88c
lea ecx, [eax + 1]
mov edx, edi
sub edx, ecx
lea esp, [esp]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44cbc0
push edi
call fcn.005bb135
add esp, 4
jmp 0x44c88c
push esi
call fcn.0044d9e0
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x8c]
push ecx
push edx
push eax
call fcn.00443360
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
push str._s__s
push edi
call fcn.005933b1
add esp, 0x24
jmp 0x44c88c
xor eax, eax
mov dword [ebp - 0x7c8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x7b4], 0
push esi
movdqu xmmword [ebp - 0x7c4], xmm0
mov byte [ebp - 0x7f8], 0
mov word [ebp - 0x7f7], ax
mov byte [ebp - 0x7ec], al
mov word [ebp - 0x7eb], ax
mov byte [ebp - 0xc], al
mov dword [ebp - 0xb], eax
mov byte [ebp - 0x7a8], al
mov dword [ebp - 0x7a7], eax
call fcn.0044d9e0
add esp, 4
mov dword [ebp - 0x7f0], eax
mov ecx, edx
mov dword [ebp - 0x7fc], ecx
cmp ebx, 0x38e
jne 0x44cca0
add eax, 0x3ff
push 0
push 0x400
adc ecx, 0
push ecx
push eax
call fcn.00597be0
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7fc], edx
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea eax, [ebp - 0x7f8]
push 3
push eax
push 0x12
push 0x400
call esi
lea eax, [ebp - 0x7f8]
push eax
call fcn.00593e1b
add esp, 4
mov dword [ebp - 0x7c4], eax
lea eax, [ebp - 0x7ec]
push 3
push eax
push 0x1010
push 0x400
call esi
lea eax, [ebp - 0x7ec]
push eax
call fcn.00593e1b
add esp, 4
mov dword [ebp - 0x7b4], eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x7c0], 3
push 5
push eax
push 0xf
push 0x400
call esi
lea eax, [ebp - 0xc]
push 5
mov dword [ebp - 0x7b8], eax
lea eax, [ebp - 0x7a8]
push eax
push 0xe
push 0x400
call esi
push dword [ebp - 0x7fc]
lea eax, [ebp - 0x7a8]
mov dword [ebp - 0x7c8], 0
push dword [ebp - 0x7f0]
mov dword [ebp - 0x7bc], eax
lea eax, [ebp - 0x59c]
push str._I64d
push eax
call fcn.005933b1
add esp, 0x10
lea eax, [ebp - 0x69c]
push 0x100
push eax
lea eax, [ebp - 0x7c8]
push eax
lea eax, [ebp - 0x59c]
push eax
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
lea eax, [ebp - 0x69c]
push eax
push 0x5c4bb0
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push edi
push esi
call fcn.0044d8c0
add esp, 8
jmp 0x44c88c
mov eax, dword [esi + 0x14]
test eax, eax
js case.0x44c96b.914
mov ecx, dword [esi + 0x18]
test ecx, ecx
jle 0x44c88c
push ecx
inc eax
push eax
push str._d__d
push edi
call fcn.005933b1
add esp, 0x10
jmp 0x44c88c
mov eax, dword [esi + 0x1c]
test eax, eax
jle case.0x44c96b.914
push eax
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x7a8]
push eax
lea eax, [ebp - 0x7f4]
push eax
push esi
call fcn.0044da90
add esp, 0x10
lea eax, [ebp - 0x7e4]
push eax
cmp ebx, 0x38a
jne 0x44ce2e
lea eax, [ebp - 0x7a8]
jmp 0x44ce3f
lea eax, [ebp - 0xc]
cmp ebx, 0x38c
je 0x44ce3f
lea eax, [ebp - 0x7f4]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp - 0x7c0]
push eax
lea eax, [ebp - 0x7e4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
lea eax, [ebp - 0x7c0]
push dword [esi + 0x24]
push dword [ebp - 0x7e8]
push eax
push edi
call fcn.0044d5d0
add esp, 0x10
jmp 0x44c88c
lea eax, [ebp - 0x7c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
jmp 0x44ce5c
mov eax, dword [esi]
and eax, 0x1000
neg eax
sbb eax, eax
and eax, 0x3800
add eax, 0x5d205b
mov dword [edi], eax
jmp case.0x44c96b.914
push esi
call fcn.0044d9a0
add esp, 4
test eax, eax
je 0x44c88c
and eax, 0xf
push eax
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d8f0
add esp, 4
test eax, eax
je 0x44c88c
and eax, 0xf
push eax
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
lea ecx, [eax + 0x34]
mov edx, edi
sub edx, ecx
lea ecx, [ecx]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44cf10
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
push dword [eax + 8]
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
push dword [eax + 0xc]
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx ecx, word [eax + 0x12]
movzx eax, word [eax + 0x10]
imul ecx, eax
push ecx
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx eax, word [eax + 0x1c]
test ax, ax
cwde
jne 0x44cfc0
mov eax, 0x48
push eax
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx ecx, word [eax + 0x1c]
test cx, cx
movsx ecx, cx
jne 0x44cff6
mov ecx, 0x48
mov eax, dword [eax + 8]
cdq
idiv ecx
push eax
push 0x5c2e18
push edi
call fcn.005933b1
add esp, 0xc
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx ecx, word [eax + 0x1e]
test cx, cx
movsx ecx, cx
jne 0x44d032
mov ecx, 0x48
mov eax, dword [eax + 0xc]
jmp 0x44cff9
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx ecx, word [eax + 0x1c]
test cx, cx
movsx ecx, cx
jne 0x44d059
mov ecx, 0x48
movd xmm1, dword [eax + 8]
sub esp, 8
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
mulsd xmm1, qword [0x5c9c50]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp], xmm1
push str._.2lf
push edi
call fcn.005933b1
add esp, 0x10
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx ecx, word [eax + 0x1e]
test cx, cx
movsx ecx, cx
jne 0x44d0b3
mov ecx, 0x48
movd xmm1, dword [eax + 0xc]
sub esp, 8
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
mulsd xmm1, qword [0x5c9c50]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp], xmm1
push str._.2lf
push edi
call fcn.005933b1
add esp, 0x10
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
mov dword [ebp - 0x7f0], eax
test eax, eax
je 0x44c88c
push esi
call fcn.0044d9e0
add esp, 4
add eax, 0x3ff
adc edx, 0
push 0
push 0x400
push edx
push eax
call fcn.00597be0
mov cx, word [0x5c44cc]
mov word [ebp - 0x4c], cx
mov cl, byte [0x5c44ce]
mov byte [ebp - 0x4a], cl
lea ecx, [ebp - 0x4c]
push ecx
push edx
push eax
mov eax, dword [ebp - 0x7f0]
push dword [eax + 0xc]
push dword [eax + 8]
push str._dx_d___d__s
push edi
call fcn.005933b1
add esp, 0x1c
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
lea ecx, [eax + 0x34]
mov edx, edi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x44d172
jmp 0x44c88c
push esi
call fcn.0044d960
add esp, 4
test eax, eax
je 0x44c88c
movzx edx, word [eax + 0x12]
movzx ecx, word [eax + 0x10]
imul edx, ecx
push edx
push dword [eax + 0xc]
push dword [eax + 8]
push str._dx_dx_d
push edi
call fcn.005933b1
add esp, 0x14
jmp 0x44c88c
push esi
call fcn.0044d930
add esp, 4
test eax, eax
je 0x44c88c
mov esi, dword [ebp - 0x7ec]
push esi
push eax
push edi
call fcn.00593bc0
add esp, 0xc
mov byte [esi + edi - 1], 0
jmp 0x44c88c
push esi
call fcn.0044db90
add esp, 4
test eax, eax
je 0x44c88c
lea ecx, [ebp - 0x7d4]
push ecx
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
call fcn.004373c0
add esp, 0x10
test eax, eax
je 0x44c88c
cmp ebx, 0x3bb
jne 0x44d227
lea ecx, [ebp - 0x7d4]
jmp 0x44d236
cmp ebx, 0x3cc
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x30]
cmovne ecx, eax
cmp dword [ecx + 0x14], 0
je 0x44c88c
movzx eax, word [ecx + 0xc]
mov word [ebp - 0x7aa], ax
movzx eax, word [ecx + 0x18]
mov word [ebp - 0x7ac], ax
movzx eax, word [ecx + 0x10]
inc ax
mov word [ebp - 0x7ae], ax
mov eax, 0x76c
add ax, word [ecx + 0x14]
mov word [ebp - 0x7b0], ax
movzx eax, word [ecx + 8]
mov word [ebp - 0x7a8], ax
movzx eax, word [ecx + 4]
mov word [ebp - 0x7a6], ax
movzx eax, word [ecx]
mov word [ebp - 0x7a4], ax
lea eax, [ebp - 0x7b0]
jmp 0x44ce62
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d2a3
mov eax, dword [ebp - 0x7e8]
sub ecx, edx
cmp byte [ecx + eax - 1], 0x2d
jne 0x44d2de
push eax
call fcn.00593e1b
add esp, 4
dec eax
mov dword [ebp - 0x7ec], eax
js 0x44d357
cmp eax, esi
jge 0x44d357
mov ebx, eax
jmp 0x44d357
push 0x2d
push eax
call fcn.00593a90
add esp, 8
test eax, eax
je 0x44d33a
lea eax, [ebp - 0x7f0]
push eax
lea eax, [ebp - 0x7ec]
push eax
push 0x5c2fc8
push dword [ebp - 0x7e8]
call fcn.00593320
mov eax, dword [ebp - 0x7ec]
add esp, 0x10
mov ecx, dword [ebp - 0x7f0]
dec eax
dec ecx
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7f0], ecx
test eax, eax
js 0x44d357
cmp eax, esi
jge 0x44d357
cmp ecx, esi
jge 0x44d357
mov ebx, eax
mov esi, ecx
jmp 0x44d357
push dword [ebp - 0x7e8]
call fcn.00593e1b
dec eax
add esp, 4
mov dword [ebp - 0x7ec], eax
cmp eax, esi
jge 0x44d357
mov ebx, eax
mov esi, eax
mov eax, esi
sub eax, ebx
inc eax
test eax, eax
jle 0x44d37a
push eax
mov eax, dword [ebp - 0x7fc]
add eax, ebx
push eax
push edi
call fcn.00593bc0
add esp, 0xc
sub edi, ebx
mov byte [edi + esi + 1], 0
push dword [ebp - 0x7fc]
call fcn.00592c4b
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005920c1
mov esp, ebp
pop ebp
ret
call fcn.00592dbb
mov edi, edi
mov dl, 0xc9
inc esp
add byte [edx - 0x37], dh
inc esp
add byte [edx - 0x36], al
inc esp
add ch, cl
retf 0x44