Function at 0x1400053fc
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b8
lea rbp, [rsp + 0x30]
mov rax, qword [0x140301ed0]
xor rax, rbp
mov qword [rbp + 0x170], rax
mov ebx, r9d
mov qword [rbp + 0x28], rcx
mov rdi, rcx
mov dword [rbp + 0x10], ebx
movzx ecx, word [r8]
mov rsi, r8
mov r14, rdx
call qword [0x1402089b0]
xor r15d, r15d
mov word [rbp + 8], ax
movzx r12d, ax
cmp dword [r14 + 0xbf4], r15d
je 0x140005479
movzx ebx, ax
lea rcx, str.ProcessCommand__u_..._n
mov edx, ebx
call fcn.1400010e4
mov edx, ebx
lea rcx, str.ProcessCommand__u_...
call fcn.1400a8ffc
mov ebx, dword [rbp + 0x10]
cmp dword [r14 + 0xd40], 3
je 0x1400059c4
mov rcx, qword [rdi + 0x3e0]
mov rcx, qword [rcx + 0x2a8]
call fcn.1401a0440
movzx edx, r12w
mov r13, rax
mov qword [rbp + 0x20], rax
sub edx, 1
je 0x14000572e
sub edx, 1
je 0x140005508
mov r13d, 2
cmp edx, r13d
jne 0x1400059aa
cmp dword [r14 + 0xbf4], r15d
je 0x1400054e3
lea rcx, str.Authentication_Complete..._n
call fcn.1400010e4
lea rcx, str.Authentication_Complete...
call fcn.1400a8ffc
or dword [r14 + 0xd40], r13d
cmp dword [r14 + 0xd40], 3
jne 0x1400059aa
mov rdx, r14
mov rcx, rdi
call fcn.140004b78
jmp 0x1400059aa
cmp ebx, 8
jle 0x1400059aa
cmp dword [r14 + 0xbf4], r15d
je 0x140005526
lea rcx, str.Processing_Authentication_Verification...
call fcn.1400a8ffc
mov eax, dword [rsp]
sub rsp, 0x20
lea r12, [rsp + 0x30]
mov eax, dword [r12]
lea rax, [rsi + 4]
mov qword [r12], rax
movzx ecx, word [rsi + 2]
call qword [0x1402089b0]
movzx ecx, ax
lea rax, [rsi + 4]
add rax, rcx
mov word [r12 + 8], cx
mov qword [r12 + 0xa], rax
movzx eax, bx
sub ax, cx
sub ax, 4
mov word [r12 + 0x12], ax
lea eax, [rcx + 4]
cmp ebx, eax
jle 0x1400059aa
mov r8d, ecx
mov qword [rbp + 8], r15
mov ebx, 0x30
lea rcx, [rbp + 8]
mov rdx, r12
mov dword [rbp + 0x10], ebx
call fcn.1400d1540
test rax, rax
jne 0x1400055a9
lea rcx, str.Invalid_server_certificate_r_n
call fcn.1400010e4
jmp 0x1400059aa
call fcn.1400d2db0
mov rcx, qword [rbp + 8]
lea rsi, [0x14030f3a0]
mov r8, rsi
lea r9, [rbp + 0x10]
mov rdx, rax
call fcn.1400d3f80
lea rdi, [r14 + 0xc40]
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1401daec0
test eax, eax
je 0x140005617
call fcn.1400d2da0
mov rcx, qword [rbp + 8]
lea r9, [rbp + 0x10]
mov rdx, rax
mov r8, rsi
call fcn.1400d3f80
mov r8d, 0x20
mov rdx, rdi
mov rcx, rsi
call fcn.1401daec0
test eax, eax
je 0x140005617
lea rcx, str.Server_certificate_mismatch_r_n
jmp 0x14000559f
lea rcx, [rbp + 0x40]
call fcn.1400ce9e0
lea rdi, [0x1403103a0]
mov rcx, r13
mov rdx, rdi
call fcn.14009ddf4
mov r8, rbx
lea rcx, [rbp + 0x40]
mov rdx, rdi
call fcn.1400cea70
lea rdx, [r14 + 0xd10]
mov r8, rbx
lea rcx, [rbp + 0x40]
call fcn.1400cea70
lea rdx, [r14 + 0xce0]
mov r8, rbx
lea rcx, [rbp + 0x40]
call fcn.1400cea70
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.1400ce9c0
mov rcx, qword [rbp + 8]
call fcn.1400d4db0
mov rcx, rax
mov r13, rax
call fcn.1400d1bb0
movzx ecx, word [r12 + 0x12]
mov r8d, ebx
mov r9, qword [r12 + 0xa]
mov rdx, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov ecx, 0x2a1
mov qword [rbp + 0x18], rax
call fcn.1400d24f0
mov ecx, 1
cmp eax, ecx
jne 0x1400056ee
or dword [r14 + 0xd40], ecx
lea r8d, [rcx + 0x10]
mov rcx, qword [r14 + 0x48]
lea rdx, str.ServerTlsCertHash
mov qword [rsp + 0x28], r15
mov r9, rdi
mov qword [rsp + 0x20], rbx
call fcn.1400ada6c
mov rdx, qword [rbp + 0x28]
mov rcx, r14
call fcn.140004cb4
jmp 0x14000570f
lea rcx, str.Invalid_server_signature_r_n
call fcn.1400010e4
cmp dword [r14 + 0xbf4], r15d
je 0x14000570f
lea rcx, str.Invalid_Server_Signature
call fcn.1400a8ffc
mov rcx, qword [rbp + 0x18]
call fcn.1400d41e0
mov rcx, r13
call fcn.1400d1930
mov rcx, qword [rbp + 8]
call fcn.1400d1470
jmp 0x1400059aa
cmp ebx, 0x62
jne 0x1400059aa
cmp dword [r14 + 0xbf4], r15d
je 0x14000574c
lea rcx, str.Processing_Authentication_Request...
call fcn.1400a8ffc
lea rdi, [0x1403103a0]
mov rcx, r13
mov rdx, rdi
call fcn.14009ddf4
lea r12, [rsi + 2]
mov ebx, 0x30
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call fcn.1401daec0
test eax, eax
je 0x1400057d4
mov dword [rbp + 0x10], ebx
test r13, r13
je 0x140005798
call fcn.1400d2db0
mov rdx, rax
lea r9, [rbp + 0x10]
mov r8, rdi
mov rcx, r13
call fcn.1400d3f80
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.1401daec0
test eax, eax
je 0x1400057d4
lea rcx, str.Bad_server_certificate_hash_r_n
call fcn.1400010e4
cmp dword [r14 + 0xbf4], r15d
je 0x1400059aa
lea rcx, str.Bad_server_certificate_hash
call fcn.1400a8ffc
jmp 0x1400059aa
lea rcx, [r14 + 0xce0]
mov r9, rbx
lea r8, [rsi + 0x32]
mov rdx, rbx
call section..text
mov r13d, 2
mov ecx, r13d
call qword [0x140208998]
lea rcx, [0x1403103a4]
mov word [0x1403103a0], ax
mov qword [rbp + 0x30], rcx
lea rdx, [rbp + 0x30]
mov rcx, qword [r14 + 0xc80]
call fcn.1400d1620
movzx ecx, ax
mov dword [rbp + 0x10], eax
call qword [0x140208998]
mov word [0x1403103a2], ax
cmp qword [r14 + 0xc88], r15
je 0x1400058ff
lea rcx, [rbp + 0x40]
call fcn.1400ce9e0
mov r8, rbx
lea rcx, [rbp + 0x40]
mov rdx, r12
call fcn.1400cea70
mov r8, rbx
lea rdx, [r14 + 0xce0]
lea rcx, [rbp + 0x40]
call fcn.1400cea70
lea rdx, [r14 + 0xd10]
mov r8, rbx
lea rcx, [rbp + 0x40]
call fcn.1400cea70
lea rsi, [0x14030f3a0]
mov rcx, rsi
lea rdx, [rbp + 0x40]
call fcn.1400ce9c0
mov rcx, qword [r14 + 0xc88]
call fcn.1400d1bb0
movsx r12, word [rbp + 0x10]
lea r9, [rdi + 4]
mov qword [rsp + 0x28], rax
mov edx, 0xfffc
sub edx, r12d
mov r14, rax
mov dword [rbp + 8], edx
lea rax, [rbp + 8]
mov rdx, rsi
mov qword [rsp + 0x20], rax
add r9, r12
mov r8d, ebx
mov ecx, 0x2a1
call fcn.1400d23a0
lea ecx, [r13 - 1]
cmp eax, ecx
jne 0x1400058f2
mov r9d, dword [rbp + 8]
mov r8, rdi
mov rcx, qword [rbp + 0x28]
add r9d, 4
add r9d, r12d
mov edx, r13d
call fcn.1400afd2c
mov rcx, r14
call fcn.1400d41e0
jmp 0x1400059aa
mov r9, rbx
lea rcx, [0x14030f3a0]
mov r8, r12
mov edx, 0x1000
call section..text
mov r9, rbx
lea r8, [r14 + 0xce0]
mov edx, 0xfd0
lea rcx, [0x14030f3d0]
call section..text
lea r8, [r14 + 0xd10]
mov r9, rbx
mov edx, 0xfa0
lea rcx, [0x14030f400]
call section..text
mov rcx, qword [r14 + 0xc78]
lea r9, [rbp + 0x18]
mov qword [rbp + 0x18], r15
call fcn.1400134a0
mov dword [rbp + 8], eax
test eax, eax
jle 0x1400059aa
movsx rbx, word [rbp + 0x10]
lea rcx, [rdi + 4]
mov r8, qword [rbp + 0x18]
mov edx, 0xfffc
sub rdx, rbx
movsxd r9, eax
add rcx, rbx
call section..text
mov r9d, dword [rbp + 8]
mov r8, rdi
mov rcx, qword [rbp + 0x28]
add r9d, 4
add r9d, ebx
mov edx, r13d
call fcn.1400afd2c
mov rcx, qword [rbp + 0x18]
call fcn.1401e2228
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1400069cf
mov rcx, rax
call fcn.1400d1470
jmp 0x1400069cf
mov eax, 0xa
cmp r12w, ax
jb 0x1400069cf
cmp byte [rsi], 0x7b
je 0x140006651
mov eax, 0x3e8
cmp r12w, ax
jae 0x140006651
mov edi, 4
cmp ebx, edi
jl 0x1400069cf
movzx ecx, word [rsi + 2]
call qword [0x1402089b0]
mov word [rbp], ax
cmp dword [r14 + 0xbf4], r15d
je 0x140005a40
movzx ebx, ax
lea rcx, str.BinaryCommand__u___u_..._n
movzx edi, r12w
mov r8d, ebx
mov edx, edi
call fcn.1400010e4
mov r8d, ebx
lea rcx, str.BinaryCommand__u___u_...
mov edx, edi
call fcn.1400a8ffc
mov ebx, dword [rbp + 0x10]
mov edi, 4
movzx ecx, r12w
mov r13d, 2
sub ecx, 0xa
je 0x140005a84
sub ecx, 1
je 0x140006383
sub ecx, 1
je 0x1400062dd
sub ecx, 1
je 0x140005ed0
sub ecx, 1
je 0x140005d8f
sub ecx, r13d
je 0x140005b66
cmp ecx, edi
jne 0x1400069cf
lea rax, [rsi + 0x34]
movsxd rcx, ebx
mov qword [rbp + 0x18], rax
lea rax, [rcx - 0x34]
mov qword [rbp + 0x10], rax
cmp dword [r14 + 0x28c], r15d
jne 0x1400069cf
cmp rcx, 0x34
jbe 0x14000662c
lea r12, str.CoreModule
mov edx, 0x400
mov rcx, r12
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400ae3c8
mov qword [rbp + 0x20], rax
mov ebx, 0x30
test rax, rax
je 0x140005af3
lea rdx, [rsi + 4]
mov r8d, ebx
mov rcx, rax
call fcn.1401daec0
test eax, eax
je 0x1400065f4
cmp word [rbp + 8], 0x14
mov qword [r14 + 0xbf8], r15
jne 0x14000644d
mov rdx, qword [rbp + 0x10]
lea r9, [rbp + 8]
xor r8d, r8d
mov qword [rbp + 8], r15
lea rcx, [rsi + 0x34]
call fcn.140052af4
test eax, eax
jne 0x140006425
mov rdx, qword [rbp + 8]
mov rcx, qword [r14]
call fcn.14009f5d8
mov rdx, qword [rbp + 0x10]
lea r9, [rbp + 8]
mov r8, rax
mov qword [rbp + 0x30], rax
lea rcx, [rsi + 0x34]
call fcn.140052af4
test eax, eax
jne 0x14000641d
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x10], rcx
jmp 0x140006420
lea rcx, str.Server_verified_meshcore...
call fcn.1400010e4
cmp qword [r14 + 0xbf8], r15
je 0x140005d7e
mov rcx, qword [r14 + 0x10]
call fcn.14001f1a8
mov rcx, qword [r14 + 0x10]
lea r8, str.clearTimeout
or r12d, 0xffffffff
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
lea edx, [r12 - 1]
mov r8d, r12d
call fcn.14001d388
mov rdx, qword [r14 + 0xbf8]
mov rcx, qword [r14 + 0x10]
call fcn.14001fbb8
mov rcx, qword [r14 + 0x10]
lea edx, [r12 + 2]
call fcn.14001b060
mov rcx, qword [r14 + 0x10]
call fcn.14001fe2c
lea rsi, str.CoreModule
mov qword [r14 + 0xbf8], r15
mov rcx, rsi
mov edx, 0x400
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x20], r15
mov rdx, rsi
call fcn.1400adf70
movsxd rbx, eax
mov dword [rbp + 8], ebx
cmp ebx, edi
jg 0x140005c1f
lea rcx, str._meshcore_not_found..._n
jmp 0x140005d85
lea rcx, str._Launching_meshcore..._n
call fcn.1400010e4
mov r9d, dword [r14 + 0xc00]
test r9d, r9d
je 0x140005cc5
lea r8, str.attachDebugger__webport:__d__wait:_1__.then_function__prt___console.log_Point_Browser_for_Debug_to_port:___prt______n
mov edx, 0xff
lea rcx, [rbp + 0x40]
call fcn.140001138
mov esi, dword [rbp + 8]
xor r9d, r9d
movsxd rbx, eax
xor r8d, r8d
add esi, ebx
xor edx, edx
movsxd rdi, esi
mov rcx, rdi
call fcn.14009f674
mov edx, 0x400
mov qword [rbp + 0x20], rax
lea rcx, str.CoreModule
call fcn.1401e2fdc
mov r9, qword [rbp + 0x20]
lea rdx, str.CoreModule
mov rcx, qword [r14 + 0x48]
add r9, 0xfffffffffffffffc
add r9, rbx
mov qword [rsp + 0x20], rdi
mov r8, rax
call fcn.1400adf70
mov ecx, dword [rbp + 8]
lea r8, [rbp + 0x40]
mov rdi, qword [rbp + 0x20]
add ecx, 0xfffffffc
movsxd rdx, ecx
mov r9, rbx
lea rcx, [rdi + 4]
call section..text
lea eax, [rsi - 4]
jmp 0x140005cfe
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14009f674
mov edx, 0x400
mov rcx, rsi
mov rdi, rax
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
mov r9, rdi
mov r8, rax
mov qword [rsp + 0x20], rbx
mov rdx, rsi
call fcn.1400adf70
mov eax, ebx
mov rcx, qword [r14 + 0x10]
lea r8d, [rax - 4]
lea rdx, [rdi + 4]
mov dword [rsp + 0x20], 0xd
lea r9, str.CoreModule.js
call fcn.140092710
test eax, eax
jne 0x140005d31
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.14001afbc
test eax, eax
je 0x140005d71
mov rax, qword [r14]
test rax, rax
je 0x140005d3d
mov r15, qword [rax + 8]
mov rcx, qword [r14 + 0x10]
xor r8d, r8d
mov edx, r12d
call fcn.14001e208
lea r9, str.Error_Executing_MeshCore:__s
mov qword [rsp + 0x20], rax
mov r8d, r13d
mov edx, 0x4100
mov rcx, r15
call fcn.1400aba58
mov rcx, qword [r14 + 0x10]
call fcn.14001fe2c
mov rcx, rdi
call fcn.1401e2228
jmp 0x1400069cf
lea rcx, str._meshcore_already_running..._n
call fcn.1400010e4
jmp 0x1400069cf
cmp dword [r14 + 0xbe4], r15d
jne 0x1400069cf
mov rcx, qword [r14 + 0x38]
lea rdx, str..update.exe
mov dword [rbp + 8], r15d
call fcn.140003b00
mov edi, 1
mov qword [rbp + 0x30], rax
or r12d, 0xffffffff
lea r13d, [rdi + 3]
lea rcx, [0x14030c3a0]
mov dword [rsp + 0x28], 0x1000
mov qword [rsp + 0x20], rcx
mov r9d, r12d
mov ecx, 0xfde9
mov qword [rbp + 0x18], r15
mov r8, rax
xor edx, edx
call qword [0x140208320]
lea r8, [0x1402da3a0]
lea rdx, [0x14030c3a0]
lea rcx, [rbp + 0x18]
call fcn.1401e07f0
mov r9, qword [rbp + 0x18]
test r9, r9
je 0x140005e2f
lea eax, [rbx - 4]
mov r8, rdi
movsxd rdx, eax
lea rcx, [rsi + 4]
call fcn.1401e1f94
mov rcx, qword [rbp + 0x18]
mov rbx, rax
call fcn.1401e0da0
test rbx, rbx
jne 0x140005e53
mov eax, dword [rbp + 8]
add eax, edi
mov dword [rbp + 8], eax
cmp eax, r13d
jge 0x140005e99
mov ecx, 0x64
call qword [0x140208328]
mov rax, qword [rbp + 0x30]
mov ebx, dword [rbp + 0x10]
jmp 0x140005dc1
cmp dword [rbp + 8], r13d
jge 0x140005e99
mov ecx, 0xe
call qword [0x140208998]
movzx ecx, word [rbp]
mov word [0x1403103a0], ax
call qword [0x140208998]
mov word [0x1403103a2], ax
mov r9d, r13d
lea r8, [0x1403103a0]
mov edx, 2
mov rcx, qword [rbp + 0x28]
call fcn.1400afd2c
jmp 0x1400069cf
mov rcx, qword [r14 + 0x10]
call fcn.14009f5c0
test eax, eax
je 0x1400069cf
mov rcx, qword [r14 + 0x10]
cmp qword [rcx - 0x10], 8
jne 0x1400069cf
mov r9d, 0xf08
lea rdx, str.require_MeshAgent_.SendCommand__action:_sessions__type_:_msg__value_:__1:__msg:_Self_Update_FAILED._Write_Error_while_writing_update_block__icon:_3_____
call fcn.14001bb64
jmp 0x1400069cf
cmp dword [r14 + 0xbe4], r15d
jne 0x1400069cf
mov rcx, qword [r14 + 0x38]
lea rdx, str..update.exe
call fcn.140003b00
mov qword [rbp + 0x18], rax
mov r12, rax
cmp ebx, edi
jne 0x140005f17
cmp dword [r14 + 0xbec], r15d
je 0x1400062d0
mov r8d, 0xd21
lea rcx, str.SelfUpdate____Starting_download...
jmp 0x1400062bc
cmp ebx, 0x34
jne 0x1400069cf
lea rdx, [rbp + 0x140]
mov rcx, r12
call fcn.140004774
test eax, eax
jne 0x1400062a6
lea rdx, [rsi + 4]
lea r8d, [rbx - 4]
lea rcx, [rbp + 0x140]
call fcn.1401daec0
test eax, eax
jne 0x1400062a6
mov rax, qword [r14 + 0x10]
mov rdi, qword [rax + 0x70]
sub rdi, qword [rax + 0x68]
sar rdi, 4
cmp dword [r14 + 0xbec], r15d
je 0x140005f8d
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0xd2b
lea rdx, str...meshcore_agentcore.c
lea rcx, str.SelfUpdate____Download_Complete..._Hash_verified
call fcn.1400a8e8c
lea rsi, [0x14030f3a0]
cmp dword [r14 + 0xbf0], r15d
je 0x140006034
mov r9, qword [r14 + 0x38]
lea r8, str._s.zip
mov edx, 0x1000
mov rcx, rsi
call fcn.140001138
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.1400a835c
mov ebx, eax
test eax, eax
jne 0x140005ff2
mov rdx, qword [r14 + 0x38]
lea rcx, [rbp + 0x20]
call fcn.1400a835c
mov ebx, eax
cmp dword [r14 + 0xbec], r15d
je 0x14000601c
mov r8d, 0xd35
lea rcx, str.SelfUpdate____Overriding_update_with_same_version...
jmp 0x140006008
cmp dword [r14 + 0xbec], r15d
je 0x14000601c
mov r8d, 0xd39
lea rcx, str.SelfUpdate____Overriding_update_with_provided_zip...
xor r9d, r9d
mov dword [rsp + 0x20], r15d
lea rdx, str...meshcore_agentcore.c
call fcn.1400a8e8c
mov rdx, qword [rbp + 0x20]
mov r8d, ebx
mov rcx, r12
call fcn.1400a84a0
cmp dword [r14 + 0xbf0], r15d
jne 0x14000603d
cmp dword [r14 + 0xbe8], r15d
je 0x1400060b0
mov edx, 0x4000
lea rcx, [0x140267e48]
call fcn.1401e2fdc
mov edx, 0x400
lea rcx, str.disableUpdate
mov rbx, rax
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
lea r9, [0x140267e48]
mov r8, rax
mov qword [rsp + 0x28], r15
lea rdx, str.disableUpdate
mov qword [rsp + 0x20], rbx
call fcn.1400ada6c
cmp dword [r14 + 0xbec], r15d
je 0x1400060b0
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0xd40
lea rdx, str...meshcore_agentcore.c
lea rcx, str.SelfUpdate____Disabling_future_updates...
call fcn.1400a8e8c
mov rcx, qword [r14 + 0x10]
lea rdx, str.require_zip_reader_
mov r9d, 0xe08
call fcn.14001bb64
mov rcx, qword [r14 + 0x10]
or r12d, 0xffffffff
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.isZip
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
lea r13d, [r12 - 1]
mov edx, r13d
mov r8d, r12d
call fcn.14001d388
mov rdx, qword [rbp + 0x18]
mov rcx, qword [r14 + 0x10]
call fcn.14001ef78
mov rcx, qword [r14 + 0x10]
lea ebx, [r12 + 2]
mov edx, ebx
call fcn.14001b060
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001dea8
test eax, eax
je 0x14000628e
cmp dword [r14 + 0xbec], r15d
je 0x140006158
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0xd4a
lea rdx, str...meshcore_agentcore.c
lea rcx, str.SelfUpdate____Unzipping_update...
call fcn.1400a8e8c
mov rcx, qword [r14 + 0x10]
lea rdx, str.require_update_helper_
mov r9d, 0xe08
call fcn.14001bb64
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.start
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, r13d
call fcn.14001d388
mov rdx, qword [rbp + 0x18]
mov rcx, qword [r14 + 0x10]
call fcn.14001ef78
mov rcx, qword [r14 + 0x10]
mov edx, ebx
call fcn.14001b060
test eax, eax
jne 0x140006232
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.then
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, r13d
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
lea rdx, [0x1400052fc]
mov ebx, 0x18075380
mov esi, 6
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r12d
call fcn.14001f710
mov rcx, qword [r14 + 0x10]
lea rdx, [0x140005368]
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r12d
call fcn.14001f710
mov rcx, qword [r14 + 0x10]
lea edx, [rsi - 4]
call fcn.14001b060
jmp 0x14000627e
cmp dword [r14 + 0xbec], r15d
je 0x14000627e
mov rcx, qword [r14 + 0x10]
xor r8d, r8d
mov edx, r12d
call fcn.14001e208
mov r9, rax
lea r8, str.SelfUpdate____Error_Unzipping:__s
mov edx, 0x1000
mov rcx, rsi
call fcn.140001138
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0xd5a
lea rdx, str...meshcore_agentcore.c
mov rcx, rsi
call fcn.1400a8e8c
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001d040
jmp 0x1400069cf
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001d040
mov rcx, r14
call fcn.140004f8c
jmp 0x1400069cf
cmp dword [r14 + 0xbec], r15d
je 0x1400062d0
mov r8d, 0xd66
lea rcx, str.SelfUpdate____Download_Complete..._Hash_FAILED__aborting_update...
lea rdx, str...meshcore_agentcore.c
mov dword [rsp + 0x20], r15d
xor r9d, r9d
call fcn.1400a8e8c
mov rcx, r12
call fcn.14009d698
jmp 0x1400069cf
mov ecx, 0xc
call qword [0x140208998]
movzx ecx, word [rbp]
mov word [0x1403103a0], ax
call qword [0x140208998]
mov word [0x1403103a2], ax
lea rcx, [0x1403103a4]
cmp dword [r14 + 0xbe4], r15d
je 0x14000631d
xor edx, edx
lea r8d, [rdx + 0x30]
call fcn.1401dad10
jmp 0x140006378
cmp dword [r14 + 0xbe8], r15d
je 0x140006362
mov edx, 0xffff
mov r8d, 0x30
call fcn.1401dad10
cmp dword [r14 + 0xbec], r15d
je 0x140006378
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0xd06
lea rdx, str...meshcore_agentcore.c
lea rcx, str.SelfUpdate____Forcing_Update...
call fcn.1400a8e8c
jmp 0x140006378
mov ebx, 0x30
lea r8, [r14 + 0xc10]
mov edx, ebx
mov r9, rbx
call section..text
mov r9d, 0x34
jmp 0x140006509
mov edx, 0x400
lea rcx, str.CoreModule
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400ae3c8
mov ecx, dword [r14 + 0x28c]
mov ebx, 0x30
neg ecx
mov r12, rax
sbb esi, esi
xor edx, edx
and esi, ebx
lea r8d, [rbx + 4]
add esi, edi
lea rdi, [0x1403103a0]
mov rcx, rdi
call fcn.1401dad10
lea ecx, [rbx - 0x25]
call qword [0x140208998]
movzx ecx, word [rbp]
mov word [0x1403103a0], ax
call qword [0x140208998]
mov word [0x1403103a2], ax
cmp dword [r14 + 0x28c], r15d
jne 0x140006412
test r12, r12
je 0x140006412
mov r9d, ebx
lea rcx, [0x1403103a4]
mov r8, r12
mov edx, ebx
call section..text
lea esi, [rbx + 4]
mov r9d, esi
mov r8, rdi
jmp 0x140006510
mov rax, r15
test rax, rax
jne 0x14000644d
mov rax, qword [r14]
test rax, rax
je 0x140006431
mov r15, qword [rax + 8]
lea r9, str.MeshCore:_INFLATE_error
mov r8d, r13d
mov edx, 0x4100
mov rcx, r15
call fcn.1400aba58
jmp 0x1400069cf
movsxd rax, dword [rbp + 0x10]
mov r8d, 0xa
mov r9, qword [rbp + 0x18]
mov rdx, r12
mov rcx, qword [r14 + 0x48]
mov qword [rsp + 0x20], rax
call fcn.1400adda4
mov edx, 0x400
mov rcx, r12
call fcn.1401e2fdc
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400ae3c8
lea rdx, [rsi + 4]
mov qword [rbp + 0x20], rax
mov r8, rbx
mov rcx, rax
call fcn.1401daec0
test eax, eax
je 0x140006518
mov edx, 0x400
mov rcx, r12
call fcn.1401e2fdc
mov rdx, r12
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400ae5d0
mov rax, qword [r14]
test rax, rax
je 0x1400064c4
mov r15, qword [rax + 8]
lea r9, str.MeshCore:_Stop
mov r8d, r13d
mov edx, 0x4100
mov rcx, r15
call fcn.1400aba58
mov rcx, r14
call fcn.1400045e0
mov ecx, 0xb
call qword [0x140208998]
movzx ecx, word [rbp]
mov word [0x1403103a0], ax
call qword [0x140208998]
mov word [0x1403103a2], ax
mov r9d, edi
lea r8, [0x1403103a0]
mov edx, r13d
jmp 0x140005e8b
mov rax, qword [r14]
test rax, rax
je 0x140006526
mov rcx, qword [rax + 8]
jmp 0x140006529
mov rcx, r15
lea r9, str.MeshCore:_Restart
mov r8d, r13d
mov edx, 0x4100
call fcn.1400aba58
mov rcx, r14
call fcn.1400045e0
mov rdi, rax
test rax, rax
je 0x1400065bc
mov r8, qword [rbp + 0x10]
lea r9, str.CoreModule.js
mov rdx, qword [rbp + 0x18]
add r8d, 0xfffffffc
add rdx, 4
mov dword [rsp + 0x20], 0xd
mov rcx, rax
call fcn.140092710
test eax, eax
jne 0x140006586
xor edx, edx
mov rcx, rdi
call fcn.14001afbc
test eax, eax
je 0x1400065eb
xor r8d, r8d
or edx, 0xffffffff
mov rcx, rdi
call fcn.14001e208
lea rsi, [0x14030f3a0]
mov r9, rax
mov rcx, rsi
lea r8, [0x1402663dc]
mov edx, 0x1000
call fcn.140001138
mov rcx, rdi
call fcn.14001fe2c
jmp 0x1400065c3
lea rsi, str.Restart_Failed__because_Script_Engine_Stop_failed
mov rax, qword [r14]
test rax, rax
je 0x1400065cf
mov r15, qword [rax + 8]
lea r9, str.MeshCore:_Error:__s
mov qword [rsp + 0x20], rsi
mov r8d, r13d
mov edx, 0x4100
mov rcx, r15
call fcn.1400aba58
mov rcx, qword [r14 + 0x48]
call fcn.1400ae934
mov ecx, 0xb
call qword [0x140208998]
movzx ecx, word [rbp]
mov word [0x1403103a0], ax
call qword [0x140208998]
mov r8, qword [rbp + 0x20]
lea rcx, [0x1403103a4]
mov word [0x1403103a2], ax
mov edx, 0xfffc
jmp 0x140006370
cmp ebx, edi
jne 0x1400069cf
mov edx, 0x400
lea rcx, str.CoreModule
call fcn.1401e2fdc
lea rdx, str.CoreModule
jmp 0x1400064ac
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.1400031d8
mov rcx, qword [r14 + 0x10]
lea r8, str.emit
or r12d, 0xffffffff
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
lea edx, [r12 - 1]
mov r8d, r12d
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
lea rdx, str.Command
call fcn.14001ef78
cmp byte [rsi], 0x7b
mov rcx, qword [r14 + 0x10]
jne 0x140006951
call fcn.14001f1a8
mov rcx, qword [r14 + 0x10]
lea r8, str.JSON
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
lea r8, str.parse
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
lea edx, [r12 - 2]
mov r8d, r12d
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
call fcn.14001fec8
mov rcx, qword [r14 + 0x10]
mov rdx, rsi
movsxd rbx, ebx
mov r8, rbx
call fcn.14001eec4
mov rcx, qword [r14 + 0x10]
lea edi, [r12 + 2]
mov edx, edi
call fcn.14001afbc
mov rcx, qword [r14 + 0x10]
lea r13d, [r12 + 3]
test eax, eax
je 0x14000672f
call fcn.14001fe2c
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, rsi
call fcn.14001eec4
jmp 0x14000699f
lea r8, str.action
mov edx, r12d
call fcn.14001c774
test eax, eax
je 0x14000699f
mov rcx, qword [r14 + 0x10]
lea r9, [0x1402662c8]
lea r8, str.action
mov qword [rsp + 0x20], r15
mov edx, r12d
call fcn.14006a400
lea rdx, str.ping
mov rcx, rax
mov rbx, rax
call fcn.1401ee1e0
test eax, eax
jne 0x1400067f0
cmp dword [r14 + 0xd50], r15d
jne 0x1400067e4
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.1400031d8
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.emit
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, 0xfffffffe
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
lea rdx, str.idleTimeoutModeChanged
call fcn.14001ef78
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b060
mov rcx, qword [r14 + 0x10]
call fcn.14001fec8
mov dword [r14 + 0xd50], edi
jmp 0x14000699f
lea rdx, str.pong
mov rcx, rbx
call fcn.1401ee1e0
test eax, eax
jne 0x14000699f
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.1400031d8
mov rcx, qword [r14 + 0x10]
lea r8, [0x140266878]
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001db98
test rax, rax
je 0x140006946
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.shift
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, 0xfffffffe
call fcn.14001d388
mov rbx, qword [r14 + 0x10]
mov r8d, r13d
mov rcx, rbx
xor edx, edx
call fcn.14001aee0
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.14003b784
mov rcx, qword [r14 + 0x10]
lea r8, [0x140266930]
mov edx, r12d
call fcn.14001c774
test eax, eax
je 0x140006902
mov rcx, qword [r14 + 0x10]
call fcn.14001f1a8
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str.clearTimeout
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, 0xfffffffe
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
lea r8, [0x140266930]
mov edx, 0xfffffffc
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b060
mov rcx, qword [r14 + 0x10]
call fcn.14001fec8
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001d3d0
mov rcx, qword [r14 + 0x10]
lea r8, str._res
mov edx, r12d
call fcn.14001c2a8
mov rcx, qword [r14 + 0x10]
mov r8d, r12d
mov edx, 0xfffffffe
call fcn.14001d388
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.14001b060
mov rcx, qword [r14 + 0x10]
call fcn.14001fec8
mov rcx, qword [r14 + 0x10]
call fcn.14001fec8
jmp 0x14000699f
xor edx, edx
lea r8d, [rdx + 3]
call fcn.14001fb14
mov rcx, qword [r14 + 0x10]
mov edi, 0xfffffffc
mov edx, edi
call fcn.14001d4a0
mov rcx, qword [r14 + 0x10]
mov r8, rsi
movsxd rbx, ebx
mov edx, edi
mov r9, rbx
call fcn.14001ae7c
lea ecx, [rdi + 5]
mov r9, rbx
mov dword [rsp + 0x20], ecx
xor r8d, r8d
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001f868
lea r13d, [rdi + 6]
mov edi, r13d
mov rcx, qword [r14 + 0x10]
mov edx, r13d
call fcn.14001b060
test eax, eax
je 0x1400069c4
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x1400069c4
lea rdx, [0x1402662c8]
call fcn.14006aff8
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001fd0c
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.1401d9840
lea rsp, [rbp + 0x188]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret