Function at 0x446ca0
Capabilities:
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x49cb10
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c2c40]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov esi, dword [esp + 0x6c]
push 0
push 0x4c49d0
push 0x4c49b8
push 0
push esi
call fcn.0047aa10
mov ebx, dword [eax + 0x14]
add esp, 0x14
test ebx, ebx
je 0x446de3
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x446cfa
call fcn.00478a25
mov edi, esi
lea esp, [esp]
mov esi, dword [ebx + 8]
cmp dword [ebx + 4], esi
jbe 0x446d0d
call fcn.00478a25
cmp edi, esi
je 0x446ddf
cmp edi, dword [ebx + 8]
jb 0x446d1f
call fcn.00478a25
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
test eax, eax
je 0x446dcd
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x446d39
cmp esi, 8
mov edx, esi
jb 0x446d45
mov edx, 8
cmp dword [eax + 0x18], 8
jb 0x446d50
mov ecx, dword [eax + 4]
jmp 0x446d53
lea ecx, [eax + 4]
test edx, edx
mov eax, str.AreaName
jbe 0x446d85
lea esp, [esp]
mov bp, word [ecx]
cmp bp, word [eax]
jne 0x446d75
add ecx, 2
add eax, 2
sub edx, 1
jne 0x446d60
jmp 0x446d85
mov cx, bp
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
jne 0x446d92
cmp esi, 8
jb 0x446dcd
xor eax, eax
cmp esi, 8
setne al
test eax, eax
jne 0x446dcd
cmp edi, dword [ebx + 8]
jb 0x446da0
call fcn.00478a25
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
lea esi, [ecx + 2]
mov edi, edi
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x446db0
sub ecx, esi
mov esi, dword [esp + 0x68]
sar ecx, 1
push ecx
push eax
add esi, 0x24
call fcn.00401c20
cmp edi, dword [ebx + 8]
jb 0x446dd7
call fcn.00478a25
add edi, 4
jmp 0x446d00
mov esi, dword [esp + 0x6c]
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
mov dword [esp + 0x1c], 0
call eax
test eax, eax
jbe 0x4471ad
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
mov edx, dword [edx + 0x24]
push eax
call edx
mov ebp, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0xc]
mov ecx, ebp
call edx
mov ecx, eax
test ecx, ecx
je 0x44718f
mov ebx, dword [ecx + 0x14]
mov eax, ebx
cmp eax, ebx
jae 0x446e2b
cmp ebx, 0xc
mov edi, ebx
jb 0x446e37
mov edi, 0xc
cmp dword [ecx + 0x18], 8
jb 0x446e42
mov esi, dword [ecx + 4]
jmp 0x446e45
lea esi, [ecx + 4]
test edi, edi
mov edx, str.LanguageInfo
jbe 0x446e6f
mov edi, edi
mov ax, word [esi]
cmp ax, word [edx]
jne 0x446e65
add esi, 2
add edx, 2
sub edi, 1
jne 0x446e50
jmp 0x446e6f
sbb edx, edx
and edx, 0xfffffffe
add edx, 1
jne 0x446e80
cmp ebx, 0xc
jb 0x446fef
xor edx, edx
cmp ebx, 0xc
setne dl
test edx, edx
jne 0x446fef
push edx
push 0x4c49d0
push 0x4c49b8
push edx
push ebp
call fcn.0047aa10
mov ebp, dword [eax + 0x14]
add esp, 0x14
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x44718f
mov esi, dword [ebp + 4]
cmp esi, dword [ebp + 8]
jbe 0x446eb9
call fcn.00478a25
mov edi, esi
jmp 0x446ec0
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
jbe 0x446ecd
call fcn.00478a25
cmp edi, esi
je 0x44718f
cmp edi, dword [ebp + 8]
jb 0x446edf
call fcn.00478a25
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
xor ebx, ebx
cmp eax, ebx
je 0x446fbe
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x446efb
cmp esi, 4
mov edx, esi
jb 0x446f07
mov edx, 4
cmp dword [eax + 0x18], 8
jb 0x446f12
mov ecx, dword [eax + 4]
jmp 0x446f15
lea ecx, [eax + 4]
cmp edx, ebx
mov eax, 0x4ad088
jbe 0x446f3b
mov edi, edi
mov bp, word [ecx]
cmp bp, word [eax]
jne 0x446fd0
add ecx, 2
add eax, 2
sub edx, 1
jne 0x446f20
mov ebp, dword [esp + 0x18]
cmp esi, 4
jb 0x446fbe
xor eax, eax
cmp esi, 4
setne al
cmp eax, ebx
jne 0x446fbe
cmp edi, dword [ebp + 8]
jb 0x446f56
call fcn.00478a25
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x446f75
sub ecx, esi
sar ecx, 1
push ecx
push eax
lea esi, [esp + 0x44]
call fcn.00401c20
mov ecx, esi
mov esi, dword [esp + 0x68]
push ecx
add esi, 4
mov dword [esp + 0x64], ebx
call fcn.00401650
mov dword [esp + 0x60], 0xffffffff
cmp dword [esp + 0x54], 8
jb 0x446fbe
mov edx, dword [esp + 0x40]
push edx
call fcn.0045a870
add esp, 4
cmp edi, dword [ebp + 8]
jb 0x446fc8
call fcn.00478a25
add edi, 4
jmp 0x446ec0
mov cx, bp
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
cmp eax, ebx
je 0x446f37
mov ebp, dword [esp + 0x18]
jmp 0x446f48
mov eax, dword [ecx + 0x14]
push str.CountryInfo
mov edi, 0xb
call fcn.0040e760
test eax, eax
jne 0x44718f
xor ebx, ebx
push ebx
push 0x4c49d0
push 0x4c49b8
push ebx
push ebp
call fcn.0047aa10
mov ebp, dword [eax + 0x14]
add esp, 0x14
cmp ebp, ebx
mov dword [esp + 0x18], ebp
je 0x44718f
mov esi, dword [ebp + 4]
cmp esi, dword [ebp + 8]
jbe 0x44703c
call fcn.00478a25
mov edi, esi
mov edi, edi
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
jbe 0x44704d
call fcn.00478a25
cmp edi, esi
je 0x44718f
cmp edi, dword [ebp + 8]
jb 0x44705f
call fcn.00478a25
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
cmp eax, ebx
je 0x44715e
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x447079
cmp esi, 4
mov edx, esi
jb 0x447085
mov edx, 4
cmp dword [eax + 0x18], 8
jb 0x447090
mov ecx, dword [eax + 4]
jmp 0x447093
lea ecx, [eax + 4]
cmp edx, ebx
mov eax, 0x4ad088
jbe 0x4470bb
lea esp, [esp]
mov bp, word [ecx]
cmp bp, word [eax]
jne 0x447170
add ecx, 2
add eax, 2
sub edx, 1
jne 0x4470a0
mov ebp, dword [esp + 0x18]
cmp esi, 4
jb 0x44715e
xor eax, eax
cmp esi, 4
setne al
cmp eax, ebx
jne 0x44715e
cmp edi, dword [ebp + 8]
jb 0x4470de
call fcn.00478a25
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
lea esi, [ecx + 2]
lea ecx, [ecx]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x447100
sub ecx, esi
sar ecx, 1
push ecx
push eax
lea esi, [esp + 0x28]
call fcn.00401c20
mov ecx, esi
mov esi, dword [esp + 0x68]
push ecx
add esi, 0x14
mov dword [esp + 0x64], 1
call fcn.00401650
mov dword [esp + 0x60], 0xffffffff
cmp dword [esp + 0x38], 8
jb 0x44714d
mov edx, dword [esp + 0x24]
push edx
call fcn.0045a870
add esp, 4
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
cmp edi, dword [ebp + 8]
jb 0x447168
call fcn.00478a25
add edi, 4
jmp 0x447040
mov cx, bp
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
cmp eax, ebx
je 0x4470b7
mov ebp, dword [esp + 0x18]
jmp 0x4470cc
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
add esi, 1
mov dword [esp + 0x1c], esi
call edx
cmp esi, eax
jb 0x446dfc
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 8