Function at 0x14008b90c
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x2f0
mov qword [rbp + 0x178], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rsi, rdx
mov rdi, rcx
xor r12d, r12d
mov dword [rbp + 0x230], r12d
mov rax, qword [0x140174018]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], r12
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.1400720c8
nop
lea r8, [0x1401216c0]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1400680f0
nop
mov rcx, qword [rbp + 0x10]
add rcx, 0xfffffffffffffff4
or r13d, 0xffffffff
cmp rcx, qword [0x140174010]
je 0x14008b9b3
mov eax, r13d
lock xadd dword [rcx], eax
add eax, r13d
test eax, eax
jg 0x14008b9b3
mov rcx, qword [rbp + 0x10]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
mov rax, qword [0x140174018]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
lea rcx, [rbp + 0x180]
call fcn.140021d30
nop
mov qword [rbp + 0x248], r12
mov rax, qword [0x140174018]
mov qword [rbp + 0x240], rax
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x68], r12d
lea r9, str.DescXML
lea r8, str.DetailDlg
mov rdx, qword [rdi + 0x18]
lea rcx, [rbp + 0x20]
call fcn.140069468
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.140067f7c
nop
mov rcx, qword [rbp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008ba54
mov eax, r13d
lock xadd dword [rcx], eax
add eax, r13d
test eax, eax
jg 0x14008ba54
mov rcx, qword [rbp + 0x20]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
lea rcx, str.crashrpt.xml
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, str.crashrpt.xml
mov edx, eax
lea rcx, [rbp + 0x50]
call fcn.1400670f0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x58]
call fcn.140067f7c
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x70]
call fcn.140067f7c
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.140070734
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14008bac2
lea rdx, [0x140121790]
mov rcx, rax
call fcn.140021638
mov r14, rax
jmp 0x14008bac5
mov r14, r12
mov rdx, r14
lea rcx, [rbp + 0x180]
call fcn.140021074
mov r8d, 0x57b
lea rdx, [0x140121490]
lea rcx, [rbp - 0x18]
call fcn.14006895c
mov rdx, qword [rbp - 0x18]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov rbx, rax
test r14, r14
je 0x14008bb19
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
test rax, rax
je 0x14008bb19
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
jmp 0x14008bb1c
mov rax, r12
mov r8, rbx
lea rdx, str.version
mov rcx, rax
call fcn.1400219cc
mov ecx, 0x68
call fcn.1400b01ec
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14008bb61
lea r9, [0x14014df99]
lea r8, [0x14014e418]
lea rdx, [0x1401242bc]
mov rcx, rax
call fcn.1400229c8
jmp 0x14008bb64
mov rax, r12
mov r8, rax
mov rdx, r14
lea rcx, [rbp + 0x180]
call fcn.140021154
lea rax, [rbp + 0x100]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x100]
mov rcx, rsi
call fcn.140071cdc
mov rbx, rax
lea rdx, [0x1401242c0]
lea rcx, [rbp + 0x148]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x150]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x150]
mov rcx, rsi
call fcn.140071c24
mov rbx, rax
lea rdx, str.AppName
lea rcx, [rbp + 0x158]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x160]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x160]
mov rcx, rsi
call fcn.140071c80
mov rbx, rax
lea rdx, str.AppVersion
lea rcx, [rbp + 0x168]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x170]
mov rcx, rsi
call fcn.1400724bc
mov rbx, rax
lea rdx, str.ImageName
lea rcx, [rbp + 0x78]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x80]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x80]
mov rcx, rsi
call fcn.140072644
mov rbx, rax
lea rdx, str.OperatingSystem
lea rcx, [rbp + 0x88]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rcx, rsi
call fcn.140073280
mov r8d, eax
lea r15, [0x140121490]
mov rdx, r15
lea rcx, [rbp + 0x28]
call fcn.14006895c
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov rbx, qword [rbp + 0x28]
lea rax, [rbx - 0xc]
mov qword [rsp + 0x38], rax
cmp dword [rax], r12d
jl 0x14008bd06
mov qword [rsp + 0x68], rbx
lock inc dword [rax]
jmp 0x14008bd2b
mov rax, qword [0x140174018]
mov qword [rsp + 0x68], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.1400670f0
nop
lea rdx, str.OSIs64Bit
lea rcx, [rbp + 0x90]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rsp + 0x68]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x98]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.140072454
mov rbx, rax
lea rdx, str.GeoLocation
lea rcx, [rbp + 0xa0]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0xa8]
mov rcx, rsi
call fcn.140072a68
mov rbx, rax
lea rdx, str.SystemTimeUTC
lea rcx, [rbp + 0xb0]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rcx, rsi
call fcn.140072124
test rax, rax
je 0x14008bf8f
mov rcx, rsi
call fcn.140072124
mov r8, rax
lea rdx, str.0x_I64x
lea rcx, [rbp + 0x240]
call fcn.14006895c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rbx, qword [rbp + 0x240]
cmp dword [rbx - 0xc], r12d
jl 0x14008be29
mov qword [rsp + 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x14008be4e
mov rax, qword [0x140174018]
mov qword [rsp + 0x70], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.1400670f0
nop
lea rdx, str.ExceptionAddress
lea rcx, [rbp + 0xb8]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rsp + 0x70]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.14007212c
mov rbx, rax
lea rdx, str.ExceptionModule
lea rcx, [rbp + 0xc8]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rcx, rsi
call fcn.140072188
mov r8, rax
lea rdx, str.0x_I64x
lea rcx, [rbp + 0x240]
call fcn.14006895c
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov rbx, qword [rbp + 0x240]
cmp dword [rbx - 0xc], r12d
jl 0x14008bef8
mov qword [rsp + 0x78], rbx
lock inc dword [rbx - 0xc]
jmp 0x14008bf25
mov rax, qword [0x140174018]
mov qword [rsp + 0x78], rax
mov rcx, qword [rbp + 0x240]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rbp + 0x240]
mov edx, eax
lea rcx, [rsp + 0x78]
call fcn.1400670f0
nop
lea rdx, str.ExceptionModuleBase
lea rcx, [rbp + 0xd0]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rsp + 0x78]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0xd8]
mov rcx, rsi
call fcn.140072190
mov rbx, rax
lea rdx, str.ExceptionModuleVersion
lea rcx, [rbp + 0xe0]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov r8d, dword [rdi + 0x130]
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.14006895c
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp + 0x30]
lea rax, [rbx - 0xc]
mov qword [rsp + 0x30], rax
cmp dword [rax], r12d
jl 0x14008bfc6
mov qword [rbp - 0x80], rbx
lock inc dword [rax]
jmp 0x14008bfe9
mov rax, qword [0x140174018]
mov qword [rbp - 0x80], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1400670f0
nop
lea rdx, str.ExceptionType
lea rcx, [rbp + 0xe8]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x80]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov eax, dword [rdi + 0x130]
test eax, eax
jne 0x14008c0aa
mov rax, qword [0x140174018]
mov qword [rbp + 0x38], rax
mov r8d, dword [rdi + 0x134]
mov rdx, r15
lea rcx, [rbp + 0x38]
call fcn.14006895c
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp + 0x38]
lea r15, [rbx - 0xc]
cmp dword [r15], r12d
jl 0x14008c05b
mov qword [rbp - 0x78], rbx
lock inc dword [r15]
jmp 0x14008c07e
mov rax, qword [0x140174018]
mov qword [rbp - 0x78], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x78]
call fcn.1400670f0
nop
lea rdx, str.ExceptionCode
lea rcx, [rbp + 0xf0]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x78]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
nop
jmp 0x14008c32a
cmp eax, 8
jne 0x14008c140
mov rax, qword [0x140174018]
mov qword [rbp + 0x40], rax
mov r8d, dword [rdi + 0x138]
mov rdx, r15
lea rcx, [rbp + 0x40]
call fcn.14006895c
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp + 0x40]
lea r15, [rbx - 0xc]
cmp dword [r15], r12d
jl 0x14008c0f1
mov qword [rbp - 0x70], rbx
lock inc dword [r15]
jmp 0x14008c114
mov rax, qword [0x140174018]
mov qword [rbp - 0x70], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x70]
call fcn.1400670f0
nop
lea rdx, str.FPESubcode
lea rcx, [rbp + 0xf8]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x70]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
nop
jmp 0x14008c32a
cmp eax, 6
jne 0x14008c34a
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov rbx, qword [rdi + 0x140]
cmp dword [rbx - 0xc], r12d
jl 0x14008c169
mov qword [rbp - 0x68], rbx
lock inc dword [rbx - 0xc]
jmp 0x14008c196
mov rax, qword [0x140174018]
mov qword [rbp - 0x68], rax
test rbx, rbx
jne 0x14008c17e
mov eax, r12d
jmp 0x14008c187
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x68]
call fcn.1400670f0
nop
lea rdx, str.InvParamExpression
lea rcx, [rbp + 0x140]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x68]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov rbx, qword [rdi + 0x148]
cmp dword [rbx - 0xc], r12d
jl 0x14008c1dc
mov qword [rbp - 0x60], rbx
lock inc dword [rbx - 0xc]
jmp 0x14008c209
mov rax, qword [0x140174018]
mov qword [rbp - 0x60], rax
test rbx, rbx
jne 0x14008c1f1
mov eax, r12d
jmp 0x14008c1fa
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x60]
call fcn.1400670f0
nop
lea rdx, str.InvParamFunction
lea rcx, [rbp + 0x108]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x60]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov rbx, qword [rdi + 0x150]
cmp dword [rbx - 0xc], r12d
jl 0x14008c24f
mov qword [rbp - 0x58], rbx
lock inc dword [rbx - 0xc]
jmp 0x14008c27c
mov rax, qword [0x140174018]
mov qword [rbp - 0x58], rax
test rbx, rbx
jne 0x14008c264
mov eax, r12d
jmp 0x14008c26d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x58]
call fcn.1400670f0
nop
lea rdx, str.InvParamFile
lea rcx, [rbp + 0x110]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x58]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rax, qword [0x140174018]
mov qword [rbp + 0x48], rax
mov r8d, dword [rdi + 0x158]
mov rdx, r15
lea rcx, [rbp + 0x48]
call fcn.14006895c
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp + 0x48]
lea r15, [rbx - 0xc]
cmp dword [r15], r12d
jl 0x14008c2e0
mov qword [rbp - 0x50], rbx
lock inc dword [r15]
jmp 0x14008c303
mov rax, qword [0x140174018]
mov qword [rbp - 0x50], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.1400670f0
nop
lea rdx, str.InvParamLine
lea rcx, [rbp + 0x118]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x50]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
nop
cmp r15, qword [0x140174010]
je 0x14008c34a
mov eax, r13d
lock xadd dword [r15], eax
add eax, r13d
test eax, eax
jg 0x14008c34a
mov rcx, r15
call fcn.1400b0230
mov rax, qword [0x140174018]
mov qword [rbp - 8], rax
mov rcx, rsi
call fcn.1400724b8
mov r8d, eax
lea rdx, [0x140121490]
lea rcx, [rbp - 8]
call fcn.14006895c
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp - 8]
lea r13, [rbx - 0xc]
mov qword [rbp + 0x18], r13
cmp dword [r13], r12d
jl 0x14008c396
mov qword [rbp - 0x48], rbx
lock inc dword [r13]
jmp 0x14008c3b9
mov rax, qword [0x140174018]
mov qword [rbp - 0x48], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x48]
call fcn.1400670f0
nop
lea rdx, str.GUIResourceCount
lea rcx, [rbp + 0x120]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x48]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rax, qword [0x140174018]
mov qword [rbp], rax
mov rcx, rsi
call fcn.140072730
mov r8d, eax
lea rdx, [0x140121490]
lea rcx, [rbp]
call fcn.14006895c
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov rbx, qword [rbp]
lea rax, [rbx - 0xc]
mov qword [rsp + 0x28], rax
cmp dword [rax], r12d
jl 0x14008c429
mov qword [rbp - 0x40], rbx
lock inc dword [rax]
jmp 0x14008c44c
mov rax, qword [0x140174018]
mov qword [rbp - 0x40], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.1400670f0
nop
lea rdx, str.OpenHandleCount
lea rcx, [rbp + 0x128]
call fcn.140067e3c
nop
mov r9, r14
lea r8, [rbp - 0x40]
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.1400725e8
mov rbx, rax
lea rdx, str.MemoryUsageKbytes
lea rcx, [rbp + 0x138]
call fcn.140067e3c
nop
mov r9, r14
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400898a0
mov rcx, rsi
call fcn.1400729f8
cmp dword [rax], r12d
je 0x14008cd01
mov ebx, 0x90
mov ecx, ebx
call fcn.1400b01ec
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14008c4f0
lea rdx, str.ScreenshotInfo
mov rcx, rax
call fcn.140021638
mov rdi, rax
jmp 0x14008c4f3
mov rdi, r12
mov rdx, rdi
mov rcx, r14
call fcn.140021074
mov rcx, rbx
call fcn.1400b01ec
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14008c524
lea rdx, str.VirtualScreen
mov rcx, rax
call fcn.140021638
mov rbx, rax
jmp 0x14008c527
mov rbx, r12
mov rcx, rsi
call fcn.1400729f8
mov r8d, dword [rax + 0x10]
lea r13, [0x140121490]
mov rdx, r13
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r15, rax
test rbx, rbx
je 0x14008c57b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c57b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c57e
mov rax, r12
mov r8, r15
lea rdx, str.left
mov rcx, rax
call fcn.1400219cc
mov rcx, rsi
call fcn.1400729f8
mov r8d, dword [rax + 0x14]
mov rdx, r13
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r15, rax
test rbx, rbx
je 0x14008c5dd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c5dd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c5e0
mov rax, r12
mov r8, r15
lea rdx, [0x1401245b8]
mov rcx, rax
call fcn.1400219cc
mov rcx, rsi
call fcn.1400729f8
mov r8d, dword [rax + 0x18]
sub r8d, dword [rax + 0x10]
mov rdx, r13
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r15, rax
test rbx, rbx
je 0x14008c643
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c643
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c646
mov rax, r12
mov r8, r15
lea rdx, str.width
mov rcx, rax
call fcn.1400219cc
mov rcx, rsi
call fcn.1400729f8
mov r8d, dword [rax + 0x1c]
sub r8d, dword [rax + 0x14]
mov rdx, r13
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r15, rax
test rbx, rbx
je 0x14008c6a9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c6a9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c6ac
mov rax, r12
mov r8, r15
lea rdx, str.height
mov rcx, rax
call fcn.1400219cc
mov rdx, rbx
mov rcx, rdi
call fcn.140021074
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14008c6f1
lea rdx, str.Monitors
mov rcx, rax
call fcn.140021638
mov r13, rax
jmp 0x14008c6f4
mov r13, r12
test rdi, rdi
je 0x14008c712
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x14008c712
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14008c715
mov rax, r12
mov rdx, r13
mov rcx, rax
call fcn.140021074
mov qword [rbp - 0x10], r12
mov rcx, rsi
call fcn.1400729f8
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
sar rcx, 5
test rcx, rcx
je 0x14008ca22
mov rcx, rsi
call fcn.1400729f8
mov r15, qword [rax + 0x20]
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008c775
lea rdx, str.Monitor
mov rcx, rax
call fcn.140021638
mov rbx, rax
jmp 0x14008c777
xor ebx, ebx
mov r8d, dword [r12 + r15 + 8]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008c7c3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c7c3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c7c5
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.left
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [r12 + r15 + 0xc]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008c825
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c825
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c827
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, [0x1401245b8]
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [r12 + r15 + 0x10]
sub r8d, dword [r12 + r15 + 8]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008c88c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c88c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c88e
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.width
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [r12 + r15 + 0x14]
sub r8d, dword [r12 + r15 + 0xc]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008c8f3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c8f3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c8f5
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.height
mov rcx, rax
call fcn.1400219cc
mov r15, qword [r12 + r15 + 0x18]
cmp dword [r15 - 0xc], 0
jl 0x14008c920
mov qword [rbp - 0x38], r15
lock inc dword [r15 - 0xc]
jmp 0x14008c94b
mov rax, qword [0x140174018]
mov qword [rbp - 0x38], rax
test r15, r15
jne 0x14008c934
xor eax, eax
jmp 0x14008c93d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, r15
mov edx, eax
lea rcx, [rbp - 0x38]
call fcn.1400670f0
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 8]
call fcn.1400691e8
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r15, rax
test rbx, rbx
je 0x14008c987
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008c987
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008c989
xor eax, eax
mov r8, r15
lea rdx, str.file
mov rcx, rax
call fcn.1400219cc
nop
mov rcx, qword [rbp + 8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008c9c6
or eax, 0xffffffff
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14008c9c6
mov rcx, qword [rbp + 8]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
test r13, r13
je 0x14008c9e6
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x28]
test rax, rax
je 0x14008c9e6
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x28]
jmp 0x14008c9e8
xor eax, eax
mov rdx, rbx
mov rcx, rax
call fcn.140021074
mov rbx, qword [rbp - 0x10]
inc rbx
mov qword [rbp - 0x10], rbx
add r12, 0x20
mov rcx, rsi
call fcn.1400729f8
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
sar rcx, 5
cmp rbx, rcx
jb 0x14008c741
xor r12d, r12d
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008ca4a
lea rdx, str.Windows
mov rcx, rax
call fcn.140021638
mov r15, rax
jmp 0x14008ca4d
mov r15, r12
test rdi, rdi
je 0x14008ca6b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x14008ca6b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14008ca6e
mov rax, r12
mov rdx, r15
mov rcx, rax
call fcn.140021074
mov r13, r12
mov rcx, rsi
call fcn.1400729f8
mov rcx, rax
mov rax, qword [rax + 0x40]
sub rax, qword [rcx + 0x38]
sar rax, 5
test rax, rax
je 0x14008ccfd
mov rdi, r12
mov rcx, rsi
call fcn.1400729f8
mov r12, qword [rax + 0x38]
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008cad3
lea rdx, str.Window
mov rcx, rax
call fcn.140021638
mov rbx, rax
jmp 0x14008cad5
xor ebx, ebx
mov r8d, dword [rdi + r12 + 8]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008cb21
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cb21
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cb23
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.left
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [rdi + r12 + 0xc]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008cb83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cb83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cb85
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, [0x1401245b8]
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [rdi + r12 + 0x10]
sub r8d, dword [rdi + r12 + 8]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008cbea
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cbea
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cbec
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.width
mov rcx, rax
call fcn.1400219cc
mov r8d, dword [rdi + r12 + 0x14]
sub r8d, dword [rdi + r12 + 0xc]
lea rdx, [0x140121490]
lea rcx, [rbp + 0x240]
call fcn.14006895c
mov rdx, qword [rbp + 0x240]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14008cc51
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cc51
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cc53
xor eax, eax
mov r8, qword [rsp + 0x20]
lea rdx, str.height
mov rcx, rax
call fcn.1400219cc
mov rdx, qword [rdi + r12]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r12, rax
test rbx, rbx
je 0x14008cc96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cc96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cc98
xor eax, eax
mov r8, r12
lea rdx, str.title
mov rcx, rax
call fcn.1400219cc
xor r12d, r12d
test r15, r15
je 0x14008cccb
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
test rax, rax
je 0x14008cccb
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
jmp 0x14008ccce
mov rax, r12
mov rdx, rbx
mov rcx, rax
call fcn.140021074
inc r13
add rdi, 0x20
mov rcx, rsi
call fcn.1400729f8
mov rcx, qword [rax + 0x40]
sub rcx, qword [rax + 0x38]
sar rcx, 5
cmp r13, rcx
jb 0x14008ca9f
mov r13, qword [rbp + 0x18]
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008cd29
lea rdx, str.CustomProps
mov rcx, rax
call fcn.140021638
mov rdi, rax
jmp 0x14008cd2c
mov rdi, r12
mov rdx, rdi
mov rcx, r14
call fcn.140021074
mov r15d, r12d
mov rcx, rsi
call fcn.1400727f8
test eax, eax
jle 0x14008ceb6
mov rax, qword [0x140174018]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], rax
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x28]
mov edx, r15d
mov rcx, rsi
call fcn.140072734
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008cd94
lea rdx, str.Prop
mov rcx, rax
call fcn.140021638
mov rbx, rax
jmp 0x14008cd97
mov rbx, r12
mov rdx, qword [rbp - 0x28]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r12, rax
test rbx, rbx
je 0x14008cdc6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cdc6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cdc8
xor eax, eax
mov r8, r12
lea rdx, str.name
mov rcx, rax
call fcn.1400219cc
mov rdx, qword [rbp - 0x30]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r12, rax
test rbx, rbx
je 0x14008ce09
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008ce09
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008ce0b
xor eax, eax
mov r8, r12
lea rdx, str.value
mov rcx, rax
call fcn.1400219cc
xor r12d, r12d
test rdi, rdi
je 0x14008ce3e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x14008ce3e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14008ce41
mov rax, r12
mov rdx, rbx
mov rcx, rax
call fcn.140021074
nop
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008ce78
or eax, 0xffffffff
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14008ce78
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
nop
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008cea2
or eax, 0xffffffff
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14008cea2
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
inc r15d
mov rcx, rsi
call fcn.1400727f8
cmp r15d, eax
jl 0x14008cd4a
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008cede
lea rdx, str.FileList
mov rcx, rax
call fcn.140021638
mov rdi, rax
jmp 0x14008cee1
mov rdi, r12
mov rdx, rdi
mov rcx, r14
call fcn.140021074
mov r15d, r12d
mov rcx, rsi
call fcn.1400723dc
test eax, eax
jle 0x14008d087
mov edx, r15d
mov rcx, rsi
call fcn.140072304
mov r14, rax
mov ecx, 0x90
call fcn.1400b01ec
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14008cf35
lea rdx, str.FileItem
mov rcx, rax
call fcn.140021638
mov rbx, rax
jmp 0x14008cf38
mov rbx, r12
mov rdx, qword [r14]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r12, rax
test rbx, rbx
je 0x14008cf66
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cf66
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cf68
xor eax, eax
mov r8, r12
lea rdx, str.name
mov rcx, rax
call fcn.1400219cc
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r12, rax
test rbx, rbx
je 0x14008cfa9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cfa9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cfab
xor eax, eax
mov r8, r12
lea rdx, [0x140121750]
mov rcx, rax
call fcn.1400219cc
xor r12d, r12d
cmp dword [r14 + 0x1c], r12d
je 0x14008cffd
test rbx, rbx
je 0x14008cfe4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008cfe4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008cfe7
mov rax, r12
lea r8, [0x14012176c]
lea rdx, str.optional
mov rcx, rax
call fcn.1400219cc
mov rdx, qword [r14 + 0x20]
cmp dword [rdx - 8], r12d
je 0x14008d047
lea rcx, [rsp + 0x40]
call fcn.14006ba5c
mov r14, rax
test rbx, rbx
je 0x14008d032
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x14008d032
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x14008d035
mov rax, r12
mov r8, r14
lea rdx, str.error
mov rcx, rax
call fcn.1400219cc
test rdi, rdi
je 0x14008d065
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x14008d065
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14008d068
mov rax, r12
mov rdx, rbx
mov rcx, rax
call fcn.140021074
inc r15d
mov rcx, rsi
call fcn.1400723dc
cmp r15d, eax
jl 0x14008ceff
lea r8, [0x14012181c]
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp + 0x248]
call fcn.1400d96bc
mov rdx, qword [rbp + 0x248]
test rdx, rdx
jne 0x14008d0d9
lea rcx, str.Error_opening_file_for_writing
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, str.Error_opening_file_for_writing
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.1400670f0
mov rcx, qword [rbp + 0x248]
mov ebx, dword [rbp + 0x230]
jmp 0x14008d122
mov byte [rbp + 0x1ec], 1
lea rcx, [rbp + 0x180]
call fcn.1400221d4
test al, al
jne 0x14008d107
mov rdx, qword [rbp + 0x1d8]
add rdx, 0x10
lea rcx, [rsp + 0x60]
call fcn.140068004
jmp 0x14008d0ca
mov rcx, qword [rbp + 0x248]
call fcn.1400d9814
mov rcx, r12
mov qword [rbp + 0x248], rcx
mov ebx, 1
test rcx, rcx
je 0x14008d12c
call fcn.1400d9814
test ebx, ebx
jne 0x14008d14b
mov rdx, qword [rbp + 0x50]
mov rcx, rsi
call fcn.14007236c
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x60]
call fcn.140067f7c
nop
mov rcx, qword [rsp + 0x28]
or edi, 0xffffffff
cmp rcx, qword [0x140174010]
je 0x14008d16e
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d16e
call fcn.1400b0230
nop
cmp r13, qword [0x140174010]
je 0x14008d18e
mov eax, edi
lock xadd dword [r13], eax
add eax, edi
test eax, eax
jg 0x14008d18e
mov rcx, r13
call fcn.1400b0230
nop
mov rcx, qword [rsp + 0x30]
cmp rcx, qword [0x140174010]
je 0x14008d1ae
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d1ae
call fcn.1400b0230
nop
mov rcx, qword [rsp + 0x38]
cmp rcx, qword [0x140174010]
je 0x14008d1ce
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d1ce
call fcn.1400b0230
nop
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008d1f1
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d1f1
call fcn.1400b0230
nop
mov rcx, qword [rbp + 0x240]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008d217
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d217
call fcn.1400b0230
nop
lea rax, vtable.TiXmlDocument.0
mov qword [rbp + 0x180], rax
lea rax, [0x1401781c8]
mov rcx, qword [rbp + 0x1d8]
cmp rcx, rax
je 0x14008d23d
call fcn.1400b0230
lea rcx, [rbp + 0x180]
call fcn.140020f8c
nop
lea rcx, [rsp + 0x40]
call fcn.140067f00
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x14008d279
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14008d279
call fcn.1400b0230
nop
mov rax, qword [rbp - 0x20]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140174010]
je 0x14008d2a4
mov ecx, edi
lock xadd dword [rax], ecx
add ecx, edi
test ecx, ecx
jg 0x14008d2a4
mov rcx, qword [rbp - 0x20]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
nop
lea rcx, [rbp + 0x50]
call fcn.140070240
mov eax, ebx
mov rbx, qword [rsp + 0x338]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret