Function at 0x14008ce50
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
xor r12d, r12d
mov byte [rbp + 0x67], 1
mov qword [rbp - 0x49], r12
mov edi, r8d
mov dword [rbp - 0x59], r12d
mov rsi, rdx
mov qword [rbp - 0x39], r12
mov r14, rcx
mov qword [rcx + 0x20], r12
mov r15d, r12d
mov r13d, r12d
cmp r8d, 0xffffffff
jl 0x14008ecfe
jne 0x14008cec5
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], r12b
jne 0x14008ceb0
cmp rax, 0x7fffffff
ja 0x14008ecfe
mov qword [rsp + 0x98], rbx
xor edx, edx
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm8
lea ecx, [rdx + 4]
call fcn.1400be458
test rax, rax
je 0x14008cefb
mov rcx, rax
call fcn.1400ba110
mov qword [rbp - 0x39], rax
lea rdx, str.C_b_r_t_f
mov ecx, 4
call fcn.1400be458
mov eax, dword [r14 + 0x20]
movzx edx, byte [rbp + 0x67]
movss xmm6, dword [0x1400dfa7c]
movss xmm7, dword [0x1400dfa78]
movsd xmm8, qword [0x1400dfa80]
lea r10, [0x140000000]
movabs r11, 0x2002000020000009
cmp eax, edi
je 0x14008ebaf
test byte [r14 + 0x40], 0x10
je 0x14008cfa3
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008cf90
cmp cl, 0x80
jb 0x14008cfa3
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008cf6b
mov r13d, 1
jmp 0x14008cf9f
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008cf7c
mov r13d, 2
jmp 0x14008cf9f
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008ea02
mov r13d, 3
jmp 0x14008cf9f
and cl, 0xc0
cmp cl, 0x80
jne 0x14008ea02
dec r13d
mov dword [rbp - 0x59], r13d
movsxd r8, dword [r14 + 0x14]
mov r9, qword [r14 + 0x38]
mov rax, r8
movzx edx, byte [rsi]
shl rax, 5
mov byte [rbp + 0x67], dl
mov ecx, dword [rax + r9]
cmp ecx, 0x1a
ja case.default.0x14008dbf5
nop word [rax + rax]
movsxd rax, ecx
mov ecx, dword [r10 + rax*4 + 0x8ed0c]
add rcx, r10
jmp rcx
movzx ecx, dl
call fcn.1400b9d24
test eax, eax
je 0x14008d085
mov eax, dword [r14 + 0x20]
inc rsi
movzx edx, byte [rbp + 0x67]
inc eax
mov qword [rbp + 0x6f], rsi
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008ebd5
cmp eax, edi
je 0x14008ebaf
test byte [r14 + 0x40], 0x10
je 0x14008d072
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008d05f
cmp cl, 0x80
jb 0x14008d072
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008d03a
mov r13d, 1
jmp 0x14008d06e
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008d04b
mov r13d, 2
jmp 0x14008d06e
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008ea02
mov r13d, 3
jmp 0x14008d06e
and cl, 0xc0
cmp cl, 0x80
jne 0x14008ea02
dec r13d
mov dword [rbp - 0x59], r13d
movzx ecx, byte [rsi]
mov byte [rbp + 0x67], cl
call fcn.1400b9d24
test eax, eax
jne 0x14008cff0
cmp byte [rbp + 0x67], 0x2f
jne 0x14008d096
test byte [r14 + 0x40], 1
je 0x14008dbf7
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov eax, dword [rdx + rcx + 4]
mov dword [rdx + rcx], eax
jmp 0x14008dbb6
movsx eax, dl
add eax, 0xffffffde
cmp eax, 0x59
ja case.0x14008d0d3.42
cdqe
movzx eax, byte [r10 + rax + 0x8ed9c]
mov ecx, dword [r10 + rax*4 + 0x8ed78]
add rcx, r10
jmp rcx
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], 0x1a
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
mov dword [r14 + 0x1c], r12d
jmp 0x14008dbb6
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], 3
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
mov dword [r14 + 0x1c], r12d
jmp 0x14008dbb6
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], reloc.WS2_32.dll_listen
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
mov dword [r14 + 0x1c], r12d
jmp 0x14008dbb6
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], reloc.WS2_32.dll_ntohl
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
mov dword [r14 + 0x18], r12d
jmp 0x14008dbb6
test r8d, r8d
je 0x14008ebd5
movsxd rcx, r8d
shl rcx, 5
mov rcx, qword [rcx + r9 + 0x10]
call sym.lightway.exe_json_object_get
movsxd rdx, dword [r14 + 0x14]
mov r15, rax
mov rcx, qword [r14 + 0x38]
mov rbx, rdx
shl rbx, 5
shl rdx, 5
mov qword [rbp - 0x49], rax
mov dword [rbx + rcx], r12d
mov rcx, qword [r14 + 0x38]
mov dword [rdx + rcx + 4], 1
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rbx + rcx + 0x10]
call sym.lightway.exe_json_object_put
mov rax, qword [r14 + 0x38]
mov qword [rbx + rax + 0x10], r12
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rbx + rcx + 0x18]
call fcn.1400b8268
mov rax, qword [r14 + 0x38]
mov qword [rbx + rax + 0x18], r12
dec dword [r14 + 0x14]
jmp 0x14008dbb6
test byte [r14 + 0x40], 1
lea rbx, str.infinity
mov r8d, dword [r14 + 0x1c]
lea rax, str.Infinity
cmovne rbx, rax
cmp r8d, 8
jge 0x14008d2b9
nop dword [rax]
mov r9d, dword [r14 + 0x40]
movzx ecx, byte [rsi]
test r9b, 1
jne 0x14008d221
call fcn.1400bdf28
mov r8d, dword [r14 + 0x1c]
movzx ecx, al
mov r9d, dword [r14 + 0x40]
movzx edx, byte [rbp + 0x67]
movsxd rax, r8d
cmp cl, byte [rax + rbx]
jne case.0x14008d0d3.42
inc dword [r14 + 0x20]
inc r8d
inc rsi
mov dword [r14 + 0x1c], r8d
mov qword [rbp + 0x6f], rsi
cmp dword [r14 + 0x20], edi
je 0x14008ebaf
test r9b, 0x10
je 0x14008d2a9
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008d296
cmp cl, 0x80
jb 0x14008d2a9
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008d26d
mov r13d, 1
jmp 0x14008d2a5
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008d27e
mov r13d, 2
jmp 0x14008d2a5
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008ea1c
mov r8d, dword [r14 + 0x1c]
mov r13d, 3
jmp 0x14008d2a5
and cl, 0xc0
cmp cl, 0x80
jne 0x14008ea1c
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
cmp r8d, 8
jl 0x14008d200
mov rax, qword [r14 + 8]
cmp dword [rax + 8], 0
jle 0x14008d2d0
mov rax, qword [rax]
cmp byte [rax], 0x2d
jne 0x14008d2d0
movaps xmm0, xmm6
jmp 0x14008d2d3
movaps xmm0, xmm7
cvtss2sd xmm0, xmm0
call sym.lightway.exe_json_object_new_double
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x10], rax
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
cmp qword [rax + rcx + 0x10], 0
je 0x14008ebd1
mov dword [rax + rcx + 4], 2
jmp 0x14008dba6
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008d343
mov rax, qword [r9]
mov byte [rcx + rax], dl
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008d355
mov r8d, 1
lea rdx, [rbp + 0x67]
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
mov eax, dword [r14 + 0x1c]
inc eax
cmp eax, 4
jge 0x14008d369
cmp eax, 3
jge 0x14008d36e
mov edi, eax
jmp 0x14008d373
mov eax, 4
mov edi, 3
test byte [r14 + 0x40], 1
movsxd rbx, eax
jne 0x14008d397
mov rdx, qword [r14 + 8]
lea rcx, str.null
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400be04c
test eax, eax
je 0x14008d3b1
mov rdx, qword [r14 + 8]
lea rcx, str.null
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400bdf70
test eax, eax
jne 0x14008d3eb
mov eax, dword [r14 + 0x1c]
cmp eax, 4
jne 0x14008dd03
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
mov edi, dword [rbp + 0x77]
shl rcx, 5
mov qword [rcx + rax + 0x10], r12
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], 2
jmp 0x14008dba6
test byte [r14 + 0x40], 1
movsxd rbx, edi
jne 0x14008d40f
mov rdx, qword [r14 + 8]
lea rcx, [0x1400df84c]
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400be04c
test eax, eax
je 0x14008d42d
mov rdx, qword [r14 + 8]
lea rcx, [0x1400df84c]
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400bdf70
test eax, eax
jne 0x14008ea26
mov eax, dword [r14 + 0x1c]
cmp eax, 3
jne 0x14008dd03
movaps xmm0, xmm8
call sym.lightway.exe_json_object_new_double
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x10], rax
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
cmp qword [rax + rcx + 0x10], 0
je 0x14008ebd1
mov edi, dword [rbp + 0x77]
mov dword [rax + rcx + 4], 2
jmp 0x14008dba6
test r12b, r12b
jne 0x14008dd0e
cmp dl, 0x5c
je 0x14008dd0e
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 3
jle 0x14008d4e1
movzx eax, word [0x14010a8f0]
mov rcx, qword [rcx]
mov word [rdx + rcx], ax
movzx eax, byte [0x14010a8f2]
mov byte [rdx + rcx + 2], al
mov rax, qword [r14 + 8]
add dword [rax + 8], 3
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], r12b
mov qword [r14 + 0x28], 0
mov dword [r14 + 0x1c], r12d
jmp 0x14008d096
mov r8d, 3
lea rdx, [0x14010a8f0]
call sym.lightway.exe_printbuf_memappend
mov qword [r14 + 0x28], 0
mov dword [r14 + 0x1c], r12d
jmp 0x14008d096
test r12b, r12b
jne 0x14008e364
cmp dl, 0x75
je 0x14008e364
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 3
jle 0x14008d55a
movzx eax, word [0x14010a8f0]
mov rcx, qword [rcx]
mov word [rdx + rcx], ax
movzx eax, byte [0x14010a8f2]
mov byte [rdx + rcx + 2], al
mov rax, qword [r14 + 8]
add dword [rax + 8], 3
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], r12b
jmp 0x14008d56c
mov r8d, 3
lea rdx, [0x14010a8f0]
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov qword [r14 + 0x28], 0
mov dword [r14 + 0x1c], r12d
mov dword [rcx + rax], 9
jmp 0x14008dbb6
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008d5c1
mov rax, qword [r9]
mov byte [rcx + rax], dl
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008d5d3
mov r8d, 1
lea rdx, [rbp + 0x67]
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
mov ebx, dword [r14 + 0x1c]
inc ebx
cmp ebx, 4
jge 0x14008d5e2
mov eax, ebx
jmp 0x14008d5ef
mov eax, 4
cmp ebx, 5
jl 0x14008d5ef
lea ebx, [rax + 1]
test byte [r14 + 0x40], 1
movsxd rdi, eax
jne 0x14008d613
mov rdx, qword [r14 + 8]
lea rcx, str.true
mov r8, rdi
mov rdx, qword [rdx]
call fcn.1400be04c
test eax, eax
je 0x14008d62d
mov rdx, qword [r14 + 8]
lea rcx, str.true
mov r8, rdi
mov rdx, qword [rdx]
call fcn.1400bdf70
test eax, eax
jne 0x14008d647
mov eax, dword [r14 + 0x1c]
cmp eax, 4
jne 0x14008dd03
lea ecx, [rax - 3]
call sym.lightway.exe_json_object_new_boolean
jmp 0x14008d443
test byte [r14 + 0x40], 1
movsxd rbx, ebx
jne 0x14008d66b
mov rdx, qword [r14 + 8]
lea rcx, str.false
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400be04c
test eax, eax
je 0x14008d689
mov rdx, qword [r14 + 8]
lea rcx, str.false
mov r8, rbx
mov rdx, qword [rdx]
call fcn.1400bdf70
test eax, eax
jne 0x14008ea33
mov eax, dword [r14 + 0x1c]
cmp eax, 5
jne 0x14008dd03
xor ecx, ecx
call sym.lightway.exe_json_object_new_boolean
jmp 0x14008d443
mov rcx, qword [r14 + 8]
xor r10d, r10d
mov r12, rsi
mov r15d, r10d
mov esi, r10d
mov ebx, r10d
lea edi, [r10 + 1]
cmp dword [rcx + 8], r10d
jle 0x14008d71d
mov rcx, qword [rcx]
lea edx, [rdi + 0x64]
call fcn.1400b1d34
mov r8, rax
test rax, rax
jne 0x14008d6e9
mov rcx, qword [r14 + 8]
lea edx, [rdi + 0x44]
mov rcx, qword [rcx]
call fcn.1400b1d34
mov r8, rax
test rax, rax
je 0x14008d70c
mov rdx, qword [r14 + 8]
mov esi, edi
mov ebx, edi
mov eax, dword [rdx + 8]
dec eax
movsxd rcx, eax
add rcx, qword [rdx]
cmp r8, rcx
je 0x14008d70c
xor r10d, r10d
mov edi, r10d
mov ebx, r10d
jmp 0x14008d70f
xor r10d, r10d
movzx edx, byte [rbp + 0x67]
movabs r11, 0x2002000020000009
test dl, dl
je 0x14008d825
mov r8, qword [rbp + 0x6f]
mov r9d, dword [rbp + 0x77]
nop dword [rax]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x14008d768
test esi, esi
jne 0x14008d742
lea eax, [rdx - 0x45]
test al, 0xdf
je 0x14008d768
test edi, edi
je 0x14008d74b
cmp dl, 0x2d
je 0x14008d768
test ebx, ebx
je 0x14008d754
cmp dl, 0x2b
je 0x14008d768
cmp dword [r14 + 0x18], 0
jne 0x14008d825
cmp dl, 0x2e
jne 0x14008d825
inc r15d
mov edi, r10d
cmp dl, 0x2e
je 0x14008d787
lea eax, [rdx - 0x45]
test al, 0xdf
jne 0x14008d794
mov esi, 1
mov dword [r14 + 0x18], esi
mov edi, esi
jmp 0x14008d794
mov dword [r14 + 0x18], 1
mov edi, 1
mov eax, dword [r14 + 0x20]
inc r8
inc eax
mov qword [rbp + 0x6f], r8
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008ea6c
cmp eax, r9d
je 0x14008ea4a
test byte [r14 + 0x40], 0x10
je 0x14008d814
movzx ecx, byte [r8]
test r13d, r13d
jne 0x14008d801
cmp cl, 0x80
jb 0x14008d814
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008d7dc
mov r13d, 1
jmp 0x14008d810
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008d7ed
mov r13d, 2
jmp 0x14008d810
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008ea40
mov r13d, 3
jmp 0x14008d810
and cl, 0xc0
cmp cl, 0x80
jne 0x14008ea40
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [r8]
mov ebx, edi
mov byte [rbp + 0x67], dl
test dl, dl
jne 0x14008d730
cmp dword [r14 + 0x14], 0
jle 0x14008d856
lea eax, [rdx - 0x2c]
cmp al, 0x3d
ja 0x14008d83d
movsx rax, al
bt r11, rax
jb 0x14008d856
cmp dl, 0x7d
je 0x14008d856
movzx ecx, dl
call fcn.1400b9d24
movzx edx, byte [rbp + 0x67]
test eax, eax
je 0x14008eaca
test r15d, r15d
jle 0x14008d8a4
mov r9, qword [r14 + 8]
mov rdx, r12
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, r15d
jle 0x14008d895
add rcx, qword [r9]
movsxd r8, r15d
call fcn.1400b14c0
mov rax, qword [r14 + 8]
add dword [rax + 8], r15d
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008d8a0
mov r8d, r15d
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
movzx edx, byte [rbp + 0x67]
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
cmp byte [rax], 0x2d
jne 0x14008d8e7
cmp r15d, 1
jg 0x14008d8e7
lea eax, [rdx - 0x49]
test al, 0xdf
jne 0x14008d8e7
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
mov rsi, qword [rbp + 0x6f]
mov edi, dword [rbp + 0x77]
mov r15, qword [rbp - 0x49]
shl rcx, 5
xor r12d, r12d
mov dword [rcx + rax], 0x1a
mov dword [r14 + 0x1c], r12d
jmp 0x14008dbb6
cmp dword [r14 + 0x18], 0
mov rax, rcx
je 0x14008d95f
test byte [r14 + 0x40], 1
jne 0x14008d954
cmp dword [rcx + 8], 1
jle 0x14008d954
movabs r13, 0x100000001000001
nop dword [rax + rax]
movsxd r8, dword [rcx + 8]
mov r9, qword [rcx]
movzx edx, byte [r8 + r9 - 1]
lea eax, [rdx - 0x2d]
cmp al, 0x38
ja 0x14008d92a
bt r13, rax
jb 0x14008d932
mov rax, rcx
cmp dl, 0x2b
jne 0x14008d94c
mov byte [r8 + r9 - 1], 0
mov rax, qword [r14 + 8]
dec dword [rax + 8]
mov rax, qword [r14 + 8]
mov rcx, rax
cmp dword [rax + 8], 1
jg 0x14008d910
movzx edx, byte [rbp + 0x67]
mov r13d, dword [rbp - 0x59]
cmp dword [r14 + 0x18], 0
jne 0x14008d9f9
mov rcx, qword [rax]
cmp byte [rcx], 0x2d
jne 0x14008d986
lea rdx, [rbp - 0x41]
call sym.lightway.exe_json_parse_int64
test eax, eax
jne 0x14008d982
mov rcx, qword [rbp - 0x41]
call sym.lightway.exe_json_object_new_int64
jmp 0x14008da29
movzx edx, byte [rbp + 0x67]
cmp dword [r14 + 0x18], 0
jne 0x14008d9f9
mov rax, qword [r14 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x2d
je 0x14008d9ee
lea rdx, [rbp - 0x31]
call sym.lightway.exe_json_parse_uint64
test eax, eax
jne 0x14008d9ea
mov rdx, qword [rbp - 0x31]
test rdx, rdx
je 0x14008d9c6
mov rax, qword [r14 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x30
jne 0x14008d9c6
test byte [r14 + 0x40], 1
jne 0x14008eab9
movabs rax, 0x7fffffffffffffff
mov rcx, rdx
cmp rdx, rax
ja 0x14008d9e3
mov qword [rbp - 0x41], rdx
call sym.lightway.exe_json_object_new_int64
jmp 0x14008da29
call sym.lightway.exe_json_object_new_uint64
jmp 0x14008da29
movzx edx, byte [rbp + 0x67]
cmp dword [r14 + 0x18], 0
je 0x14008eaca
mov rax, qword [r14 + 8]
lea rdx, [rbp - 0x29]
mov rdi, qword [rax]
movsxd rbx, dword [rax + 8]
mov rcx, rdi
call fcn.1400bdd64
add rbx, rdi
cmp rbx, qword [rbp - 0x29]
jne 0x14008eac6
mov rdx, qword [r14 + 8]
mov rdx, qword [rdx]
call sym.lightway.exe_json_object_new_double_s
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x10], rax
movsxd rcx, dword [r14 + 0x14]
mov rdx, qword [r14 + 0x38]
mov rax, rcx
shl rax, 5
cmp qword [rax + rdx + 0x10], 0
je 0x14008ebd1
mov rsi, qword [rbp + 0x6f]
mov edi, dword [rbp + 0x77]
mov r15, qword [rbp - 0x49]
movsxd rax, ecx
shl rax, 5
mov dword [rax + rdx + 4], 2
movsxd rcx, dword [r14 + 0x14]
shl rcx, 5
xor r12d, r12d
jmp 0x14008dbae
cmp dl, 0x5d
je 0x14008dd22
mov eax, dword [r14 + 0x10]
dec eax
cmp r8d, eax
jge 0x14008ead7
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], reloc.WS2_32.dll_recv
jmp 0x14008dafb
movsxd rcx, r8d
mov rdx, r15
shl rcx, 5
mov rcx, qword [rcx + r9 + 0x10]
call sym.lightway.exe_json_object_array_add
test eax, eax
jne 0x14008ebd1
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_recvfrom
jmp 0x14008dba6
mov eax, dword [r14 + 0x10]
dec eax
cmp r8d, eax
jge 0x14008ead7
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], reloc.WS2_32.dll_shutdown
movsxd rcx, dword [r14 + 0x14]
lea eax, [rcx + 1]
mov dword [r14 + 0x14], eax
lea rbx, [rcx + 1]
mov rax, qword [r14 + 0x38]
shl rbx, 5
mov dword [rbx + rax], r12d
mov rax, qword [r14 + 0x38]
mov dword [rax + rbx + 4], 1
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rcx + rbx + 0x10]
call sym.lightway.exe_json_object_put
mov rax, qword [r14 + 0x38]
mov qword [rax + rbx + 0x10], r12
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rcx + rbx + 0x18]
call fcn.1400b8268
mov rax, qword [r14 + 0x38]
mov qword [rax + rbx + 0x18], r12
jmp 0x14008dbb6
movsxd rcx, r8d
mov r8, r15
shl rcx, 5
mov rdx, qword [rcx + r9 + 0x18]
mov rcx, qword [rcx + r9 + 0x10]
call sym.lightway.exe_json_object_object_add
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1400b8268
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov qword [rcx + rax + 0x18], r12
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_socket
movsxd rcx, dword [r14 + 0x14]
shl rcx, 5
mov rax, qword [r14 + 0x38]
mov dword [rcx + rax], r12d
movsxd r8, dword [r14 + 0x14]
mov r9, qword [r14 + 0x38]
mov rax, r8
movzx edx, byte [rbp + 0x67]
shl rax, 5
mov ecx, dword [rax + r9]
cmp ecx, 0x1a
ja case.default.0x14008dbf5
movsxd rax, ecx
lea r10, [0x140000000]
movabs r11, 0x2002000020000009
mov ecx, dword [r10 + rax*4 + 0x8ed0c]
add rcx, r10
jmp rcx
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 1
jle 0x14008dc34
mov rcx, qword [rcx]
movzx eax, byte [rbp + 0x67]
mov byte [rdx + rcx], al
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008dc43
mov r8d, 1
lea rdx, [rbp + 0x67]
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax], 4
jmp 0x14008e9dd
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], r12d
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_select
call sym.lightway.exe_json_object_new_object
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x10], rax
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
cmp qword [rcx + rax + 0x10], 0
je 0x14008ebd1
jmp 0x14008e9dd
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], r12d
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_ntohs
call sym.lightway.exe_json_object_new_array
jmp 0x14008dc7f
test byte [r14 + 0x40], 1
jne case.0x14008d0d3.42
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], 8
mov rcx, qword [r14 + 8]
call sym.lightway.exe_printbuf_reset
movzx edx, byte [rbp + 0x67]
mov byte [r14 + 0x30], dl
jmp case.default.0x14008dbf5
inc eax
mov dword [r14 + 0x1c], eax
jmp 0x14008e9dd
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], select
jmp 0x14008e9dd
movsxd rcx, r8d
xor edx, edx
shl rcx, 5
mov rcx, qword [rcx + r9 + 0x10]
call sym.lightway.exe_json_object_array_shrink
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
cmp dword [rax + rcx], 0x18
jne 0x14008dd52
test byte [r14 + 0x40], 1
jne 0x14008eae4
mov dword [rax + rcx + 4], 2
jmp 0x14008e9cd
cmp dl, 0x2a
jne 0x14008dd6b
mov ecx, 5
jmp 0x14008dd79
cmp dl, 0x2f
jne 0x14008eaf1
mov ecx, 6
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], ecx
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 1
jle 0x14008ddbb
mov rcx, qword [rcx]
movzx eax, byte [rbp + 0x67]
mov byte [rdx + rcx], al
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e9dd
mov r8d, 1
lea rdx, [rbp + 0x67]
call sym.lightway.exe_printbuf_memappend
jmp 0x14008e9dd
mov rbx, rsi
cmp dl, 0x2a
je 0x14008de69
nop dword [rax + rax]
mov eax, dword [r14 + 0x20]
inc rsi
inc eax
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008eb2a
cmp eax, edi
je 0x14008eb08
test byte [r14 + 0x40], 0x10
je 0x14008de5a
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008de47
cmp cl, 0x80
jb 0x14008de5a
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008de22
mov r13d, 1
jmp 0x14008de56
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008de33
mov r13d, 2
jmp 0x14008de56
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008eafe
mov r13d, 3
jmp 0x14008de56
and cl, 0xc0
cmp cl, 0x80
jne 0x14008eafe
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
cmp dl, 0x2a
jne 0x14008dde0
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
inc r8
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008deb0
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
inc eax
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008dec1
mov r8d, esi
mov rcx, r9
sub r8d, ebx
inc r8d
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax], 7
jmp 0x14008e9dd
mov rbx, rsi
cmp dl, 0xa
je 0x14008df79
nop word [rax + rax]
mov eax, dword [r14 + 0x20]
inc rsi
inc eax
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008eb2a
cmp eax, edi
je 0x14008eb08
test byte [r14 + 0x40], 0x10
je 0x14008df6a
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008df57
cmp cl, 0x80
jb 0x14008df6a
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008df32
mov r13d, 1
jmp 0x14008df66
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008df43
mov r13d, 2
jmp 0x14008df66
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008eafe
mov r13d, 3
jmp 0x14008df66
and cl, 0xc0
cmp cl, 0x80
jne 0x14008eafe
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
cmp dl, 0xa
jne 0x14008def0
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008dfbe
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e9cd
mov r8d, esi
mov rcx, r9
sub r8d, ebx
call sym.lightway.exe_printbuf_memappend
jmp 0x14008e9cd
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e002
mov rax, qword [r9]
mov byte [rcx + rax], dl
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e014
mov r8d, 1
lea rdx, [rbp + 0x67]
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov eax, 5
shl rcx, 5
add rcx, qword [r14 + 0x38]
cmp byte [rbp + 0x67], 0x2f
cmove eax, r12d
mov dword [rcx], eax
jmp 0x14008e9dd
movzx r8d, byte [r14 + 0x30]
mov rbx, rsi
cmp dl, r8b
je 0x14008e0d7
cmp dl, 0x5c
je 0x14008e120
mov eax, dword [r14 + 0x20]
inc rsi
inc eax
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008eb2a
cmp eax, edi
je 0x14008eb08
test byte [r14 + 0x40], 0x10
je 0x14008e0c8
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008e0b5
cmp cl, 0x80
jb 0x14008e0c8
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008e090
mov r13d, 1
jmp 0x14008e0c4
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008e0a1
mov r13d, 2
jmp 0x14008e0c4
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008eafe
mov r13d, 3
jmp 0x14008e0c4
and cl, 0xc0
cmp cl, 0x80
jne 0x14008eafe
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
cmp dl, r8b
jne 0x14008e045
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008e19c
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e1aa
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008e162
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e170
mov r8d, esi
mov rcx, r9
sub r8d, ebx
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], 8
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax], 9
jmp 0x14008e9dd
mov r8d, esi
mov rcx, r9
sub r8d, ebx
call sym.lightway.exe_printbuf_memappend
mov rcx, qword [r14 + 8]
mov edx, dword [rcx + 8]
mov rcx, qword [rcx]
call sym.lightway.exe_json_object_new_string_len
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x10], rax
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
cmp qword [rax + rcx + 0x10], 0
je 0x14008ebd1
mov dword [rax + rcx + 4], 2
jmp 0x14008e9cd
movsx eax, dl
add eax, 0xffffffde
cmp eax, 0x53
ja case.0x14008e214.37
cdqe
movzx eax, byte [r10 + rax + 0x8ee08]
mov ecx, dword [r10 + rax*4 + 0x8edf8]
add rcx, r10
jmp rcx
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e247
mov rax, qword [r9]
mov byte [rcx + rax], dl
mov rax, qword [r14 + 8]
inc dword [rax + 8]
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e259
lea rdx, [rbp + 0x67]
mov r8d, 1
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov eax, dword [rdx + rcx + 4]
mov dword [rdx + rcx], eax
jmp 0x14008e9dd
cmp dl, 0x62
jne 0x14008e29b
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e292
mov rax, qword [r9]
mov byte [rcx + rax], 8
jmp 0x14008e22f
lea rdx, [0x1400dfa68]
jmp 0x14008e24b
cmp dl, 0x6e
jne 0x14008e2c8
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e2bf
mov rax, qword [r9]
mov byte [rcx + rax], 0xa
jmp 0x14008e22f
lea rdx, [0x1400dd4c0]
jmp 0x14008e24b
cmp dl, 0x72
jne 0x14008e2f8
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e2ec
mov rax, qword [r9]
mov byte [rcx + rax], reloc.WS2_32.dll_listen
jmp 0x14008e22f
lea rdx, [0x1400dfa6c]
jmp 0x14008e24b
cmp dl, 0x74
jne 0x14008e328
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e31c
mov rax, qword [r9]
mov byte [rcx + rax], 9
jmp 0x14008e22f
lea rdx, [0x1400dfa70]
jmp 0x14008e24b
cmp dl, 0x66
jne 0x14008e259
mov r9, qword [r14 + 8]
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e350
mov rax, qword [r9]
mov byte [rcx + rax], listen
jmp 0x14008e22f
lea rdx, [0x1400dfa74]
jmp 0x14008e24b
mov dword [r14 + 0x28], r12d
mov dword [r14 + 0x1c], r12d
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9], 0xa
jmp 0x14008e9dd
test dl, dl
je case.0x14008e214.37
mov rcx, qword [str.0123456789abcdefABCDEF]
movsx edx, dl
call fcn.1400b1d34
test rax, rax
je 0x14008eb79
movsx eax, byte [rbp + 0x67]
cmp al, 0x39
jg 0x14008e3a6
lea r8d, [rax - 0x30]
jmp 0x14008e3b1
mov r8d, eax
and r8d, 7
add r8d, 9
mov edx, dword [r14 + 0x1c]
mov ecx, 3
sub ecx, edx
shl ecx, 2
shl r8d, cl
or r8d, dword [r14 + 0x28]
lea eax, [rdx + 1]
mov dword [r14 + 0x28], r8d
mov dword [r14 + 0x1c], eax
cmp eax, 4
jge 0x14008e47a
inc dword [r14 + 0x20]
inc rsi
cmp dword [r14 + 0x20], edi
je 0x14008ebaf
test byte [r14 + 0x40], 0x10
je 0x14008e46f
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008e45c
cmp cl, 0x80
jb 0x14008e46f
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008e41d
mov r13d, 1
mov byte [rbp + 0x67], cl
mov dword [rbp - 0x59], r13d
movzx edx, cl
jmp case.0x14008dbf5.10
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008e43b
movzx edx, byte [rsi]
mov r13d, 2
mov dword [rbp - 0x59], r13d
mov byte [rbp + 0x67], dl
jmp case.0x14008dbf5.10
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008ea1c
movzx edx, byte [rsi]
mov r13d, 3
mov dword [rbp - 0x59], r13d
mov byte [rbp + 0x67], dl
jmp case.0x14008dbf5.10
and cl, 0xc0
cmp cl, 0x80
jne 0x14008ea1c
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
jmp case.0x14008dbf5.10
mov ecx, dword [r14 + 0x2c]
mov dword [r14 + 0x1c], r12d
test ecx, ecx
je 0x14008e513
mov eax, r8d
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x14008e4b5
and ecx, 0x3ff
and r8d, 0x3ff
add ecx, 0x40
shl ecx, 0xa
add r8d, ecx
mov dword [r14 + 0x28], r8d
jmp 0x14008e50f
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 3
jle 0x14008e4f9
movzx eax, word [0x14010a8f0]
mov rcx, qword [rcx]
mov word [rdx + rcx], ax
movzx eax, byte [0x14010a8f2]
mov byte [rdx + rcx + 2], al
mov rax, qword [r14 + 8]
add dword [rax + 8], 3
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e50b
mov r8d, 3
lea rdx, [0x14010a8f0]
call sym.lightway.exe_printbuf_memappend
mov r8d, dword [r14 + 0x28]
mov dword [r14 + 0x2c], r12d
cmp r8d, 0x80
jae 0x14008e548
mov r9, qword [r14 + 8]
mov byte [rbp + 0x7f], r8b
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, 1
jle 0x14008e53f
mov rax, qword [r9]
mov byte [rcx + rax], r8b
jmp 0x14008e22f
lea rdx, [rbp + 0x7f]
jmp 0x14008e24b
mov eax, r8d
cmp r8d, 0x800
jae 0x14008e5b0
mov rcx, qword [r14 + 8]
and r8b, 0x3f
shr eax, 6
or r8b, 0x80
or al, 0xc0
mov byte [rbp - 0x54], r8b
mov byte [rbp - 0x55], al
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 2
jle 0x14008e5a1
mov rcx, qword [rcx]
movzx eax, word [rbp - 0x55]
mov word [rdx + rcx], ax
mov rax, qword [r14 + 8]
add dword [rax + 8], 2
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e259
mov r8d, 2
lea rdx, [rbp - 0x55]
jmp 0x14008e254
and eax, 0xfc00
cmp eax, 0xd800
jne 0x14008e5dc
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [r14 + 0x2c], r8d
mov dword [r14 + 0x28], r12d
mov dword [rcx + rax], listen
jmp 0x14008e9dd
cmp eax, 0xdc00
je 0x14008e6e6
cmp r8d, 0x10000
jae 0x14008e664
mov rcx, qword [r14 + 8]
mov eax, r8d
shr eax, 0xc
or al, 0xe0
mov byte [rbp - 0x51], al
mov eax, r8d
shr eax, 6
and r8b, 0x3f
and al, 0x3f
or r8b, 0x80
or al, 0x80
mov byte [rbp - 0x4f], r8b
mov byte [rbp - 0x50], al
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 3
jle 0x14008e655
movzx eax, word [rbp - 0x51]
mov rcx, qword [rcx]
mov word [rdx + rcx], ax
movzx eax, byte [rbp - 0x4f]
mov byte [rdx + rcx + 2], al
mov rax, qword [r14 + 8]
add dword [rax + 8], 3
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e259
lea rdx, [rbp - 0x51]
mov r8d, 3
jmp 0x14008e254
cmp r8d, 0x110000
jae 0x14008e6e6
mov rcx, qword [r14 + 8]
mov eax, r8d
shr eax, 0x12
and al, 7
or al, 0xf0
mov byte [rbp - 0x4d], al
mov eax, r8d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp - 0x4c], al
mov eax, r8d
shr eax, 6
and r8b, 0x3f
and al, 0x3f
or r8b, 0x80
or al, 0x80
mov byte [rbp - 0x4a], r8b
mov byte [rbp - 0x4b], al
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 4
jle 0x14008e6d7
mov rcx, qword [rcx]
mov eax, dword [rbp - 0x4d]
mov dword [rdx + rcx], eax
mov rax, qword [r14 + 8]
add dword [rax + 8], 4
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e259
mov r8d, 4
lea rdx, [rbp - 0x4d]
jmp 0x14008e254
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, edx
cmp eax, 3
jle 0x14008e72d
movzx eax, word [0x14010a8f0]
mov rcx, qword [rcx]
mov word [rdx + rcx], ax
movzx eax, byte [0x14010a8f2]
mov byte [rdx + rcx + 2], al
mov rax, qword [r14 + 8]
add dword [rax + 8], 3
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e259
lea rdx, [0x14010a8f0]
mov r8d, 3
jmp 0x14008e254
cmp dl, 0x5d
jne 0x14008e770
movsxd rcx, r8d
xor edx, edx
shl rcx, 5
mov rcx, qword [rcx + r9 + 0x10]
call sym.lightway.exe_json_object_array_shrink
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], 2
jmp 0x14008e9cd
cmp dl, 0x2c
jne 0x14008eb87
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9 + 4], 0x18
jmp 0x14008e9cd
cmp dl, 0x7d
jne 0x14008e7ba
movsxd rax, r8d
shl rax, 5
cmp dword [rax + r9], 0x19
jne 0x14008e7ac
test byte [r14 + 0x40], 1
jne case.0x14008d0d3.42
mov dword [rax + r9 + 4], 2
jmp 0x14008e9cd
cmp dl, 0x22
je 0x14008e7c8
cmp dl, 0x27
jne 0x14008eb91
mov rcx, qword [r14 + 8]
mov byte [r14 + 0x30], dl
call sym.lightway.exe_printbuf_reset
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax], reloc.WS2_32.dll_send
jmp 0x14008e9dd
movzx r8d, byte [r14 + 0x30]
mov rbx, rsi
cmp dl, r8b
je 0x14008e892
nop
cmp dl, 0x5c
je 0x14008e8d8
mov eax, dword [r14 + 0x20]
inc rsi
inc eax
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008eb2a
cmp eax, edi
je 0x14008eb08
test byte [r14 + 0x40], 0x10
je 0x14008e883
movzx ecx, byte [rsi]
test r13d, r13d
jne 0x14008e870
cmp cl, 0x80
jb 0x14008e883
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x14008e84b
mov r13d, 1
jmp 0x14008e87f
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14008e85c
mov r13d, 2
jmp 0x14008e87f
and cl, 0xf8
cmp cl, 0xf0
jne 0x14008eafe
mov r13d, 3
jmp 0x14008e87f
and cl, 0xc0
cmp cl, 0x80
jne 0x14008eafe
dec r13d
mov dword [rbp - 0x59], r13d
movzx edx, byte [rsi]
mov byte [rbp + 0x67], dl
cmp dl, r8b
jne 0x14008e800
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008e941
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e94f
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008e91a
add rcx, qword [r9]
call fcn.1400b14c0
mov rcx, qword [r14 + 8]
mov eax, esi
sub eax, ebx
add dword [rcx + 8], eax
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008e928
mov r8d, esi
mov rcx, r9
sub r8d, ebx
call sym.lightway.exe_printbuf_memappend
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_send
jmp 0x14008e184
mov r8d, esi
mov rcx, r9
sub r8d, ebx
call sym.lightway.exe_printbuf_memappend
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx]
call fcn.1400ba110
movsxd rdx, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rdx, 5
mov qword [rdx + rcx + 0x18], rax
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax + 4], reloc.WS2_32.dll_sendto
jmp 0x14008e9cd
cmp dl, 0x3a
jne 0x14008eb9b
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9 + 4], reloc.WS2_32.dll_setsockopt
jmp 0x14008e9cd
cmp dl, 0x7d
jne 0x14008e9b4
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9 + 4], 2
jmp 0x14008e9cd
cmp dl, 0x2c
jne 0x14008eba5
movsxd rax, r8d
shl rax, 5
mov dword [rax + r9 + 4], 0x19
movsxd rcx, dword [r14 + 0x14]
mov rax, qword [r14 + 0x38]
shl rcx, 5
mov dword [rcx + rax], r12d
movzx edx, byte [rbp + 0x67]
mov eax, dword [r14 + 0x20]
inc rsi
inc eax
mov qword [rbp + 0x6f], rsi
mov dword [r14 + 0x20], eax
test dl, dl
je 0x14008ebd5
mov edi, dword [rbp + 0x77]
jmp 0x14008cf2d
mov dword [r14 + 0x24], reloc.WS2_32.dll_ntohl
jmp 0x14008ebd5
mov dword [r14 + 0x24], 4
jmp 0x14008ebd5
mov eax, reloc.WS2_32.dll_ntohl
jmp 0x14008ebcd
mov dword [r14 + 0x24], 5
jmp 0x14008ebd1
mov dword [r14 + 0x24], 6
jmp 0x14008ebd1
mov dword [r14 + 0x24], reloc.WS2_32.dll_ntohl
jmp 0x14008ea6c
cmp dword [r14 + 0x14], 0
jne 0x14008ea63
mov rax, qword [r14 + 0x38]
cmp dword [rax], 0
jne 0x14008ea63
cmp dword [rax + 4], 2
mov eax, r10d
je 0x14008ea68
mov eax, 1
mov dword [r14 + 0x24], eax
mov r9, qword [r14 + 8]
mov rdx, r12
movsxd rcx, dword [r9 + 8]
mov eax, dword [r9 + 0xc]
sub eax, ecx
cmp eax, r15d
jle 0x14008eaa9
add rcx, qword [r9]
movsxd r8, r15d
call fcn.1400b14c0
mov rax, qword [r14 + 8]
add dword [rax + 8], r15d
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008ebd1
mov r8d, r15d
mov rcx, r9
call sym.lightway.exe_printbuf_memappend
jmp 0x14008ebd1
mov dword [r14 + 0x24], 7
jmp 0x14008ebd1
movzx edx, byte [rbp + 0x67]
mov dword [r14 + 0x24], 7
jmp 0x14008ebd5
mov dword [r14 + 0x24], 2
jmp 0x14008ebd5
mov dword [r14 + 0x24], 4
jmp 0x14008ebd1
mov dword [r14 + 0x24], reloc.WS2_32.dll_listen
jmp 0x14008ebd5
mov dword [r14 + 0x24], reloc.WS2_32.dll_ntohl
jmp 0x14008eb2a
cmp dword [r14 + 0x14], 0
jne 0x14008eb21
mov rax, qword [r14 + 0x38]
cmp dword [rax], 0
jne 0x14008eb21
cmp dword [rax + 4], 2
mov eax, r12d
je 0x14008eb26
mov eax, 1
mov dword [r14 + 0x24], eax
mov r9, qword [r14 + 8]
mov r8, rsi
sub r8, rbx
mov rdx, rbx
mov eax, dword [r9 + 0xc]
movsxd rcx, dword [r9 + 8]
sub eax, ecx
cdqe
cmp rax, r8
jle 0x14008eb6a
add rcx, qword [r9]
call fcn.1400b14c0
mov rax, qword [r14 + 8]
sub esi, ebx
add dword [rax + 8], esi
mov rax, qword [r14 + 8]
movsxd rcx, dword [rax + 8]
mov rax, qword [rax]
mov byte [rcx + rax], 0
jmp 0x14008ebd1
sub esi, ebx
mov rcx, r9
mov r8d, esi
call sym.lightway.exe_printbuf_memappend
jmp 0x14008ebd1
movzx edx, byte [rbp + 0x67]
mov dword [r14 + 0x24], select
jmp 0x14008ebd5
mov dword [r14 + 0x24], 8
jmp 0x14008ebd5
mov dword [r14 + 0x24], 9
jmp 0x14008ebd5
mov dword [r14 + 0x24], 0xa
jmp 0x14008ebd5
mov dword [r14 + 0x24], select
jmp 0x14008ebd5
cmp dword [r14 + 0x14], 0
jne 0x14008ebc8
mov rax, qword [r14 + 0x38]
cmp dword [rax], 0
jne 0x14008ebc8
cmp dword [rax + 4], 2
mov eax, r12d
je 0x14008ebcd
mov eax, 1
mov dword [r14 + 0x24], eax
movzx edx, byte [rbp + 0x67]
mov ecx, dword [r14 + 0x40]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
test cl, 0x10
je 0x14008ebfe
test r13d, r13d
je 0x14008ebfe
mov dword [r14 + 0x24], reloc.WS2_32.dll_ntohl
movsxd r8, dword [r14 + 0x14]
mov rax, r8
shl rax, 5
add rax, qword [r14 + 0x38]
test dl, dl
je 0x14008ec2d
cmp dword [rax], 2
jne 0x14008ec40
test r8d, r8d
jne 0x14008ec40
and cl, 3
cmp cl, 1
jne 0x14008ec40
mov dword [r14 + 0x24], 4
jmp 0x14008ec40
cmp dword [rax], 2
je 0x14008ec40
cmp dword [rax + 4], 2
je 0x14008ec40
mov dword [r14 + 0x24], 3
mov rdx, qword [rbp - 0x39]
mov ecx, 4
call fcn.1400be458
mov rcx, qword [rbp - 0x39]
call fcn.1400b8268
cmp dword [r14 + 0x24], 0
jne 0x14008ecfa
movsxd rax, dword [r14 + 0x14]
mov rcx, qword [r14 + 0x38]
shl rax, 5
mov rcx, qword [rax + rcx + 0x10]
call sym.lightway.exe_json_object_get
movsxd rdi, dword [r14 + 0x14]
mov rsi, rax
test rdi, rdi
js 0x14008ecdc
mov rbx, rdi
shl rbx, 5
xor r15d, r15d
nop
mov rcx, qword [r14 + 0x38]
mov dword [rbx + rcx], r15d
mov rcx, qword [r14 + 0x38]
mov dword [rbx + rcx + 4], 1
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rbx + rcx + 0x10]
call sym.lightway.exe_json_object_put
mov rax, qword [r14 + 0x38]
mov qword [rbx + rax + 0x10], r15
mov rcx, qword [r14 + 0x38]
mov rcx, qword [rbx + rcx + 0x18]
call fcn.1400b8268
sub rdi, 1
mov rax, qword [r14 + 0x38]
lea rbx, [rbx - 0x20]
mov qword [rbx + rax + 0x38], r15
jns 0x14008ec90
mov rax, rsi
mov rbx, qword [rsp + 0x98]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x14008ecdf
mov dword [rcx + 0x24], reloc.WS2_32.dll_ntohs
xor eax, eax
jmp 0x14008ece7