Function at 0x1400d7670
Capabilities:
Get geographical location

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x340], rbx
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x1e8], rax
mov r14, rcx
mov qword [rbp - 0x70], rcx
mov dword [rsp + 0x58], 0
mov rcx, qword [rdx]
call fcn.1400e0e20
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400d76d5
jmp 0x1400d8a0b
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
mov r8d, 5
lea rdx, str.errno
lea rcx, [rbp + 0xe8]
call fcn.14000c230
nop
mov rdi, 0xffffffffffffffff
mov r8d, edi
lea rdx, [rbp + 0xe8]
mov rcx, rbx
call fcn.1400e2380
mov esi, eax
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x1400d7762
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d775d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a3f
call fcn.140171af0
test esi, esi
je 0x1400d776e
mov rcx, rbx
jmp 0x1400d8a06
lea rdx, [0x1402eb968]
mov rcx, rbx
call fcn.1400e0d50
mov r15, rax
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1400d7766
lea rdx, [0x1403062e8]
mov rcx, rax
call fcn.1400e0d50
mov rsi, rax
test rax, rax
je 0x1400d7766
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8a45
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea r12, [0x1402ec198]
cmp r12, 0x10000
jae 0x1400d77e0
movzx edx, r12w
lea rcx, [rsp + 0x60]
call fcn.14000b690
jmp 0x1400d77ff
mov rax, rdi
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400d77e3
mov r8d, eax
mov rdx, r12
lea rcx, [rsp + 0x60]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
mov r8d, 9
lea rdx, str.condition
lea rcx, [rbp - 0x18]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x18]
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1400e2490
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x1400d7881
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d787c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a50
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d78b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x30]
cmp dword [rax - 0x10], 0
jne 0x1400d78db
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400d8a01
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400d8a01
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x118], xmm0
mov byte [rbp + 0x108], 0
mov r8d, 8
lea rdx, str.temp_min
lea rcx, [rbp + 0x108]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x108]
mov rcx, rsi
call fcn.1400e2380
mov dword [rbp - 0x4c], eax
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x1400d7962
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d795d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a56
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x138], xmm0
mov byte [rbp + 0x128], 0
mov r8d, 8
lea rdx, str.temp_max
lea rcx, [rbp + 0x128]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x128]
mov rcx, rsi
call fcn.1400e2380
mov dword [rbp - 0x50], eax
mov rdx, qword [rbp + 0x140]
cmp rdx, 0x10
jb 0x1400d79e9
inc rdx
mov rcx, qword [rbp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d79e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a5c
call fcn.140171af0
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8a62
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rsp + 0x68], rax
cmp r12, 0x10000
jae 0x1400d7a22
movzx edx, r12w
lea rcx, [rsp + 0x68]
call fcn.14000b690
jmp 0x1400d7a41
mov rax, rdi
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400d7a25
mov r8d, eax
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov r8d, 7
lea rdx, str.iconUrl
lea rcx, [rbp + 8]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rsp + 0x68]
lea r8, [rbp + 8]
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.1400e2490
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x1400d7ac3
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7abe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a6d
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7af2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x38]
cmp dword [rax - 0x10], 0
jne 0x1400d7b3c
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7b17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400d8a01
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400d8a01
lea rdx, str.forecast
mov rcx, r15
call fcn.1400e0d50
mov rsi, rax
test rax, rax
jne 0x1400d7b5e
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
jmp 0x1400d7b01
xor edx, edx
mov rcx, rsi
call fcn.1400e0d10
mov rbx, rax
test rax, rax
je 0x1400d7b53
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8a73
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rsp + 0x70], rax
cmp r12, 0x10000
jae 0x1400d7ba9
movzx edx, r12w
lea rcx, [rsp + 0x70]
call fcn.14000b690
jmp 0x1400d7bcc
mov rax, rdi
nop dword [rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400d7bb0
mov r8d, eax
mov rdx, r12
lea rcx, [rsp + 0x70]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
mov r8d, 9
lea rdx, str.condition
lea rcx, [rbp + 0x28]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rsp + 0x70]
lea r8, [rbp + 0x28]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1400e2490
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1400d7c4e
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7c49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a7e
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7c7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
jne 0x1400d7caa
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7b53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400d7b53
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x158], xmm0
mov byte [rbp + 0x148], 0
mov r8d, 8
lea rdx, str.temp_min
lea rcx, [rbp + 0x148]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x148]
mov rcx, rbx
call fcn.1400e2380
mov dword [rbp - 0x48], eax
mov rdx, qword [rbp + 0x160]
cmp rdx, 0x10
jb 0x1400d7d31
inc rdx
mov rcx, qword [rbp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7d2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a84
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x178], xmm0
mov byte [rbp + 0x168], 0
mov r8d, 8
lea rdx, str.temp_max
lea rcx, [rbp + 0x168]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x168]
mov rcx, rbx
call fcn.1400e2380
mov r13d, eax
mov rdx, qword [rbp + 0x180]
cmp rdx, 0x10
jb 0x1400d7db8
inc rdx
mov rcx, qword [rbp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7db3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a8a
call fcn.140171af0
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8a90
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rsp + 0x78], rax
cmp r12, 0x10000
jae 0x1400d7df1
movzx edx, r12w
lea rcx, [rsp + 0x78]
call fcn.14000b690
jmp 0x1400d7e10
mov rax, rdi
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400d7df4
mov r8d, eax
mov rdx, r12
lea rcx, [rsp + 0x78]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x58], xmm0
mov byte [rbp + 0x48], 0
mov r8d, 7
lea rdx, str.iconUrl
lea rcx, [rbp + 0x48]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rsp + 0x78]
lea r8, [rbp + 0x48]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1400e2490
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x1400d7e92
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7e8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a9b
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x58], xmm0
mov byte [rbp + 0x48], 0
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7ec1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x1400d7ef4
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d7ee6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
jmp 0x1400d7c8c
mov edx, 1
mov rcx, rsi
call fcn.1400e0d10
mov rbx, rax
test rax, rax
jne 0x1400d7f14
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
jmp 0x1400d7ed0
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8aa1
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rbp - 0x80], rax
cmp r12, 0x10000
jae 0x1400d7f4b
movzx edx, r12w
lea rcx, [rbp - 0x80]
call fcn.14000b690
jmp 0x1400d7f6b
mov rax, rdi
nop
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400d7f50
mov r8d, eax
mov rdx, r12
lea rcx, [rbp - 0x80]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x78], xmm0
mov byte [rbp + 0x68], 0
mov r8d, 9
lea rdx, str.condition
lea rcx, [rbp + 0x68]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x68]
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.1400e2490
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x1400d7fee
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d7fe9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8aac
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x78], xmm0
mov byte [rbp + 0x68], 0
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d801c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp - 0x58]
cmp dword [rax - 0x10], 0
jne 0x1400d804e
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d8040
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
jmp 0x1400d7ed0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x198], xmm0
mov byte [rbp + 0x188], 0
mov r8d, 8
lea rdx, str.temp_min
lea rcx, [rbp + 0x188]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x188]
mov rcx, rbx
call fcn.1400e2380
mov r12d, eax
mov rdx, qword [rbp + 0x1a0]
cmp rdx, 0x10
jb 0x1400d80d5
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d80d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8ab2
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x1b8], xmm0
mov byte [rbp + 0x1a8], 0
mov r8d, 8
lea rdx, str.temp_max
lea rcx, [rbp + 0x1a8]
call fcn.14000c230
nop
xor r8d, r8d
lea rdx, [rbp + 0x1a8]
mov rcx, rbx
call fcn.1400e2380
mov r15d, eax
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0x10
jb 0x1400d815c
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d8157
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8ab8
call fcn.140171af0
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8abe
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, [0x1402ec198]
cmp rdx, 0x10000
jae 0x1400d8199
movzx edx, dx
lea rcx, [rbp - 0x78]
call fcn.14000b690
jmp 0x1400d81b7
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400d81a0
mov r8d, eax
lea rcx, [rbp - 0x78]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x98], xmm0
mov byte [rbp + 0x88], 0
mov r8d, 7
lea rdx, str.iconUrl
lea rcx, [rbp + 0x88]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rbp - 0x78]
lea r8, [rbp + 0x88]
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.1400e2490
nop
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0x10
jb 0x1400d8249
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d8244
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8ac9
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x98], xmm0
mov byte [rbp + 0x88], 0
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d827d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp - 0x40]
cmp dword [rax - 0x10], 0
jne 0x1400d82ae
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d82a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
jmp 0x1400d802a
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0x1d8], xmm0
mov byte [rbp + 0x1c8], 0
mov r8d, 8
lea rdx, str.cityCode
lea rcx, [rbp + 0x1c8]
call fcn.14000c230
nop
mov r8d, edi
lea rdx, [rbp + 0x1c8]
mov rcx, qword [rbp - 0x38]
call fcn.1400e2380
mov ebx, eax
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 0x10
jb 0x1400d8335
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d8330
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8acf
call fcn.140171af0
cmp ebx, 0xffffffff
je 0x1400d834d
lea rcx, [r14 + 0x10]
mov r8d, ebx
lea rdx, [0x1402f6018]
call fcn.14000b080
lea rsi, [r14 + 0x58]
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsi]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d83ae
cmp dword [rbx + 0x10], 0
jl 0x1400d83a2
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d83a2
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d8395
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [rsi], rax
mov r14, qword [rbp - 0x70]
jmp 0x1400d83ae
mov r8d, dword [rdx - 0x10]
mov rcx, rsi
call fcn.140010860
lea rcx, [r14 + 0x60]
mov r9d, dword [rbp - 0x50]
mov r8d, dword [rbp - 0x4c]
lea rdx, str._d_d
call fcn.14000b080
lea rsi, [r14 + 0x68]
mov rdx, qword [rsp + 0x38]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsi]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d8427
cmp dword [rbx + 0x10], 0
jl 0x1400d841b
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d841b
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d840e
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [rsi], rax
mov r14, qword [rbp - 0x70]
jmp 0x1400d8427
mov r8d, dword [rdx - 0x10]
mov rcx, rsi
call fcn.140010860
lea rsi, [r14 + 0x70]
mov rdx, qword [rsp + 0x48]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsi]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d8488
cmp dword [rbx + 0x10], 0
jl 0x1400d847c
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d847c
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d846f
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [rsi], rax
mov r14, qword [rbp - 0x70]
jmp 0x1400d8488
mov r8d, dword [rdx - 0x10]
mov rcx, rsi
call fcn.140010860
lea rcx, [r14 + 0x78]
mov r9d, r13d
mov r8d, dword [rbp - 0x48]
lea rdx, str._d_d
call fcn.14000b080
mov r13, qword [rbp - 0x70]
mov rdx, qword [rsp + 0x50]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13 + 0x80]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d8508
cmp dword [rbx + 0x10], 0
jl 0x1400d84f8
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d84f8
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d84eb
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [r13 + 0x80], rax
jmp 0x1400d8508
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x80]
call fcn.140010860
mov rdx, qword [rbp - 0x58]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13 + 0x88]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d856c
cmp dword [rbx + 0x10], 0
jl 0x1400d855c
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d855c
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d854f
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [r13 + 0x88], rax
jmp 0x1400d856c
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x88]
call fcn.140010860
lea rcx, [r13 + 0x90]
mov r9d, r15d
mov r8d, r12d
lea rdx, str._d_d
call fcn.14000b080
mov rdx, qword [rbp - 0x40]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13 + 0x98]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d85e9
cmp dword [rbx + 0x10], 0
jl 0x1400d85d9
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d85d9
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d85cc
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [r13 + 0x98], rax
jmp 0x1400d85e9
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x98]
call fcn.140010860
mov dword [rsp + 0x58], 1
lea rdx, str.addr
mov rcx, qword [rbp - 0x38]
call fcn.1400e0d50
mov r14, rax
test rax, rax
je 0x1400d894a
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8ad5
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rsi, [0x1402ec198]
cmp rsi, 0x10000
jae 0x1400d864a
movzx edx, si
lea rcx, [rbp - 0x68]
call fcn.14000b690
jmp 0x1400d866a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400d8650
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x68]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
mov r8d, 8
lea rdx, str.province
lea rcx, [rbp + 0xa8]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa8]
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.1400e2490
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d871c
cmp dword [rbx + 0x10], 0
jl 0x1400d870f
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d870f
call fcn.14000ae30
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d86fe
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [r13], rax
lea rsi, [0x1402ec198]
jmp 0x1400d871c
mov r8d, dword [rdx - 0x10]
mov rcx, r13
call fcn.140010860
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d873a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x1400d877b
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d8776
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8ae0
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d87af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x1400d8ae6
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
add rax, 0x18
mov qword [rbp - 0x60], rax
cmp rsi, 0x10000
jae 0x1400d87e5
movzx edx, si
lea rcx, [rbp - 0x60]
call fcn.14000b690
jmp 0x1400d880a
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400d87f0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.140010860
nop
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0xd8], xmm0
mov byte [rbp + 0xc8], 0
mov r8d, 4
lea rdx, str.city
lea rcx, [rbp + 0xc8]
call fcn.14000c230
nop
mov dword [rsp + 0x20], 0xfde9
lea r9, [rbp - 0x60]
lea r8, [rbp + 0xc8]
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.1400e2490
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [r13 + 8]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400d88b6
cmp dword [rbx + 0x10], 0
jl 0x1400d88a8
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d88a8
call fcn.14000ae30
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d889e
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [r13 + 8], rax
jmp 0x1400d88b6
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 8]
call fcn.140010860
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d88d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0x10
jb 0x1400d8915
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d8910
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d8a39
call fcn.140171af0
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp + 0xd8], xmm0
mov byte [rbp + 0xc8], 0
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d894a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d8968
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d8986
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d89a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d89c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d89e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400d8a01
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rcx, qword [rsp + 0x40]
call fcn.1400e0c40
mov eax, dword [rsp + 0x58]
mov rcx, qword [rbp + 0x1e8]
xor rcx, rsp
call fcn.140172190
mov rbx, qword [rsp + 0x340]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14028c66c
nop
call fcn.14028c66c
int3
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
call fcn.14028c66c
int3
call fcn.14028c66c
int3
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
call fcn.14028c66c
int3
call fcn.14028c66c
int3
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
call fcn.14028c66c
int3
call fcn.14028c66c
int3
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
call fcn.14028c66c
int3
mov ecx, 0x80004005
call fcn.14000adf0
nop
call fcn.14028c66c
nop
mov ecx, 0x80004005
call fcn.14000adf0
int3