Function at 0x140015730
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x14008e1c0]
xor rax, rsp
mov qword [rbp + 0x17], rax
movsxd rdi, r9d
mov rbx, rcx
mov qword [rsp + 0x38], rcx
xor r13d, r13d
test edx, edx
je 0x140015ad2
sub edx, 1
je 0x140015abe
sub edx, 1
je 0x14001599a
cmp edx, 1
je 0x1400157b0
lea rdx, [0x140057fa8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001940
lea ecx, [r13 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, dword [r8]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x79], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x78], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x77], al
mov byte [rbp - 0x76], cl
mov ecx, dword [r8 + 4]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x75], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x74], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x73], al
mov byte [rbp - 0x72], cl
mov ecx, dword [r8 + 8]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x71], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x70], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x6f], al
mov byte [rbp - 0x6e], cl
mov ecx, dword [r8 + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x6d], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x6c], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x6b], al
mov byte [rbp - 0x6a], cl
mov ecx, dword [r8 + 0x10]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x69], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x68], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x67], al
mov byte [rbp - 0x66], cl
xor r9d, r9d
lea r8d, [r9 + 0x14]
lea rdx, [rbp - 0x79]
lea rcx, [rsp + 0x40]
call fcn.14001e110
mov rdi, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 2
jb 0x1400158fb
lea rax, [r8 + 2]
mov qword [rdi + 0x10], rax
mov rsi, rdi
cmp rcx, 0xf
jbe 0x14001588e
mov rsi, qword [rdi]
lea rax, [0x140057fa6]
mov r14d, 2
lea r12, [0x140057fa4]
cmp rax, rsi
jbe 0x1400158c2
lea rax, [rsi + r8]
cmp r12, rax
ja 0x1400158c2
cmp rsi, r12
ja 0x1400158ba
mov r15, r13
jmp 0x1400158c5
mov r15, rsi
sub r15, r12
jmp 0x1400158c5
mov r15, r14
lea rcx, [rsi + 2]
inc r8
mov rdx, rsi
call sub.VCRUNTIME140.dll_memmove
mov r8, r15
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r15]
sub r14, r15
lea rdx, [r12 + 2]
add rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140015926
mov r14d, 2
mov qword [rsp + 0x28], r14
lea r12, [0x140057fa4]
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.140002e00
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], select
mov byte [rdi], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140015bbc
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015990
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015990
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004935c
jmp 0x140015bbc
mov rax, rdi
shl rax, 5
lea rcx, [0x14008d130]
mov rdx, qword [rax + rcx + 0x18]
test rdx, rdx
jne 0x1400159e0
mov rbx, qword [rax + rcx]
lea ecx, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.No_bech32_address_for__s_n
mov rcx, rax
call fcn.14000d240
mov rcx, 0xffffffffffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, dword [r8]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x79], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x78], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x77], al
mov byte [rbp - 0x76], cl
mov ecx, dword [r8 + 4]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x75], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x74], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x73], al
mov byte [rbp - 0x72], cl
mov ecx, dword [r8 + 8]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x71], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x70], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x6f], al
mov byte [rbp - 0x6e], cl
mov ecx, dword [r8 + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x6d], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x6c], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x6b], al
mov byte [rbp - 0x6a], cl
mov ecx, dword [r8 + 0x10]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x69], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x68], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x67], al
mov byte [rbp - 0x66], cl
mov qword [rsp + 0x20], setsockopt
lea r9, [rbp - 0x79]
xor r8d, r8d
lea rcx, [rbp - 0x59]
call fcn.1400285f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x59]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r13b
jne 0x140015ab0
jmp 0x140015b9d
mov rax, rdi
shl rax, 5
lea rcx, [0x14008d130]
mov ecx, dword [rax + rcx + 0x10]
jmp 0x140015ae4
mov rax, rdi
shl rax, 5
lea rcx, [0x14008d130]
mov ecx, dword [rax + rcx + 0xc]
cmp ecx, 0xffff
jle 0x140015b0a
mov eax, ecx
sar eax, 0x10
mov byte [rbp - 0x79], al
mov eax, ecx
sar eax, 8
mov byte [rbp - 0x78], al
mov byte [rbp - 0x77], cl
mov esi, 0x17
lea rdx, [rbp - 0x76]
jmp 0x140015b34
cmp ecx, 0xff
jle 0x140015b28
mov eax, ecx
sar eax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
mov esi, 0x16
lea rdx, [rbp - 0x77]
jmp 0x140015b34
mov byte [rbp - 0x79], cl
mov esi, reloc.WS2_32.dll_setsockopt
lea rdx, [rbp - 0x78]
mov rcx, r8
call fcn.140015690
cmp edi, 6
jne 0x140015b5b
lea r9d, [rdi + 0xf]
lea r8, [rbp - 0x79]
lea rdx, str.bitcoincash
lea rcx, [rbp - 0x59]
call fcn.14002ba20
jmp 0x140015b78
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
lea r9, [rbp - 0x59]
mov r8d, 1
mov edx, esi
lea rcx, [rbp - 0x79]
call fcn.140027fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x59]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x140015b94
lea rdx, [rbp - 0x59]
lea rcx, [rsp + 0x40]
call fcn.140001ba0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400496c0
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret