Function at 0x140004c04
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 [0x1402bff08]
xor rax, rbp
mov qword [rbp + 0x160], rax
mov rbx, rcx
mov qword [rbp + 0x20], rcx
movzx ecx, word [r8]
mov r15, r8
movsxd r12, r9d
mov rsi, rdx
call qword [sym.imp.WS2_32.dll_ntohs]
cmp dword [rsi + 0x9ec], 0
mov word [rbp + 8], ax
movzx edi, ax
je 0x140004c78
mov edx, edi
lea rcx, str.ProcessCommand__u_..._n
call fcn.140001090
mov edx, edi
lea rcx, str.ProcessCommand__u_...
call fcn.1400972b4
movzx eax, word [rbp + 8]
cmp dword [rsi + 0xb30], 3
je 0x1400052a4
mov rcx, qword [rbx + 0xe8]
mov rcx, qword [rcx + 0x2a8]
call fcn.140184f70
mov qword [rbp + 0x10], rax
mov r14, rax
sub edi, 1
je 0x140004f25
sub edi, 1
je 0x140004cfb
cmp edi, 2
jne 0x14000528e
cmp dword [rsi + 0x9ec], 0
je 0x140004cd7
lea rcx, str.Authentication_Complete..._n
call fcn.140001090
lea rcx, str.Authentication_Complete...
call fcn.1400972b4
or dword [rsi + 0xb30], 2
cmp dword [rsi + 0xb30], 3
jne 0x14000528e
mov rdx, rsi
mov rcx, rbx
call fcn.140004520
jmp 0x14000528e
cmp r12d, 8
jle 0x14000528e
cmp dword [rsi + 0x9ec], 0
je 0x140004d1a
lea rcx, str.Processing_Authentication_Verification...
call fcn.1400972b4
mov eax, dword [rsp]
sub rsp, 0x20
lea rdi, [rsp + 0x30]
mov eax, dword [rdi]
mov qword [rbp + 0x18], rdi
lea rax, [r15 + 4]
mov qword [rdi], rax
movzx ecx, word [r15 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
lea rax, [r15 + 4]
add rax, rcx
mov word [rdi + 8], cx
mov qword [rdi + 0xa], rax
movzx eax, r12w
sub ax, cx
sub ax, 4
mov word [rdi + 0x12], ax
lea eax, [rcx + 4]
cmp r12d, eax
jle 0x14000528e
and qword [rbp], 0
mov r8d, ecx
mov ebx, 0x30
lea rcx, [rbp]
mov rdx, rdi
mov dword [rbp + 8], ebx
call fcn.1400b68f0
test rax, rax
jne 0x140004d9d
lea rcx, str.Invalid_server_certificate_r_n
call fcn.140001090
jmp 0x14000528e
call fcn.1400b8150
mov rcx, qword [rbp]
lea r15, [0x1402c7c20]
mov r8, r15
lea r9, [rbp + 8]
mov rdx, rax
call fcn.1400b9320
lea rdi, [rsi + 0xa34]
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.1401c3360
test eax, eax
je 0x140004e0b
call fcn.1400b8140
mov rcx, qword [rbp]
lea r9, [rbp + 8]
mov rdx, rax
mov r8, r15
call fcn.1400b9320
mov r8d, 0x20
mov rdx, rdi
mov rcx, r15
call fcn.1401c3360
test eax, eax
je 0x140004e0b
lea rcx, str.Server_certificate_mismatch_r_n
jmp 0x140004d93
lea rcx, [rbp + 0x30]
call fcn.1400b3d90
lea rdi, [0x1402c8c20]
mov rcx, r14
mov rdx, rdi
call fcn.14008d168
mov r8, rbx
lea rcx, [rbp + 0x30]
mov rdx, rdi
call fcn.1400b3e20
lea rdx, [rsi + 0xb00]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b3e20
lea rdx, [rsi + 0xad0]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b3e20
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.1400b3d70
mov rcx, qword [rbp]
call fcn.1400ba170
mov rcx, rax
mov r12, rax
call fcn.1400b6f30
mov r9, qword [rbp + 0x18]
mov r8d, ebx
mov qword [rsp + 0x28], rax
mov rdx, r15
mov r13, rax
movzx ecx, word [r9 + 0x12]
mov r9, qword [r9 + 0xa]
mov dword [rsp + 0x20], ecx
mov ecx, 0x2a1
call fcn.1400b7840
mov r14d, 1
cmp eax, r14d
jne 0x140004ee6
and qword [rsp + 0x28], 0
lea r8d, [r14 + 0x10]
mov rcx, qword [rsi + 0x48]
lea rdx, str.ServerTlsCertHash
or dword [rsi + 0xb30], r14d
mov r9, rdi
mov qword [rsp + 0x20], rbx
call fcn.14009a060
mov rdx, qword [rbp + 0x20]
mov rcx, rsi
call fcn.140004658
jmp 0x140004f07
lea rcx, str.Invalid_server_signature_r_n
call fcn.140001090
cmp dword [rsi + 0x9ec], 0
je 0x140004f07
lea rcx, str.Invalid_Server_Signature
call fcn.1400972b4
mov rcx, r13
call fcn.1400b9580
mov rcx, r12
call fcn.1400b6ce0
mov rcx, qword [rbp]
call fcn.1400b6820
jmp 0x14000528a
cmp r12d, 0x62
jne 0x14000528e
cmp dword [rsi + 0x9ec], 0
je 0x140004f44
lea rcx, str.Processing_Authentication_Request...
call fcn.1400972b4
lea rdi, [0x1402c8c20]
mov rcx, r14
mov rdx, rdi
call fcn.14008d168
lea r12, [r15 + 2]
mov ebx, 0x30
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call fcn.1401c3360
test eax, eax
je 0x140004fcc
mov dword [rbp], ebx
test r14, r14
je 0x140004f90
call fcn.1400b8150
mov rdx, rax
lea r9, [rbp]
mov r8, rdi
mov rcx, r14
call fcn.1400b9320
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.1401c3360
test eax, eax
je 0x140004fcc
lea rcx, str.Bad_server_certificate_hash_r_n
call fcn.140001090
cmp dword [rsi + 0x9ec], 0
je 0x14000528e
lea rcx, str.Bad_server_certificate_hash
call fcn.1400972b4
jmp 0x14000528e
add r15, 0x32
lea r14, [rsi + 0xad0]
test r14, r14
je 0x140005010
test r15, r15
je 0x140004fff
movups xmm0, xmmword [r15]
movups xmmword [r14], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [r14 + 0x20], xmm0
jmp 0x140005020
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
mov ecx, 2
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c20], ax
lea rdx, [rbp + 0x18]
mov rcx, qword [rsi + 0xa70]
lea rax, [0x1402c8c24]
mov qword [rbp + 0x18], rax
call fcn.1400b69d0
movsxd r13, eax
movzx ecx, r13w
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
cmp qword [rsi + 0xa78], 0
je 0x140005139
lea rcx, [rbp + 0x30]
call fcn.1400b3d90
mov r8, rbx
lea rcx, [rbp + 0x30]
mov rdx, r12
call fcn.1400b3e20
mov r8, rbx
lea rcx, [rbp + 0x30]
mov rdx, r14
call fcn.1400b3e20
lea rdx, [rsi + 0xb00]
mov r8, rbx
lea rcx, [rbp + 0x30]
call fcn.1400b3e20
lea r15, [0x1402c7c20]
mov rcx, r15
lea rdx, [rbp + 0x30]
call fcn.1400b3d70
mov rcx, qword [rsi + 0xa78]
call fcn.1400b6f30
mov rsi, rax
movsx r12d, r13w
mov edx, 0xfffc
movsx r9, r13w
sub edx, r12d
mov qword [rsp + 0x28], rsi
lea rax, [0x1402c8c24]
mov dword [rbp + 8], edx
add r9, rax
mov rdx, r15
lea rax, [rbp + 8]
mov r8d, ebx
mov ecx, 0x2a1
mov qword [rsp + 0x20], rax
call fcn.1400b76f0
mov r14d, 1
cmp eax, r14d
jne 0x14000512c
mov r9d, dword [rbp + 8]
lea edx, [r14 + 1]
mov rcx, qword [rbp + 0x20]
add r9d, 4
add r9d, r12d
mov r8, rdi
call fcn.14009c2d4
mov rcx, rsi
call fcn.1400b9580
jmp 0x14000528a
test r12, r12
je 0x140005166
movups xmm0, xmmword [r12]
movups xmmword [0x1402c7c20], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [0x1402c7c30], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [0x1402c7c40], xmm0
jmp 0x14000518a
xor edx, edx
lea rcx, [0x1402c7c20]
mov r8d, 0x1000
call fcn.1401c31c0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
test r14, r14
je 0x1400051b4
movups xmm0, xmmword [r14]
movups xmmword [0x1402c7c50], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [0x1402c7c60], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [0x1402c7c70], xmm0
jmp 0x1400051d8
xor edx, edx
lea rcx, [0x1402c7c50]
mov r8d, 0xfd0
call fcn.1401c31c0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
lea rax, [rsi + 0xb00]
test rax, rax
je 0x140005206
movups xmm0, xmmword [rax]
movups xmmword [0x1402c7c80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [0x1402c7c90], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [0x1402c7ca0], xmm0
jmp 0x14000522a
xor edx, edx
lea rcx, [0x1402c7c80]
mov r8d, 0xfa0
call fcn.1401c31c0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
mov rcx, qword [rsi + 0xa68]
lea r9, [rbp]
and qword [rbp], 0
call fcn.1400111d4
mov dword [rbp + 8], eax
test eax, eax
jle 0x14000528a
mov r8, qword [rbp]
lea rcx, [rdi + 4]
movsx rbx, r13w
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 + 0x20]
add r9d, 4
add r9d, ebx
mov edx, 2
call fcn.14009c2d4
mov rcx, qword [rbp]
call fcn.1401ccb68
mov r14, qword [rbp + 0x10]
test r14, r14
je 0x1400061ad
mov rcx, r14
call fcn.1400b6820
jmp 0x1400061ad
mov ecx, 0xa
cmp ax, cx
jb 0x1400061ad
cmp byte [r15], 0x7b
je 0x140005e6b
mov ecx, 0x3e8
cmp ax, cx
jae 0x140005e6b
mov r13d, 4
cmp r12d, r13d
jl 0x1400061ad
movzx ecx, word [r15 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
cmp dword [rsi + 0x9ec], 0
movzx r14d, ax
mov word [rbp], r14w
je 0x140005318
mov r8d, r14d
lea rcx, str.BinaryCommand__u___u_..._n
mov edx, edi
call fcn.140001090
mov r8d, r14d
lea rcx, str.BinaryCommand__u___u_...
mov edx, edi
call fcn.1400972b4
sub edi, 0xa
je 0x140005353
sub edi, 1
je 0x140005bb7
sub edi, 1
je 0x140005ac5
sub edi, 1
je 0x1400056fb
sub edi, 1
je 0x140005653
sub edi, 2
je 0x140005444
cmp edi, r13d
jne 0x1400061ad
cmp dword [rsi + 0x84], 0
lea rax, [r15 + 0x34]
mov qword [rbp + 0x28], rax
lea rax, [r12 - 0x34]
mov qword [rbp + 0x10], rax
jne 0x1400061ad
mov r14d, gethostname
cmp r12, r14
jbe 0x140005e0c
mov edi, 0x400
lea r12, str.CoreModule
mov edx, edi
mov rcx, r12
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r8, rax
call fcn.14009a9d0
mov qword [rbp + 0x18], rax
lea ebx, [r14 - 4]
test rax, rax
je 0x1400053c6
lea rdx, [r15 + 4]
mov r8d, ebx
mov rcx, rax
call fcn.1401c3360
test eax, eax
je 0x140005d99
and qword [rsi + 0x9f0], 0
cmp word [rbp + 8], 0x14
jne 0x140005c66
mov rdx, qword [rbp + 0x10]
lea r9, [rbp + 8]
and qword [rbp + 8], 0
lea rcx, [r15 + 0x34]
xor r8d, r8d
call fcn.14004dae0
test eax, eax
jne 0x1400061ad
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi]
call fcn.14008e8b0
mov rdx, qword [rbp + 0x10]
lea r9, [rbp + 8]
mov r8, rax
mov qword [rbp + 0x18], rax
lea rcx, [r15 + 0x34]
call fcn.14004dae0
test eax, eax
jne 0x1400061ad
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x10], rax
test rcx, rcx
je 0x1400061ad
jmp 0x140005c6a
lea rcx, str.Server_verified_meshcore...
call fcn.140001090
xor r15d, r15d
cmp qword [rsi + 0x9f0], r15
je 0x140005642
mov rcx, qword [rsi + 0x10]
call fcn.14001cc94
mov rcx, qword [rsi + 0x10]
lea r8, str.clearTimeout
or edx, 0xffffffff
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
lea edx, [r15 - 2]
call fcn.14001ae30
mov rdx, qword [rsi + 0x9f0]
mov rcx, qword [rsi + 0x10]
call fcn.14001d5dc
mov rcx, qword [rsi + 0x10]
lea edx, [r15 + 1]
call fcn.140018ca0
mov rcx, qword [rsi + 0x10]
call fcn.14001d86c
mov r14d, 0x400
mov qword [rsi + 0x9f0], r15
lea r12, str.CoreModule
mov edx, r14d
mov rcx, r12
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x20], r15
mov rdx, r12
call fcn.14009a578
movsxd rdi, eax
mov dword [rbp + 8], edi
cmp edi, r13d
jg 0x1400054fc
lea rcx, str._meshcore_not_found..._n
jmp 0x140005649
lea rcx, str._Launching_meshcore..._n
call fcn.140001090
mov r9d, dword [rsi + 0x9fc]
test r9d, r9d
je 0x1400055c4
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.140001148
movsxd rbx, eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea r13d, [rbx + rdi]
movsxd rdi, r13d
mov rcx, rdi
call fcn.14008e944
mov rdx, r14
mov rcx, r12
mov r15, rax
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
lea r9, [rbx - 4]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8, rax
mov rdx, r12
call fcn.14009a578
mov ecx, dword [rbp + 8]
add ecx, 0xfffffffc
movsxd r8, ecx
lea rcx, [r15 + 4]
test rbx, rbx
je 0x1400055be
test rcx, rcx
jne 0x140005594
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x1400055b9
cmp r8, rbx
jb 0x1400055a7
mov r8, rbx
lea rdx, [rbp + 0x30]
call fcn.1401c2db0
jmp 0x1400055be
xor edx, edx
call fcn.1401c31c0
call fcn.1401ccb48
mov dword [rax], 0x22
call fcn.1401cc7b8
lea edi, [r13 - 4]
jmp 0x1400055f9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14008e944
mov rdx, r14
mov rcx, r12
mov r15, rax
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r9, r15
mov r8, rax
mov qword [rsp + 0x20], rdi
mov rdx, r12
call fcn.14009a578
mov rcx, qword [rsi + 0x10]
lea r8d, [rdi - 4]
lea rdx, [r15 + 4]
mov dword [rsp + 0x20], reloc.WS2_32.dll_listen
lea r9, str.CoreModule.js
call fcn.140082128
test eax, eax
jne 0x14000562c
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.140018c00
test eax, eax
je 0x140005635
mov rcx, qword [rsi + 0x10]
call fcn.14001d86c
mov rcx, r15
call fcn.1401ccb68
jmp 0x1400061ad
lea rcx, str._meshcore_already_running..._n
call fcn.140001090
jmp 0x1400061ad
mov rcx, qword [rsi + 0x38]
lea rdx, str..update.exe
xor r8d, r8d
call fcn.140003518
mov rsi, rax
lea rbx, [0x1402c4c20]
or edi, 0xffffffff
mov r14d, 1
and qword [rbp + 0x10], 0
mov r9d, edi
mov dword [rsp + 0x28], 0x1000
mov r8, rsi
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r8, [0x14029ccb8]
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.1401c7ebc
mov r9, qword [rbp + 0x10]
test r9, r9
je 0x1400056e4
mov rdx, r12
lea rcx, [r15 + 4]
sub rdx, r13
mov r8, r14
call fcn.1401d6310
mov rcx, qword [rbp + 0x10]
mov rbx, rax
call fcn.1401c7fa4
test rbx, rbx
jne 0x1400056f1
lea rbx, [0x1402c4c20]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140005679
mov ecx, reloc.WS2_32.dll_ntohl
jmp 0x140005cdc
mov rcx, qword [rsi + 0x38]
lea rdx, str..update.exe
xor r8d, r8d
call fcn.140003518
mov qword [rbp + 0x18], rax
mov rdi, rax
cmp r12d, r13d
jne 0x140005738
cmp dword [rsi + 0x9e4], 0
je 0x140005ab8
and dword [rsp + 0x20], 0
lea rcx, str.SelfUpdate____Starting_download...
jmp 0x140005aab
mov r14d, gethostname
cmp r12d, r14d
jne 0x1400061ad
lea rdx, [rbp + 0x130]
mov rcx, rdi
call fcn.140004124
xor r13d, r13d
test eax, eax
jne 0x140005a96
lea rdx, [r15 + 4]
lea r8d, [r14 - 4]
lea rcx, [rbp + 0x130]
call fcn.1401c3360
test eax, eax
jne 0x140005a96
mov rax, qword [rsi + 0x10]
mov r12, qword [rax + 0x70]
sub r12, qword [rax + 0x68]
sar r12, 4
cmp dword [rsi + 0x9e4], r13d
je 0x1400057af
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, str.SelfUpdate____Download_Complete..._Hash_verified
xor edx, edx
call fcn.14009718c
mov eax, dword [rsi + 0x9e8]
lea r15, [0x1402c7c20]
test eax, eax
je 0x14000584a
mov r9, qword [rsi + 0x38]
lea r8, str._s.zip
mov edx, 0x1000
mov rcx, r15
call fcn.140001148
mov rdx, r15
lea rcx, [rbp + 0x28]
call fcn.140096858
mov ebx, eax
test eax, eax
jne 0x14000580f
mov rdx, qword [rsi + 0x38]
lea rcx, [rbp + 0x28]
call fcn.140096858
mov ebx, eax
cmp dword [rsi + 0x9e4], r13d
je 0x140005831
lea rcx, str.SelfUpdate____Overriding_update_with_same_version...
jmp 0x14000581f
cmp dword [rsi + 0x9e4], r13d
je 0x140005831
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.14009718c
mov rdx, qword [rbp + 0x28]
mov r8d, ebx
mov rcx, rdi
call fcn.140096998
mov eax, dword [rsi + 0x9e8]
test eax, eax
jne 0x140005853
cmp dword [rsi + 0x9e0], r13d
je 0x1400058be
mov edx, 0x4000
lea rcx, [0x1402547f8]
call fcn.1401ccb7c
mov edx, 0x400
lea rcx, str.disableUpdate
mov rbx, rax
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
lea r9, [0x1402547f8]
mov r8, rax
mov qword [rsp + 0x28], r13
lea rdx, str.disableUpdate
mov qword [rsp + 0x20], rbx
call fcn.14009a060
cmp dword [rsi + 0x9e4], r13d
je 0x1400058be
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, str.SelfUpdate____Disabling_future_updates...
xor edx, edx
call fcn.14009718c
mov rcx, qword [rsi + 0x10]
lea rdx, str.require_zip_reader_
mov r9d, 0xe08
call fcn.1400197b0
mov rcx, qword [rsi + 0x10]
or edi, 0xffffffff
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.isZip
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
lea ebx, [rdi - 1]
mov edx, ebx
call fcn.14001ae30
mov r13, qword [rbp + 0x18]
mov rcx, qword [rsi + 0x10]
mov rdx, r13
call fcn.14001ca4c
mov rcx, qword [rsi + 0x10]
lea r14d, [rdi + 2]
mov edx, r14d
call fcn.140018ca0
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001baf8
test eax, eax
je 0x140005a7d
cmp dword [rsi + 0x9e4], 0
je 0x140005957
and dword [rsp + 0x20], 0
lea rcx, str.SelfUpdate____Unzipping_update...
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14009718c
mov rcx, qword [rsi + 0x10]
lea rdx, str.require_update_helper_
mov r9d, 0xe08
call fcn.1400197b0
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.start
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
mov rdx, r13
call fcn.14001ca4c
mov rcx, qword [rsi + 0x10]
mov edx, r14d
call fcn.140018ca0
test eax, eax
jne 0x140005a29
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.then
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
lea rdx, [0x140004b14]
mov ebx, 0x18075380
mov r14d, 6
mov r9d, ebx
mov dword [rsp + 0x20], r14d
mov r8d, edi
call fcn.14001d154
mov rcx, qword [rsi + 0x10]
lea rdx, [0x140004b78]
mov r9d, ebx
mov dword [rsp + 0x20], r14d
mov r8d, edi
call fcn.14001d154
mov rcx, qword [rsi + 0x10]
lea edx, [r14 - 4]
call fcn.140018ca0
jmp 0x140005a6c
cmp dword [rsi + 0x9e4], 0
je 0x140005a6c
mov rcx, qword [rsi + 0x10]
xor r8d, r8d
mov edx, edi
call fcn.14001be6c
mov r9, rax
lea r8, str.SelfUpdate____Error_Unzipping:__s
mov edx, 0x1000
mov rcx, r15
call fcn.140001148
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.14009718c
mov rcx, qword [rsi + 0x10]
mov edx, r12d
call fcn.14001ab04
jmp 0x1400061ad
mov rcx, qword [rsi + 0x10]
mov edx, r12d
call fcn.14001ab04
mov rcx, rsi
call fcn.140004960
jmp 0x1400061ad
cmp dword [rsi + 0x9e4], r13d
je 0x140005ab8
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.14009718c
mov rcx, rdi
call fcn.14008c974
jmp 0x1400061ad
mov ecx, ntohs
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, r14w
mov word [0x1402c8c20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
xor eax, eax
cmp dword [rsi + 0x9dc], eax
je 0x140005b0f
xorps xmm0, xmm0
movups xmmword [0x1402c8c24], xmm0
movups xmmword [0x1402c8c34], xmm0
movups xmmword [0x1402c8c44], xmm0
jmp 0x140005ba9
cmp dword [rsi + 0x9e0], eax
je 0x140005b56
movdqa xmm0, xmmword [0x14029f7d0]
movups xmmword [0x1402c8c24], xmm0
movups xmmword [0x1402c8c34], xmm0
movups xmmword [0x1402c8c44], xmm0
cmp dword [rsi + 0x9e4], eax
je 0x140005ba9
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
lea rcx, str.SelfUpdate____Forcing_Update...
xor edx, edx
call fcn.14009718c
jmp 0x140005ba9
add rsi, 0xa04
je 0x140005b81
movups xmm0, xmmword [rsi]
movups xmmword [0x1402c8c24], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [0x1402c8c34], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [0x1402c8c44], xmm0
jmp 0x140005ba9
xorps xmm0, xmm0
movups xmmword [0x1402c8c24], xmm0
movups xmmword [0x1402c8c34], xmm0
movups xmmword [0x1402c8c44], xmm0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
mov r9d, gethostname
mov rcx, rbx
jmp 0x140005d01
mov edx, 0x400
lea rcx, str.CoreModule
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r8, rax
call fcn.14009a9d0
mov ecx, dword [rsi + 0x84]
xorps xmm0, xmm0
neg ecx
mov rdi, rax
movups xmmword [0x1402c8c20], xmm0
sbb r14d, r14d
xor eax, eax
and r14d, 0x30
mov dword [0x1402c8c50], eax
add r14d, r13d
movups xmmword [0x1402c8c30], xmm0
lea ecx, [rax + 0xb]
movups xmmword [0x1402c8c40], xmm0
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp]
mov word [0x1402c8c20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
cmp dword [rsi + 0x84], 0
jne 0x140005c5e
test rdi, rdi
je 0x140005c5e
movups xmm0, xmmword [rdi]
mov r14d, gethostname
movups xmmword [0x1402c8c24], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [0x1402c8c34], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [0x1402c8c44], xmm0
mov r9d, r14d
jmp 0x140005cfd
mov rax, qword [rbp + 0x10]
mov r9, qword [rbp + 0x28]
mov r8d, 0xa
mov rcx, qword [rsi + 0x48]
mov rdx, r12
cdqe
mov qword [rsp + 0x20], rax
call fcn.14009a3bc
mov rdx, rdi
mov rcx, r12
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r8, rax
call fcn.14009a9d0
lea rdx, [r15 + 4]
mov qword [rbp + 0x18], rax
mov r8, rbx
mov rcx, rax
call fcn.1401c3360
test eax, eax
je 0x140005d17
mov rdx, rdi
mov rcx, r12
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r8, rax
mov rdx, r12
call fcn.14009abd8
mov rcx, rsi
call fcn.140003f70
mov ecx, ntohs
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp]
mov word [0x1402c8c20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
mov r9d, r13d
mov rcx, qword [rbp + 0x20]
lea r8, [0x1402c8c20]
mov edx, 2
call fcn.14009c2d4
jmp 0x1400061ad
mov rcx, rsi
call fcn.140003f70
mov rbx, rax
test rax, rax
je 0x140005d90
mov r8, qword [rbp + 0x10]
lea r9, str.CoreModule.js
mov rdx, qword [rbp + 0x28]
add r8d, 0xfffffffc
add rdx, r13
mov dword [rsp + 0x20], reloc.WS2_32.dll_listen
mov rcx, rax
call fcn.140082128
test eax, eax
jne 0x140005d5f
xor edx, edx
mov rcx, rbx
call fcn.140018c00
test eax, eax
je 0x140005d90
xor r8d, r8d
or edx, 0xffffffff
mov rcx, rbx
call fcn.14001be6c
mov r9, rax
lea r8, [0x14025367c]
mov edx, 0x1000
lea rcx, [0x1402c7c20]
call fcn.140001148
mov rcx, rbx
call fcn.14001d86c
mov rcx, qword [rsi + 0x48]
call fcn.14009af30
mov ecx, ntohs
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp]
mov word [0x1402c8c20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x140005de3
movups xmm0, xmmword [rax]
movups xmmword [0x1402c8c24], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [0x1402c8c34], xmm1
movups xmm0, xmmword [rax + 0x20]
jmp 0x140005c57
xor edx, edx
lea rcx, [0x1402c8c24]
mov r8d, 0xfffc
call fcn.1401c31c0
call fcn.1401ccb48
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401cc7b8
jmp 0x140005c5e
cmp r12d, r13d
jne 0x1400061ad
lea r12, str.CoreModule
mov edx, 0x400
mov rcx, r12
call fcn.1401ccb7c
mov rcx, qword [rsi + 0x48]
mov r8, rax
mov rdx, r12
call fcn.14009abd8
mov rcx, rsi
call fcn.140003f70
mov ecx, ntohs
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rbp]
mov word [0x1402c8c20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1402c8c22], ax
mov r9d, r13d
jmp 0x140005baf
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x10]
call fcn.140002ce4
mov rcx, qword [rsi + 0x10]
lea r8, str.emit
or edi, 0xffffffff
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
lea ebx, [rdi - 1]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
lea r8d, [rdi + 8]
lea rdx, str.Command
call fcn.14001c9ac
cmp byte [r15], 0x7b
mov rcx, qword [rsi + 0x10]
jne 0x14000612c
call fcn.14001cc94
mov rcx, qword [rsi + 0x10]
lea r8, str.JSON
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
lea r8, str.parse
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
lea edx, [rdi - 2]
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
call fcn.14001d900
mov rcx, qword [rsi + 0x10]
mov r8, r12
mov rdx, r15
call fcn.14001c9ac
mov rcx, qword [rsi + 0x10]
lea r14d, [rdi + 2]
mov edx, r14d
call fcn.140018c00
mov rcx, qword [rsi + 0x10]
test eax, eax
je 0x140005f3a
call fcn.14001d86c
mov rcx, qword [rsi + 0x10]
mov r8, r12
mov rdx, r15
call fcn.14001c9ac
jmp 0x14000617a
lea r8, str.action
mov edx, edi
call fcn.14001a2f0
test eax, eax
je 0x14000617a
mov rcx, qword [rsi + 0x10]
lea r9, [0x1402535d8]
and qword [rsp + 0x20], 0
lea r8, str.action
mov edx, edi
call fcn.14005f2bc
lea rdx, str.ping
mov rcx, rax
mov r15, rax
call fcn.1401d9f70
test eax, eax
jne 0x140005ff8
cmp dword [rsi + 0xb40], eax
jne 0x140005fec
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x10]
call fcn.140002ce4
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.emit
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
lea rdx, str.idleTimeoutModeChanged
mov r8d, reloc.WS2_32.dll_shutdown
call fcn.14001c9ac
mov rcx, qword [rsi + 0x10]
mov edx, r14d
call fcn.140018ca0
mov rcx, qword [rsi + 0x10]
call fcn.14001d900
mov dword [rsi + 0xb40], r14d
jmp 0x14000617a
lea rdx, str.pong
mov rcx, r15
call fcn.1401d9f70
test eax, eax
jne 0x14000617a
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x10]
call fcn.140002ce4
mov rcx, qword [rsi + 0x10]
lea r8, [0x140253980]
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001b5f4
test rax, rax
je 0x140006121
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.shift
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.140018b68
mov rcx, qword [rsi + 0x10]
lea r8, [0x140253a30]
mov edx, edi
call fcn.14001a2f0
test eax, eax
je 0x1400060e5
mov rcx, qword [rsi + 0x10]
call fcn.14001cc94
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str.clearTimeout
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
lea r8, [0x140253a30]
mov edx, 0xfffffffc
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, r14d
call fcn.140018ca0
mov rcx, qword [rsi + 0x10]
call fcn.14001d900
mov rcx, qword [rsi + 0x10]
mov edx, edi
call fcn.14001ae6c
mov rcx, qword [rsi + 0x10]
lea r8, str._res
mov edx, edi
call fcn.140019ed4
mov rcx, qword [rsi + 0x10]
mov edx, ebx
call fcn.14001ae30
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.140018ca0
mov rcx, qword [rsi + 0x10]
call fcn.14001d900
mov rcx, qword [rsi + 0x10]
call fcn.14001d900
jmp 0x14000617a
xor edx, edx
lea r8d, [rdx + 3]
call fcn.14001d54c
mov rcx, qword [rsi + 0x10]
mov r13d, 0xfffffffc
mov edx, r13d
call fcn.14001af14
mov rcx, qword [rsi + 0x10]
mov r9, r12
mov r8, r15
mov edx, r13d
call fcn.140018aa4
mov rcx, qword [rsi + 0x10]
lea r14d, [r13 + 5]
mov r9, r12
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov edx, r13d
call fcn.14001d294
lea r14d, [r13 + 6]
mov rcx, qword [rsi + 0x10]
mov edx, 2
call fcn.140018ca0
test eax, eax
je 0x1400061a1
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1400061a1
lea rdx, [0x1402535d8]
call fcn.14005fe98
mov rcx, qword [rsi + 0x10]
mov edx, r14d
call fcn.14001d720
mov rcx, qword [rbp + 0x160]
xor rcx, rbp
call fcn.1401c0ed0
lea rsp, [rbp + 0x178]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret