Function at 0x4474a0
Capabilities:
Get geographical location

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1b0], xmm6
mov rsi, rdx
mov r14d, ecx
xor r15d, r15d
test rsi, rsi
je 0x4474dd
mov rcx, rsi
call fcn.0043ee00
mov rdi, rax
jmp 0x4474df
xor edi, edi
mov rcx, qword [0x0046e600]
call fcn.00455f88
mov rax, qword [0x0046aed0]
test rax, rax
je 0x447503
lea rcx, [0x0046ae88]
cmp rax, rcx
jne 0x447535
lea rcx, [0x0046ae88]
xor r15d, r15d
cmp rax, rcx
sete bl
mov ecx, 1
mov edx, 0x48
call fcn.0043a600
mov qword [0x0046aed0], rax
test rax, rax
je 0x4475c5
mov r15b, bl
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x447552
call fcn.0043a620
mov rax, qword [0x0046aed0]
mov qword [rax + 0x38], 0
test rdi, rdi
je 0x44757b
cmp byte [rdi], 0
je 0x447588
lea rdx, [0x0045a323]
mov rcx, rsi
call fcn.0043eec0
test rax, rax
je 0x4475dc
mov dword [rdi], 0x554e45
jmp 0x4476d8
test r15d, r15d
je 0x4475ff
mov rcx, rax
jmp 0x447979
call sub.KERNEL32_GetUserDefaultLCID
mov esi, eax
lea rbx, [rbp - 0x60]
mov edx, 0xb
mov r9d, 7
mov ecx, esi
mov r8, rbx
call sub.KERNEL32_GetLocaleInfoA
mov rcx, rbx
call fcn.0044b840
mov rcx, qword [0x0046aed0]
mov dword [rcx], eax
mov dword [rcx + 8], 0
jmp 0x44799a
mov ecx, 0xe
call sub.KERNEL32_SetLastError
mov rcx, rdi
call fcn.0043a620
jmp 0x447a90
lea rdx, [0x0045a329]
mov rcx, rsi
call fcn.0043eec0
test rax, rax
je 0x4476a2
mov dword [rdi], 0x474e45
jmp 0x4476d8
movsx esi, r14w
test sil, 4
jne 0x447626
test sil, 0x10
jne 0x44763b
test sil, 0x20
jne 0x447654
test sil, 1
jne 0x44766d
test sil, 2
jne 0x44768a
jmp 0x4479ed
lea rdx, [0x0045a2f0]
mov rcx, rax
call fcn.00447fa0
test sil, 0x10
je 0x44760f
mov rcx, qword [0x0046aed0]
lea rdx, [0x0045a2fc]
call fcn.00447fa0
test sil, 0x20
je 0x447615
mov rcx, qword [0x0046aed0]
lea rdx, [0x0045a307]
call fcn.00447fa0
test sil, 1
je 0x44761b
mov rcx, qword [0x0046aed0]
lea rdx, [0x0045a30f]
call fcn.00447fa0
test sil, 2
je 0x4479ed
mov rcx, qword [0x0046aed0]
lea rdx, [0x0045a31a]
call fcn.00447fa0
jmp 0x4479ed
lea rdx, [0x0045a32f]
mov rcx, rsi
call fcn.0043eec0
test rax, rax
je 0x4476be
mov dword [rdi], 0x415246
jmp 0x4476d8
lea rdx, [0x0045a335]
mov rcx, rsi
call fcn.0043eec0
test rax, rax
je 0x4476f6
mov dword [rdi], 0x554544
mov edx, 0x2e
mov rcx, rsi
call fcn.0043fd30
test rax, rax
je 0x4476f6
lea rcx, [rdi + 3]
mov rdx, rax
call fcn.0043fc60
lea rdx, [0x0045a33b]
mov rcx, rsi
call fcn.0043fca0
test eax, eax
je 0x447972
cmp byte [rdi], 0x4c
jne 0x447949
cmp byte [rdi + 1], 0x43
jne 0x447949
cmp byte [rdi + 2], 0x5f
jne 0x447949
mov rcx, rdi
call fcn.0043a620
mov rcx, qword [0x0046e600]
call fcn.004560e8
mov rax, qword [0x0046aed0]
mov qword [rbp + 0x1a8], rax
mov rcx, qword [0x0046e600]
call fcn.00455f88
xorps xmm6, xmm6
movaps xmmword [rbp + 0x190], xmm6
movaps xmmword [rbp + 0x180], xmm6
movaps xmmword [rbp + 0x170], xmm6
movaps xmmword [rbp + 0x160], xmm6
movaps xmmword [rbp + 0x150], xmm6
movaps xmmword [rbp + 0x140], xmm6
movaps xmmword [rbp + 0x130], xmm6
movaps xmmword [rbp + 0x120], xmm6
movaps xmmword [rbp + 0x110], xmm6
movaps xmmword [rbp + 0x100], xmm6
movaps xmmword [rbp + 0xf0], xmm6
movaps xmmword [rbp + 0xe0], xmm6
movaps xmmword [rbp + 0xd0], xmm6
movaps xmmword [rbp + 0xc0], xmm6
movaps xmmword [rbp + 0xb0], xmm6
movaps xmmword [rbp + 0xa0], xmm6
xor eax, eax
lea r14, [rbp + 0xa0]
lea r15, [0x0045a30f]
xor r13d, r13d
jmp 0x447890
movaps xmmword [rbp + 0x190], xmm6
movaps xmmword [rbp + 0x180], xmm6
movaps xmmword [rbp + 0x170], xmm6
movaps xmmword [rbp + 0x160], xmm6
movaps xmmword [rbp + 0x150], xmm6
movaps xmmword [rbp + 0x140], xmm6
movaps xmmword [rbp + 0x130], xmm6
movaps xmmword [rbp + 0x120], xmm6
movaps xmmword [rbp + 0x110], xmm6
movaps xmmword [rbp + 0x100], xmm6
movaps xmmword [rbp + 0xf0], xmm6
movaps xmmword [rbp + 0xe0], xmm6
movaps xmmword [rbp + 0xd0], xmm6
movaps xmmword [rbp + 0xc0], xmm6
movaps xmmword [rbp + 0xb0], xmm6
movaps xmmword [rbp + 0xa0], xmm6
inc rsi
xor eax, eax
jmp 0x447890
lea rcx, [rbp - 0x60]
mov rdx, r14
call fcn.0043fc60
jmp 0x4477f0
movzx ecx, byte [rsi]
cmp cl, 0xa
je 0x447870
cmp cl, 0x3d
je 0x4478c0
test cl, cl
je 0x447b1f
movsxd rdx, eax
inc eax
mov byte [rbp + rdx + 0xa0], cl
inc rsi
jmp 0x447890
mov rcx, r14
lea rdx, [0x0045a31a]
call fcn.0043fca0
mov r12d, r13d
or r12d, 2
test eax, eax
cmovne r12w, r13w
mov rcx, r14
lea rdx, [0x0045a307]
call fcn.0043fca0
mov ebx, r12d
or ebx, 0x20
test eax, eax
cmovne bx, r12w
mov rcx, r14
lea rdx, [0x0045a2fc]
call fcn.0043fca0
mov edi, ebx
or edi, 0x10
test eax, eax
cmovne di, bx
mov rcx, r14
lea rdx, [0x0045a2f0]
call fcn.0043fca0
mov ebx, edi
or ebx, 4
test eax, eax
cmovne bx, di
mov rcx, r14
mov rdx, r15
call fcn.0043fca0
xor r13d, r13d
test eax, eax
sete r13b
or r13d, ebx
jmp 0x4477f0
mov rcx, qword [0x0046aed0]
mov dword [rcx + 8], 0
mov rdx, rdi
call fcn.00448120
mov esi, eax
test esi, esi
je 0x447abc
mov rcx, qword [0x0046aed0]
jmp 0x44799a
mov rcx, qword [0x0046aed0]
call fcn.00447bc0
mov rcx, qword [0x0046aed0]
call fcn.0043a620
lea rcx, [0x0046ae88]
mov qword [0x0046aed0], rcx
xor esi, esi
mov dword [rcx + 4], esi
mov rcx, rdi
call fcn.0043a620
mov rax, qword [0x0046aed0]
mov ecx, dword [rax + 4]
mov edx, 1
call sub.KERNEL32_IsValidLocale
test eax, eax
mov rax, qword [0x0046aed0]
jne 0x4479ce
cmp dword [rax + 8], 0
je 0x447a54
mov ecx, dword [rax + 4]
call sub.KERNEL32_SetThreadLocale
mov rcx, qword [0x0046aed0]
cmp dword [rcx + 8], 0
je 0x447a0e
mov dword [0x0046ac80], 1
call fcn.0044a0e0
mov rax, qword [0x0046aed0]
mov rsi, qword [rax + 0x38]
mov rcx, qword [0x0046e600]
call fcn.004560e8
jmp 0x447a9e
call fcn.00447bc0
mov rcx, qword [0x0046aed0]
mov edx, r14d
call fcn.004483a0
test eax, eax
je 0x447a5b
mov rax, qword [0x0046aed0]
mov ecx, dword [rax]
call fcn.0044e4f0
test eax, eax
je 0x447af1
mov rcx, qword [0x0046e600]
call fcn.004560e8
mov ecx, 0x20000106
call sub.KERNEL32_SetLastError
jmp 0x447a9c
mov ecx, 0x20000103
jmp 0x447a60
mov ecx, 0x20000102
call sub.KERNEL32_SetLastError
test r15d, r15d
je 0x447a90
mov rcx, qword [0x0046aed0]
call fcn.00447bc0
mov rcx, qword [0x0046aed0]
call fcn.0043a620
lea rax, [0x0046ae88]
mov qword [0x0046aed0], rax
mov rcx, qword [0x0046e600]
call fcn.004560e8
xor esi, esi
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x1b0]
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test r15d, r15d
je 0x447adb
mov rcx, qword [0x0046aed0]
call fcn.0043a620
lea rax, [0x0046ae88]
mov qword [0x0046aed0], rax
mov rcx, qword [0x0046e600]
call fcn.004560e8
mov rcx, rdi
call fcn.0043a620
jmp 0x447a9c
mov rax, qword [0x0046aed0]
mov ecx, dword [rax]
lea rdx, [rbp + 0xa0]
call sub.KERNEL32_GetCPInfo
test eax, eax
je 0x447a3c
mov eax, dword [rbp + 0xa0]
mov dword [0x0046ac80], eax
jmp 0x4479ed
lea rdx, [rbp - 0x60]
mov rsi, qword [rbp + 0x1a8]
mov rcx, rsi
call fcn.00448120
mov dword [rsi + 4], eax
mov edx, 1
mov ecx, eax
call sub.KERNEL32_IsValidLocale
test eax, eax
jne 0x447b4b
cmp dword [rsi + 8], 0
je 0x447b8c
mov rax, qword [0x0046aed0]
mov ecx, dword [rax + 4]
call sub.KERNEL32_SetThreadLocale
mov rcx, qword [0x0046aed0]
call fcn.00447bc0
mov rcx, qword [0x0046aed0]
mov edx, r13d
call fcn.004483a0
test eax, eax
jne 0x4479ed
mov ecx, 0x20000102
call sub.KERNEL32_SetLastError
jmp 0x447a90
mov ecx, 0x20000103
call sub.KERNEL32_SetLastError
jmp 0x447a90