Function at 0x140004ec8
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a8
lea rbp, [rsp + 0x30]
mov rax, qword [0x1402bced0]
xor rax, rbp
mov qword [rbp + 0x160], rax
mov r15, rcx
mov qword [rbp + 0x20], rcx
movzx ecx, word [r8]
mov rsi, r8
movsxd r13, r9d
mov r14, rdx
call qword [sym.imp.WS2_32.dll_ntohs]
cmp dword [r14 + 0x9ec], 0
movzx edi, ax
mov word [rbp + 8], ax
je 0x140004f3c
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.14009cb98
cmp dword [r14 + 0xb30], 3
je 0x140005485
mov rcx, qword [r15 + 0xe8]
mov rcx, qword [rcx + 0x2a8]
call fcn.14018ad30
movzx edx, di
mov r12, rax
sub edx, 1
je 0x1400051fa
sub edx, 1
je 0x140004fc2
cmp edx, 2
jne 0x14000505a
cmp dword [r14 + 0x9ec], 0
je 0x140004f9c
lea rcx, str.Authentication_Complete..._n
call fcn.1400010e4
lea rcx, str.Authentication_Complete...
call fcn.14009cb98
or dword [r14 + 0xb30], 2
cmp dword [r14 + 0xb30], 3
jne 0x14000505a
mov rdx, r14
mov rcx, r15
call fcn.140004668
jmp 0x14000505a
cmp r13d, 8
jle 0x14000505a
cmp dword [r14 + 0x9ec], 0
je 0x140004fe2
lea rcx, str.Processing_Authentication_Verification...
call fcn.14009cb98
mov eax, dword [rsp]
sub rsp, 0x20
lea r15, [rsp + 0x30]
mov eax, dword [r15]
lea rax, [rsi + 4]
mov qword [r15], rax
movzx ecx, word [rsi + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
lea rax, [rsi + 4]
add rax, rcx
mov word [r15 + 8], cx
mov qword [r15 + 0xa], rax
movzx eax, r13w
sub ax, cx
sub ax, 4
mov word [r15 + 0x12], ax
lea eax, [rcx + 4]
cmp r13d, eax
jle 0x14000505a
and qword [rbp + 0x10], 0
mov r8d, ecx
mov ebx, 0x30
lea rcx, [rbp + 0x10]
mov rdx, r15
mov dword [rbp + 8], ebx
call fcn.1400bc5f0
test rax, rax
jne 0x140005070
lea rcx, str.Invalid_server_certificate_r_n
call fcn.1400010e4
test r12, r12
je 0x14000632a
mov rcx, r12
call fcn.1400bc520
jmp 0x14000632a
call fcn.1400bde30
mov rcx, qword [rbp + 0x10]
lea rsi, [0x1402c4a40]
mov r8, rsi
lea r9, [rbp + 8]
mov rdx, rax
call fcn.1400bf000
lea rdi, [r14 + 0xa34]
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1401c5340
test eax, eax
je 0x1400050e1
call fcn.1400bde20
mov rcx, qword [rbp + 0x10]
lea r9, [rbp + 8]
mov rdx, rax
mov r8, rsi
call fcn.1400bf000
mov r8d, 0x20
mov rdx, rdi
mov rcx, rsi
call fcn.1401c5340
test eax, eax
je 0x1400050e1
lea rcx, str.Server_certificate_mismatch_r_n
jmp 0x140005055
lea rcx, [rbp + 0x30]
call fcn.1400b9a90
lea rdi, [0x1402c5a40]
mov rdx, rdi
mov rcx, r12
call fcn.140092880
mov r8, rbx
lea rcx, [rbp + 0x30]
mov rdx, rdi
call fcn.1400b9b20
lea rdx, [r14 + 0xb00]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b9b20
lea rdx, [r14 + 0xad0]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b9b20
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.1400b9a70
mov rcx, qword [rbp + 0x10]
call fcn.1400bfe30
mov rcx, rax
mov r13, rax
call fcn.1400bcc20
movzx ecx, word [r15 + 0x12]
mov r8d, ebx
mov r9, qword [r15 + 0xa]
mov rdx, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov ecx, 0x2a1
mov qword [rbp + 0x18], rax
call fcn.1400bd520
mov r15d, 1
cmp eax, r15d
jne 0x1400051b9
and qword [rsp + 0x28], 0
lea r8d, [r15 + 0x10]
mov rcx, qword [r14 + 0x48]
lea rdx, str.ServerTlsCertHash
or dword [r14 + 0xb30], r15d
mov r9, rdi
mov qword [rsp + 0x20], rbx
call fcn.14009f7f8
mov rdx, qword [rbp + 0x20]
mov rcx, r14
call fcn.14000479c
jmp 0x1400051db
lea rcx, str.Invalid_server_signature_r_n
call fcn.1400010e4
cmp dword [r14 + 0x9ec], 0
je 0x1400051db
lea rcx, str.Invalid_Server_Signature
call fcn.14009cb98
mov rcx, qword [rbp + 0x18]
call fcn.1400bf260
mov rcx, r13
call fcn.1400bc9e0
mov rcx, qword [rbp + 0x10]
call fcn.1400bc520
jmp 0x14000505a
cmp r13d, 0x62
jne 0x14000505a
cmp dword [r14 + 0x9ec], 0
je 0x14000521a
lea rcx, str.Processing_Authentication_Request...
call fcn.14009cb98
lea rdi, [0x1402c5a40]
mov rcx, r12
mov rdx, rdi
call fcn.140092880
lea r13, [rsi + 2]
mov ebx, 0x30
mov r8d, ebx
mov rdx, r13
mov rcx, rdi
call fcn.1401c5340
test eax, eax
je 0x1400052a3
mov dword [rbp + 0x10], ebx
test r12, r12
je 0x140005266
call fcn.1400bde30
mov rdx, rax
lea r9, [rbp + 0x10]
mov r8, rdi
mov rcx, r12
call fcn.1400bf000
mov r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.1401c5340
test eax, eax
je 0x1400052a3
lea rcx, str.Bad_server_certificate_hash_r_n
call fcn.1400010e4
cmp dword [r14 + 0x9ec], 0
je 0x14000505a
lea rcx, str.Bad_server_certificate_hash
call fcn.14009cb98
jmp 0x14000505a
lea rcx, [r14 + 0xad0]
mov r9, rbx
lea r8, [rsi + 0x32]
mov rdx, rbx
call section..text
mov ecx, 2
call qword [sym.imp.WS2_32.dll_htons]
lea rcx, [0x1402c5a44]
mov word [0x1402c5a40], ax
mov qword [rbp + 0x18], rcx
lea rdx, [rbp + 0x18]
mov rcx, qword [r14 + 0xa70]
call fcn.1400bc6d0
movzx ecx, ax
mov dword [rbp + 0x10], eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c5a42], ax
cmp qword [r14 + 0xa78], 0
je 0x1400053cf
lea rcx, [rbp + 0x30]
call fcn.1400b9a90
mov r8, rbx
lea rcx, [rbp + 0x30]
mov rdx, r13
call fcn.1400b9b20
mov r8, rbx
lea rdx, [r14 + 0xad0]
lea rcx, [rbp + 0x30]
call fcn.1400b9b20
lea rdx, [r14 + 0xb00]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b9b20
lea rsi, [0x1402c4a40]
mov rcx, rsi
lea rdx, [rbp + 0x30]
call fcn.1400b9a70
mov rcx, qword [r14 + 0xa78]
call fcn.1400bcc20
movsx r13, word [rbp + 0x10]
mov edx, 0xfffc
sub edx, r13d
mov qword [rsp + 0x28], rax
mov r14, rax
mov dword [rbp + 8], edx
lea rax, [rbp + 8]
mov r8d, ebx
lea r9, [r13 + 4]
mov qword [rsp + 0x20], rax
add r9, rdi
mov rdx, rsi
mov ecx, 0x2a1
call fcn.1400bd3d0
mov r15d, 1
cmp eax, r15d
jne 0x1400053c2
mov r9d, dword [rbp + 8]
lea edx, [r15 + 1]
mov rcx, qword [rbp + 0x20]
add r9d, 4
add r9d, r13d
mov r8, rdi
call fcn.1400a1a5c
mov rcx, r14
call fcn.1400bf260
jmp 0x14000505a
mov r9, rbx
lea rcx, [0x1402c4a40]
mov r8, r13
mov edx, 0x1000
call section..text
mov r9, rbx
lea r8, [r14 + 0xad0]
mov edx, 0xfd0
lea rcx, [0x1402c4a70]
call section..text
lea r8, [r14 + 0xb00]
mov r9, rbx
mov edx, 0xfa0
lea rcx, [0x1402c4aa0]
call section..text
mov rcx, qword [r14 + 0xa68]
lea r9, [rbp]
and qword [rbp], 0
call fcn.1400117c0
mov dword [rbp + 8], eax
test eax, eax
jle 0x14000505a
movsx rbx, word [rbp + 0x10]
lea rcx, [rdi + 4]
mov r8, qword [rbp]
mov edx, 0xfffc
sub rdx, rbx
movsxd r9, eax
add rcx, rbx
call section..text
mov r9d, dword [rbp + 8]
mov r8, rdi
add r9d, 4
mov edx, 2
add r9d, ebx
mov rcx, r15
call fcn.1400a1a5c
mov rcx, qword [rbp]
call fcn.1401cc400
jmp 0x14000505a
mov eax, 0xa
cmp di, ax
jb 0x14000632a
cmp byte [rsi], 0x7b
je 0x140005fca
mov eax, 0x3e8
cmp di, ax
jae 0x140005fca
mov r12d, 4
cmp r13d, r12d
jl 0x14000632a
movzx ecx, word [rsi + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
cmp dword [r14 + 0x9ec], 0
movzx ebx, ax
mov word [rbp + 0x10], ax
je 0x140005504
movzx ebx, ax
lea rcx, str.BinaryCommand__u___u_..._n
movzx edi, di
mov r8d, ebx
mov edx, edi
call fcn.1400010e4
mov r8d, ebx
lea rcx, str.BinaryCommand__u___u_...
mov edx, edi
call fcn.14009cb98
movzx edi, word [rbp + 8]
movzx ebx, word [rbp + 0x10]
movzx ecx, di
sub ecx, 0xa
je 0x140005542
sub ecx, 1
je 0x140005d9b
sub ecx, 1
je 0x140005cf3
sub ecx, 1
je 0x140005930
sub ecx, 1
je 0x140005801
sub ecx, 2
je 0x140005627
cmp ecx, r12d
jne 0x14000632a
cmp dword [r14 + 0x84], 0
lea rax, [rsi + 0x34]
mov qword [rbp + 0x18], rax
lea rax, [r13 - 0x34]
mov qword [rbp + 8], rax
jne 0x14000632a
cmp r13, 0x34
jbe 0x140005f83
mov r13d, 0x400
lea r15, str.CoreModule
mov edx, r13d
mov rcx, r15
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400a0144
mov qword [rbp], rax
mov ebx, 0x30
test rax, rax
je 0x1400055b3
lea rdx, [rsi + 4]
mov r8d, ebx
mov rcx, rax
call fcn.1401c5340
test eax, eax
je 0x140005f3d
and qword [r14 + 0x9f0], 0
cmp di, 0x14
jne 0x140005e42
mov rdx, qword [rbp + 8]
lea r9, [rbp]
and qword [rbp], 0
lea rcx, [rsi + 0x34]
xor r8d, r8d
call fcn.140051138
test eax, eax
jne 0x14000632a
mov rdx, qword [rbp]
mov rcx, qword [r14]
call fcn.140094078
mov rdx, qword [rbp + 8]
lea r9, [rbp]
mov r8, rax
mov qword [rbp + 0x28], rax
lea rcx, [rsi + 0x34]
call fcn.140051138
test eax, eax
jne 0x140005e37
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 8], rax
jmp 0x140005e39
lea rcx, str.Server_verified_meshcore...
call fcn.1400010e4
cmp qword [r14 + 0x9f0], 0
je 0x1400057f0
mov rcx, qword [r14 + 0x10]
call fcn.14001d4c4
mov rcx, qword [r14 + 0x10]
lea r8, str.clearTimeout
or edi, 0xffffffff
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
lea edx, [rdi - 1]
mov r8d, edi
call fcn.14001b6a4
mov rdx, qword [r14 + 0x9f0]
mov rcx, qword [r14 + 0x10]
call fcn.14001ded4
mov rcx, qword [r14 + 0x10]
lea edx, [rdi + 2]
call fcn.14001937c
mov rcx, qword [r14 + 0x10]
call fcn.14001e148
and qword [r14 + 0x9f0], 0
lea r15, str.CoreModule
mov r13d, 0x400
mov rcx, r15
mov edx, r13d
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
xor r9d, r9d
and qword [rsp + 0x20], 0
mov r8, rax
mov rdx, r15
call fcn.14009fcec
movsxd rdi, eax
mov dword [rbp + 8], edi
cmp edi, r12d
jg 0x1400056e2
lea rcx, str._meshcore_not_found..._n
jmp 0x1400057f7
lea rcx, str._Launching_meshcore..._n
call fcn.1400010e4
mov r9d, dword [r14 + 0x9fc]
test r9d, r9d
je 0x140005771
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 + 0x30]
call fcn.140001138
movsxd rbx, eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea esi, [rbx + rdi]
movsxd rdi, esi
mov rcx, rdi
call fcn.140094114
mov rdx, r13
mov rcx, r15
mov r12, rax
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
lea r9, [r12 - 4]
add r9, rbx
mov qword [rsp + 0x20], rdi
mov r8, rax
mov rdx, r15
call fcn.14009fcec
mov ecx, dword [rbp + 8]
lea r8, [rbp + 0x30]
add ecx, 0xfffffffc
mov r9, rbx
movsxd rdx, ecx
lea rcx, [r12 + 4]
call section..text
lea edi, [rsi - 4]
jmp 0x1400057a6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140094114
mov rdx, r13
mov rcx, r15
mov r12, rax
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r9, r12
mov r8, rax
mov qword [rsp + 0x20], rdi
mov rdx, r15
call fcn.14009fcec
mov rcx, qword [r14 + 0x10]
lea r8d, [rdi - 4]
lea rdx, [r12 + 4]
mov dword [rsp + 0x20], reloc.WS2_32.dll_listen
lea r9, str.CoreModule.js
call fcn.140087744
test eax, eax
jne 0x1400057da
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400192d8
test eax, eax
je 0x1400057e3
mov rcx, qword [r14 + 0x10]
call fcn.14001e148
mov rcx, r12
call fcn.1401cc400
jmp 0x14000632a
lea rcx, str._meshcore_already_running..._n
call fcn.1400010e4
jmp 0x14000632a
mov rcx, qword [r14 + 0x38]
lea rdx, str..update.exe
xor ebx, ebx
mov dword [rbp + 8], ebx
call fcn.140003724
mov qword [rbp + 0x18], rax
lea r15d, [rbx + 1]
or edi, 0xffffffff
and qword [rbp], 0
lea rcx, [0x1402c1a40]
mov dword [rsp + 0x28], 0x1000
mov r9d, edi
mov qword [rsp + 0x20], rcx
mov r8, rax
mov ecx, 0xfde9
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r8, [0x1402995f8]
lea rdx, [0x1402c1a40]
lea rcx, [rbp]
call fcn.1401cac70
mov r9, qword [rbp]
test r9, r9
je 0x140005894
lea eax, [r13 - 4]
mov r8, r15
movsxd rdx, eax
lea rcx, [rsi + 4]
call fcn.1401cc2a4
mov rcx, qword [rbp]
mov rbx, rax
call fcn.1401cb220
test rbx, rbx
jne 0x1400058b3
mov ebx, dword [rbp + 8]
add ebx, r15d
mov dword [rbp + 8], ebx
cmp ebx, r12d
jge 0x1400058f9
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rbp + 0x18]
jmp 0x140005821
cmp dword [rbp + 8], r12d
jge 0x1400058f9
mov ecx, reloc.WS2_32.dll_ntohl
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp + 0x10]
mov word [0x1402c5a40], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c5a42], ax
mov r9d, r12d
lea r8, [0x1402c5a40]
mov rcx, qword [rbp + 0x20]
mov edx, 2
call fcn.1400a1a5c
jmp 0x14000632a
mov rcx, qword [r14 + 0x10]
call fcn.140094060
test eax, eax
je 0x14000632a
mov rcx, qword [r14 + 0x10]
cmp qword [rcx - 0x10], 8
jne 0x14000632a
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.140019e80
jmp 0x14000632a
mov rcx, qword [r14 + 0x38]
lea rdx, str..update.exe
call fcn.140003724
mov qword [rbp + 0x18], rax
mov r15, rax
cmp r13d, r12d
jne 0x14000596b
cmp dword [r14 + 0x9e4], 0
je 0x140005ce6
and dword [rsp + 0x20], 0
lea rcx, str.SelfUpdate____Starting_download...
jmp 0x140005cd9
cmp r13d, 0x34
jne 0x14000632a
lea rdx, [rbp + 0x130]
mov rcx, r15
call fcn.140004264
xor r13d, r13d
test eax, eax
jne 0x140005cc4
lea rdx, [rsi + 4]
lea r8d, [r13 + 0x30]
lea rcx, [rbp + 0x130]
call fcn.1401c5340
test eax, eax
jne 0x140005cc4
mov rax, qword [r14 + 0x10]
mov r12, qword [rax + 0x70]
sub r12, qword [rax + 0x68]
sar r12, 4
cmp dword [r14 + 0x9e4], r13d
je 0x1400059dd
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, str.SelfUpdate____Download_Complete..._Hash_verified
xor edx, edx
call fcn.14009ca70
lea rsi, [0x1402c4a40]
cmp dword [r14 + 0x9e8], r13d
je 0x140005a76
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]
call fcn.14009c0e4
mov ebx, eax
test eax, eax
jne 0x140005a3c
mov rdx, qword [r14 + 0x38]
lea rcx, [rbp]
call fcn.14009c0e4
mov ebx, eax
cmp dword [r14 + 0x9e4], r13d
je 0x140005a5e
lea rcx, str.SelfUpdate____Overriding_update_with_same_version...
jmp 0x140005a4c
cmp dword [r14 + 0x9e4], r13d
je 0x140005a5e
lea rcx, str.SelfUpdate____Overriding_update_with_provided_zip...
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
xor edx, edx
call fcn.14009ca70
mov rdx, qword [rbp]
mov r8d, ebx
mov rcx, r15
call fcn.14009c228
cmp dword [r14 + 0x9e8], r13d
jne 0x140005a7f
cmp dword [r14 + 0x9e0], r13d
je 0x140005aea
mov edx, 0x4000
lea rcx, [0x1402519b8]
call fcn.1401cd1c8
mov edx, 0x400
lea rcx, str.disableUpdate
mov rbx, rax
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
lea r9, [0x1402519b8]
mov r8, rax
mov qword [rsp + 0x28], r13
lea rdx, str.disableUpdate
mov qword [rsp + 0x20], rbx
call fcn.14009f7f8
cmp dword [r14 + 0x9e4], r13d
je 0x140005aea
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, str.SelfUpdate____Disabling_future_updates...
xor edx, edx
call fcn.14009ca70
mov rcx, qword [r14 + 0x10]
lea rdx, str.require_zip_reader_
mov r9d, 0xe08
call fcn.140019e80
mov rcx, qword [r14 + 0x10]
or edi, 0xffffffff
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.isZip
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
lea ebx, [rdi - 1]
mov edx, ebx
mov r8d, edi
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
mov rdx, r15
call fcn.14001d294
mov rcx, qword [r14 + 0x10]
lea r15d, [rdi + 2]
mov edx, r15d
call fcn.14001937c
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001c1c4
test eax, eax
je 0x140005cab
cmp dword [r14 + 0x9e4], r13d
je 0x140005b82
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, str.SelfUpdate____Unzipping_update...
xor edx, edx
call fcn.14009ca70
mov rcx, qword [r14 + 0x10]
lea rdx, str.require_update_helper_
mov r9d, 0xe08
call fcn.140019e80
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.start
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, ebx
call fcn.14001b6a4
mov rdx, qword [rbp + 0x18]
mov rcx, qword [r14 + 0x10]
call fcn.14001d294
mov rcx, qword [r14 + 0x10]
mov edx, r15d
call fcn.14001937c
test eax, eax
jne 0x140005c57
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.then
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, ebx
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
lea rdx, [0x140004dd8]
mov ebx, 0x18075380
mov esi, 6
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, edi
call fcn.14001da2c
mov rcx, qword [r14 + 0x10]
lea rdx, [0x140004e3c]
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, edi
call fcn.14001da2c
mov rcx, qword [r14 + 0x10]
lea edx, [rsi - 4]
call fcn.14001937c
jmp 0x140005c9a
cmp dword [r14 + 0x9e4], r13d
je 0x140005c9a
mov rcx, qword [r14 + 0x10]
xor r8d, r8d
mov edx, edi
call fcn.14001c524
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], r13d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14009ca70
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001b35c
jmp 0x14000632a
mov rcx, qword [r14 + 0x10]
mov edx, r12d
call fcn.14001b35c
mov rcx, r14
call fcn.140004a74
jmp 0x14000632a
cmp dword [r14 + 0x9e4], r13d
je 0x140005ce6
mov dword [rsp + 0x20], r13d
lea rcx, str.SelfUpdate____Download_Complete..._Hash_FAILED__aborting_update...
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14009ca70
mov rcx, r15
call fcn.14009212c
jmp 0x14000632a
mov ecx, ntohl
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, bx
mov word [0x1402c5a40], ax
call qword [sym.imp.WS2_32.dll_htons]
xor edi, edi
mov word [0x1402c5a42], ax
lea rcx, [0x1402c5a44]
cmp dword [r14 + 0x9dc], edi
je 0x140005d34
xor edx, edx
lea r8d, [rdi + 0x30]
call fcn.1401c5190
jmp 0x140005d86
cmp dword [r14 + 0x9e0], edi
je 0x140005d70
mov edx, 0xffff
mov r8d, 0x30
call fcn.1401c5190
cmp dword [r14 + 0x9e4], edi
je 0x140005d86
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
lea rcx, str.SelfUpdate____Forcing_Update...
xor edx, edx
call fcn.14009ca70
jmp 0x140005d86
mov ebx, 0x30
lea r8, [r14 + 0xa04]
mov r9d, ebx
mov edx, ebx
call section..text
mov r9d, gethostname
lea r8, [0x1402c5a40]
mov rcx, r15
jmp 0x1400058ea
mov edx, 0x400
lea rcx, str.CoreModule
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400a0144
mov ecx, dword [r14 + 0x84]
lea rdi, [0x1402c5a40]
neg ecx
mov ebx, 0x30
mov rcx, rdi
mov r15, rax
sbb esi, esi
xor edx, edx
and esi, ebx
lea r8d, [rbx + 4]
add esi, r12d
call fcn.1401c5190
lea ecx, [rbx - 0x25]
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp + 0x10]
mov word [0x1402c5a40], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c5a42], ax
cmp dword [r14 + 0x84], 0
jne 0x140005e2c
test r15, r15
je 0x140005e2c
mov r9d, ebx
lea rcx, [0x1402c5a44]
mov r8, r15
mov edx, ebx
call section..text
lea esi, [rbx + 4]
mov r9d, esi
mov r8, rdi
jmp 0x1400058e6
xor ecx, ecx
test rcx, rcx
je 0x14000632a
movsxd rax, dword [rbp + 8]
mov r8d, 0xa
mov rdi, qword [rbp + 0x18]
mov rdx, r15
mov rcx, qword [r14 + 0x48]
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.14009fb2c
mov rdx, r13
mov rcx, r15
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r8, rax
call fcn.1400a0144
lea rdx, [rsi + 4]
mov qword [rbp], rax
mov r8, rbx
mov rcx, rax
call fcn.1401c5340
test eax, eax
je 0x140005ebe
mov rdx, r13
mov rcx, r15
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r8, rax
mov rdx, r15
call fcn.1400a034c
mov rcx, r14
call fcn.1400040cc
mov ecx, ntohl
jmp 0x1400058be
mov rcx, r14
call fcn.1400040cc
mov r15, rax
test rax, rax
je 0x140005f34
mov r8, qword [rbp + 8]
lea rdx, [rdi + 4]
add r8d, 0xfffffffc
mov dword [rsp + 0x20], reloc.WS2_32.dll_listen
lea r9, str.CoreModule.js
mov rcx, rax
call fcn.140087744
test eax, eax
jne 0x140005f03
xor edx, edx
mov rcx, r15
call fcn.1400192d8
test eax, eax
je 0x140005f34
xor r8d, r8d
or edx, 0xffffffff
mov rcx, r15
call fcn.14001c524
mov r9, rax
lea r8, [0x14025033c]
mov edx, 0x1000
lea rcx, [0x1402c4a40]
call fcn.140001138
mov rcx, r15
call fcn.14001e148
mov rcx, qword [r14 + 0x48]
call fcn.1400a06ac
mov ecx, ntohl
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp + 0x10]
mov word [0x1402c5a40], ax
call qword [sym.imp.WS2_32.dll_htons]
mov r8, qword [rbp]
lea rcx, [0x1402c5a44]
mov r9, rbx
mov word [0x1402c5a42], ax
mov edx, 0xfffc
call section..text
mov r9d, gethostname
jmp 0x1400058df
cmp r13d, r12d
jne 0x14000632a
lea r15, str.CoreModule
mov edx, 0x400
mov rcx, r15
call fcn.1401cd1c8
mov rcx, qword [r14 + 0x48]
mov r8, rax
mov rdx, r15
call fcn.1400a034c
mov rcx, r14
call fcn.1400040cc
mov ecx, ntohl
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, bx
jmp 0x1400058c8
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.140002e84
mov rcx, qword [r14 + 0x10]
lea r8, str.emit
or edi, 0xffffffff
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
lea r12d, [rdi - 1]
mov edx, r12d
mov r8d, edi
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
lea rdx, str.Command
call fcn.14001d294
cmp byte [rsi], 0x7b
mov rcx, qword [r14 + 0x10]
jne 0x1400062ad
call fcn.14001d4c4
mov rcx, qword [r14 + 0x10]
lea r8, str.JSON
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
lea r8, str.parse
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
lea edx, [rdi - 2]
mov r8d, edi
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
call fcn.14001e1e4
mov rcx, qword [r14 + 0x10]
mov r8, r13
mov rdx, rsi
call fcn.14001d1e0
mov rcx, qword [r14 + 0x10]
lea r15d, [rdi + 2]
mov edx, r15d
call fcn.1400192d8
mov rcx, qword [r14 + 0x10]
test eax, eax
je 0x14000609c
call fcn.14001e148
mov rcx, qword [r14 + 0x10]
mov r8, r13
mov rdx, rsi
call fcn.14001d1e0
jmp 0x1400062f7
lea r8, str.action
mov edx, edi
call fcn.14001aa90
test eax, eax
je 0x1400062f7
mov rcx, qword [r14 + 0x10]
lea r9, [0x140250288]
and qword [rsp + 0x20], 0
lea r8, str.action
mov edx, edi
call fcn.140062fc8
lea rdx, str.ping
mov rcx, rax
mov rbx, rax
call fcn.1401d8320
test eax, eax
jne 0x140006159
cmp dword [r14 + 0xb40], eax
jne 0x14000614d
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.140002e84
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.emit
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, r12d
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
lea rdx, str.idleTimeoutModeChanged
call fcn.14001d294
mov rcx, qword [r14 + 0x10]
mov edx, r15d
call fcn.14001937c
mov rcx, qword [r14 + 0x10]
call fcn.14001e1e4
mov dword [r14 + 0xb40], r15d
jmp 0x1400062f7
lea rdx, str.pong
mov rcx, rbx
call fcn.1401d8320
test eax, eax
jne 0x1400062f7
mov rdx, qword [r14]
mov rcx, qword [r14 + 0x10]
call fcn.140002e84
mov rcx, qword [r14 + 0x10]
lea r8, [0x140250640]
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001beb4
test rax, rax
je 0x1400062a2
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.shift
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, r12d
call fcn.14001b6a4
mov rbx, qword [r14 + 0x10]
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call fcn.1400191fc
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.140039aa0
mov rcx, qword [r14 + 0x10]
lea r8, [0x1402506f0]
mov edx, edi
call fcn.14001aa90
test eax, eax
je 0x140006262
mov rcx, qword [r14 + 0x10]
call fcn.14001d4c4
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str.clearTimeout
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, r12d
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
lea r8, [0x1402506f0]
mov edx, 0xfffffffc
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov edx, r15d
call fcn.14001937c
mov rcx, qword [r14 + 0x10]
call fcn.14001e1e4
mov rcx, qword [r14 + 0x10]
mov edx, edi
call fcn.14001b6ec
mov rcx, qword [r14 + 0x10]
lea r8, str._res
mov edx, edi
call fcn.14001a5c4
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov edx, r12d
call fcn.14001b6a4
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.14001937c
mov rcx, qword [r14 + 0x10]
call fcn.14001e1e4
mov rcx, qword [r14 + 0x10]
call fcn.14001e1e4
jmp 0x1400062f7
xor edx, edx
lea r8d, [rdx + 3]
call fcn.14001de30
mov rcx, qword [r14 + 0x10]
mov edi, 0xfffffffc
mov edx, edi
call fcn.14001b7bc
mov rcx, qword [r14 + 0x10]
mov r9, r13
mov r8, rsi
mov edx, edi
call fcn.140019198
mov rcx, qword [r14 + 0x10]
lea r15d, [rdi + 5]
mov r9, r13
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, edi
call fcn.14001db84
lea r15d, [rdi + 6]
mov rcx, qword [r14 + 0x10]
mov edx, 2
call fcn.14001937c
test eax, eax
je 0x14000631e
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x14000631e
lea rdx, [0x140250288]
call fcn.140063bc0
mov rcx, qword [r14 + 0x10]
mov edx, r15d
call fcn.14001e028
mov rcx, qword [rbp + 0x160]
xor rcx, rbp
call fcn.1401c3cc0
lea rsp, [rbp + 0x178]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret