Function at 0x1400ac360
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x680
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x1402bdaf8]
xor rax, rsp
mov qword [rsp + 0x670], rax
mov rdi, r8
mov r12, rdx
mov r14, rcx
mov qword [rsp + 0x240], r8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [0x140258ab8]
lea rcx, [rsp + 0x40]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.jsonrpc
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
mov rdx, rdi
mov rcx, r12
call fcn.1400ab370
test al, al
je 0x1400ad9bf
mov qword [rsp + 0x1c0], reloc.WS2_32.dll_ntohs
xor esi, esi
mov qword [rsp + 0x1b8], rsi
mov byte [rsp + 0x1a8], sil
mov qword [rsp + 0x1a0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x198], rsi
mov byte [rsp + 0x188], sil
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x1a8]
lea rcx, str.jsonrpc
call fcn.1400aac50
test al, al
je 0x1400ad8ca
lea rcx, [rsp + 0x1a8]
cmp qword [rsp + 0x1c0], 0x10
cmovae rcx, qword [rsp + 0x1a8]
mov r8d, 3
mov rbx, qword [rsp + 0x1b8]
cmp rbx, r8
cmovb r8, rbx
test r8, r8
je 0x1400ac490
lea rdx, [0x140258ab8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ad8ca
cmp rbx, 3
jne 0x1400ad8ca
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x188]
lea rcx, str.method
call fcn.1400aac50
test al, al
je 0x1400ad8ca
mov r13, qword [rsp + 0x188]
lea r15d, [rbx + 0xa]
mov rbx, qword [rsp + 0x198]
cmp byte [r14 + 0x240], 0
je 0x1400ad568
lea rcx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
mov r8d, r15d
cmp rbx, r15
cmovb r8, rbx
test r8, r8
je 0x1400ac514
lea rdx, str.api_authorize
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ac51d
cmp rbx, r15
je 0x1400ad568
lea rdx, str.e_94m_i
lea rcx, [rsp + 0x90]
call fcn.14009e690
nop
lea rdx, str.API_:_Method
lea rcx, [rsp + 0xa0]
call fcn.14003ed20
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0xa0]
call fcn.14003f190
lea rdx, str._requested
lea rcx, [rsp + 0xa0]
call fcn.14003ed20
nop
lea rcx, [rsp + 0x90]
call fcn.140035480
lea rcx, [rsp + 0x188]
mov r13, qword [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
mov r8d, reloc.WS2_32.dll_ntohl
mov rbx, qword [rsp + 0x198]
cmp rbx, r8
cmovb r8, rbx
test r8, r8
je 0x1400ac5c4
lea rdx, str.miner_getstat1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ac5f0
cmp rbx, 0xe
jne 0x1400ac5f0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
call fcn.1400aec40
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad553
lea rcx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
mov r8d, reloc.WS2_32.dll_send
cmp rbx, r8
cmovb r8, rbx
test r8, r8
je 0x1400ac627
lea rdx, str.miner_getstatdetail
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ac653
cmp rbx, 0x13
jne 0x1400ac653
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
call fcn.1400b1a50
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad553
lea rcx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
cmp rbx, 0xd
cmovb r15, rbx
test r15, r15
je 0x1400ac688
mov r8, r15
lea rdx, str.miner_shuffle
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ac6d2
cmp rbx, 0xd
jne 0x1400ac6d2
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x40]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
mov rcx, qword [0x1402c99f8]
call fcn.14005ed00
jmp 0x1400ad6dc
lea rcx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
mov r15d, 0xa
mov r8d, r15d
cmp rbx, r15
cmovb r8, rbx
test r8, r8
je 0x1400ac70c
lea rdx, str.miner_ping
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ac73e
cmp rbx, r15
jne 0x1400ac73e
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, str.pong
lea rcx, [rsp + 0x40]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad553
lea rdx, str.miner_restart
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ac7b2
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x40]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
mov rcx, qword [0x1402c99f8]
call fcn.14005fb10
jmp 0x1400ad6dc
lea rdx, str.miner_reboot
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ac8c1
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x230], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x228], rsi
mov byte [rsp + 0x218], 0
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.api_miner_reboot
lea rcx, [rsp + 0x218]
call fcn.14003a9f0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x250], rsi
lea r8, [rsp + 0x238]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x240]
call fcn.14004bd10
nop
lea r8, [rsp + 0x240]
call fcn.140060e50
movzx edx, al
lea rcx, [rsp + 0x40]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x240]
call fcn.140036d60
nop
lea r9, [fcn.14001a1f0]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x218]
call fcn.1401cfa4c
jmp 0x1400ad6dc
lea rdx, str.miner_getconnections
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ac906
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1402c9a08]
call fcn.14006dc70
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad553
lea rdx, str.miner_addconnection
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400aca3d
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400aca38
mov qword [rsp + 0x230], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x228], rsi
mov byte [rsp + 0x218], 0
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x218]
lea rcx, [0x140257a70]
call fcn.1400aac50
test al, al
je 0x1400aca2a
mov qword [rsp + 0x208], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x200], rsi
mov byte [rsp + 0x1f0], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x1f0]
call fcn.14003ab20
lea rdx, [rsp + 0x1f0]
mov rcx, qword [0x1402c9a08]
call fcn.14006d610
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
nop
mov rdx, rbx
mov rcx, rax
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
nop
jmp 0x1400ad6d1
lea rdx, str.miner_setactiveconnection
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400accd2
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400acae2
lea rdx, str.index
lea rcx, [rsp + 0x40]
call fcn.1400cfc80
test al, al
je 0x1400acb85
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, str.index
call fcn.1400a9a40
test al, al
je 0x1400acae7
mov edx, dword [rsp + 0x38]
mov rcx, qword [0x1402c9a08]
call fcn.14006d990
nop
jmp 0x1400acbe5
jmp 0x1400ad6d1
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe5a
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
lea rdx, str.Invalid_index
lea rcx, [rsp + 0x1c8]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
jmp 0x1400ad6d1
mov qword [rsp + 0x230], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x228], rsi
mov byte [rsp + 0x218], 0
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x218]
lea rcx, [0x14025a6e0]
call fcn.1400aac50
test al, al
je 0x1400acc26
lea rdx, [rsp + 0x218]
mov rcx, qword [0x1402c9a08]
call fcn.14006da10
nop
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400acb6f
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe5a
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x30], rax
lea rdx, str.Invalid_index
lea rcx, [rsp + 0x1f0]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
nop
jmp 0x1400ad6d1
lea rdx, str.miner_removeconnection
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400acd98
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400acd93
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, str.index
call fcn.1400a9a40
test al, al
je 0x1400acd93
mov edx, dword [rsp + 0x38]
mov rcx, qword [0x1402c9a08]
call fcn.14006d750
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
nop
mov rdx, rbx
mov rcx, rax
call fcn.1400ccd20
nop
jmp 0x1400ad6d1
lea rdx, str.miner_getscramblerinfo
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400acddd
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1402c99f8]
call fcn.14005fe80
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad553
lea rdx, str.miner_setscramblerinfo
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ad0de
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400acf6a
xor r12b, r12b
mov rdx, qword [0x1402c99f8]
mov rax, qword [rdx]
lea r14, vtable.dev::eth::Farm.0
cmp rax, r14
jne 0x1400ace5a
mov rbx, qword [rdx + 0x398]
jmp 0x1400ace6a
mov rcx, rdx
call qword [rax + 0x30]
mov rbx, rax
mov rdx, qword [0x1402c99f8]
mov qword [rsp + 0x30], rbx
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x38]
cmp rcx, r14
jne 0x1400ace84
mov r14d, dword [rdx + 0x3a0]
jmp 0x1400ace8c
mov rcx, rdx
call rax
mov r14d, eax
mov dword [rsp + 0x38], r14d
lea rdx, str.noncescrambler
lea rcx, [rsp + 0x40]
call fcn.1400cfc80
test al, al
je 0x1400acf99
mov qword [rsp + 0x230], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x228], rsi
mov byte [rsp + 0x218], 0
mov r12b, 1
lea rdx, str.noncescrambler
lea rcx, [rsp + 0x40]
call fcn.1400cd460
mov rcx, rax
lea rdx, [rsp + 0x1f0]
call fcn.1400ce070
mov rdx, rax
lea rcx, [rsp + 0x218]
call fcn.140037390
lea rcx, [rsp + 0x1f0]
call fcn.14001a1f0
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x218]
call fcn.140037150
lea rdx, [0x140249cf4]
mov rcx, rax
call fcn.140037060
mov ebx, eax
lea rcx, [rsp + 0x1c8]
call fcn.14001a1f0
test ebx, ebx
jne 0x1400acf6f
lea r8d, [rbx + 0x10]
lea rcx, [rsp + 0x218]
call fcn.140013f60
mov ebx, eax
jmp 0x1400acf8c
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
nop
jmp 0x1400ad6d1
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
call fcn.1400aa080
test al, al
je 0x1400acf5c
mov rbx, qword [rsp + 0x30]
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
lea rdx, str.segmentwidth
lea rcx, [rsp + 0x40]
call fcn.1400cfc80
test al, al
je 0x1400acfd7
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, str.segmentwidth
call fcn.1400a9a40
test al, al
je 0x1400acf6a
mov r14d, dword [rsp + 0x38]
jmp 0x1400ad07e
test r12b, r12b
jne 0x1400ad07e
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xffff80a6
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x30], rax
lea rdx, str.Missing_parameters
lea rcx, [rsp + 0x1f0]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
jmp 0x1400ad6d1
cmp r14d, 0xa
jb 0x1400ad094
mov eax, 0x28
cmp r14d, 0x32
cmova r14d, eax
mov r15d, r14d
mov rax, qword [0x1402c99f8]
mov qword [rax + 0x398], rbx
cmp word [rax + 0x130], 0
jne 0x1400ad0b3
mov dword [rax + 0x3a0], r15d
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
jmp 0x1400ad068
lea rdx, str.miner_pausegpu
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ad2b0
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400ad2ab
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, str.index
call fcn.1400a9a40
test al, al
je 0x1400ad2ab
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
call fcn.1400a9420
test al, al
je 0x1400ad2ab
mov r8d, dword [rsp + 0x38]
lea rdx, [rsp + 0x240]
mov rcx, qword [0x1402c99f8]
call fcn.1400a93a0
nop
mov rcx, qword [rsp + 0x240]
test rcx, rcx
je 0x1400ad204
mov edx, 1
cmp byte [rsp + 0x68], 0
je 0x1400ad1b2
call fcn.140068e50
jmp 0x1400ad1b7
call fcn.140069210
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x240]
call fcn.140035710
nop
jmp 0x1400ad6d1
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe5a
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x30], rax
lea rdx, str.Index_out_of_bounds
lea rcx, [rsp + 0x1f0]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x240]
call fcn.140035710
nop
jmp 0x1400ad6d1
lea rdx, str.miner_setverbosity
lea rcx, [rsp + 0x188]
call fcn.140037060
test eax, eax
jne 0x1400ad4d1
mov rdx, rdi
movzx ecx, byte [r14 + 0x218]
call fcn.1400ab2a0
test al, al
je 0x1400ad6dc
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
je 0x1400ad440
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, str.verbosity
call fcn.1400a9a40
test al, al
je 0x1400ad440
mov ebx, dword [rsp + 0x38]
cmp ebx, 0x800
jb 0x1400ad445
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe5a
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x240]
mov qword [rsp + 0x30], rax
mov edx, 0x7ff
lea rcx, [rsp + 0x218]
call fcn.140013fe0
nop
mov r8, rax
lea rdx, str.Verbosity_out_of_bounds__0_
lea rcx, [rsp + 0x1f0]
call fcn.14003ecc0
nop
lea r8, [0x140249994]
mov rdx, rax
lea rcx, [rsp + 0x1c8]
call fcn.14003f790
nop
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.1400cc950
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
lea rcx, [rsp + 0x1c8]
call fcn.14001a1f0
nop
lea rcx, [rsp + 0x1f0]
call fcn.14001a1f0
nop
lea rcx, [rsp + 0x218]
call fcn.14001a1f0
nop
jmp 0x1400ad6d1
lea rdx, str.e_94m_i
lea rcx, [rsp + 0x90]
call fcn.14009e690
nop
lea rdx, str.Setting_verbosity_level_to
lea rcx, [rsp + 0xa0]
call fcn.14003ed20
mov edx, ebx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
nop
lea rcx, [rsp + 0x90]
call fcn.140035480
mov dword [0x1402c9a10], ebx
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov dl, 1
lea rcx, [rsp + 0x1c8]
call fcn.1400ccb90
mov rbx, rax
lea rdx, str.result
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
jmp 0x1400ad6d1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov edx, 0xffff80a7
lea rcx, [rsp + 0x40]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
lea rdx, str.Method_not_found
lea rcx, [rsp + 0x1c8]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
jmp 0x1400ad6dc
lea rcx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rcx, r13
cmp rbx, 0xd
cmovb r15, rbx
test r15, r15
je 0x1400ad59d
mov r8, r15
lea rdx, str.api_authorize
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ad5a3
cmp rbx, 0xd
je 0x1400ad617
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe6d
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
lea rdx, str.Authorization_needed
lea rcx, [rsp + 0x1c8]
call fcn.1400cca30
mov rbx, rax
jmp 0x1400ad92d
mov byte [r14 + 0x240], 0
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400cca80
nop
mov qword [rsp + 0x20], rdi
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400aa620
test al, al
jne 0x1400ad651
lea rcx, [rsp + 0x40]
call fcn.1400ccc60
jmp 0x1400ad957
mov qword [rsp + 0x258], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x250], rsi
mov byte [rsp + 0x240], 0
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x240]
lea rcx, [0x14025a5c4]
call fcn.1400aac50
test al, al
jne 0x1400ad6fc
mov r8, qword [rsp + 0x258]
cmp r8, 0x10
jb 0x1400ad6b5
inc r8
mov rdx, qword [rsp + 0x240]
lea rcx, [rsp + 0x240]
call fcn.14003b660
mov qword [rsp + 0x258], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x250], rsi
mov byte [rsp + 0x240], 0
lea rcx, [rsp + 0x40]
call fcn.1400ccc60
nop
lea rcx, [rsp + 0x188]
call fcn.14001a1f0
nop
lea rcx, [rsp + 0x1a8]
call fcn.14001a1f0
jmp 0x1400ad9bf
xor edx, edx
mov r8d, 0x1f4
lea rcx, [rsp + 0x270]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x1f4
lea rcx, [rsp + 0x470]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x1f4
cmp qword [rsp + 0x250], r8
cmovb r8, qword [rsp + 0x250]
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 0x10
cmovae rdx, qword [rsp + 0x240]
test r8, r8
je 0x1400ad769
lea rcx, [rsp + 0x270]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r14 + 0x220]
lea rdx, [rsp + 0x470]
call fcn.1400b2f50
mov r8, rsi
movsx edx, byte [rsp + r8 + 0x471]
movsx eax, byte [rsp + r8 + 0x271]
xor edx, eax
movsx ecx, byte [rsp + r8 + 0x470]
movsx eax, byte [rsp + r8 + 0x270]
xor ecx, eax
or edx, ecx
movsx ecx, byte [rsp + r8 + 0x274]
movsx eax, byte [rsp + r8 + 0x474]
xor ecx, eax
or edx, ecx
movsx ecx, byte [rsp + r8 + 0x273]
movsx eax, byte [rsp + r8 + 0x473]
xor ecx, eax
or edx, ecx
movsx ecx, byte [rsp + r8 + 0x272]
movsx eax, byte [rsp + r8 + 0x472]
xor ecx, eax
or edx, ecx
or esi, edx
add r8, 5
cmp r8, 0x1f4
jl 0x1400ad780
test esi, esi
jne 0x1400ad80c
mov byte [r14 + 0x240], 1
jmp 0x1400ad8b8
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
mov edx, 0xfffffe6f
lea rcx, [rsp + 0x1c8]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
lea rdx, str.Invalid_password
lea rcx, [rsp + 0x1c8]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.message
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rdx, str.API_:_Invalid_password_provided.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14003ed20
nop
lea rcx, [rsp + 0x240]
call fcn.14001a1f0
jmp 0x1400ad6d1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov edx, 0xffff80a8
lea rcx, [rsp + 0x40]
call fcn.1400cc9a0
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
mov rcx, rax
lea rdx, str.code
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, str.Invalid_Request
lea rcx, [rsp + 0x40]
call fcn.1400cca30
mov rbx, rax
lea rdx, str.error
mov rcx, rdi
call fcn.1400cd460
lea rdx, str.message
mov rcx, rax
call fcn.1400cd460
mov rcx, rax
mov rdx, rbx
call fcn.1400ccd20
nop
mov r8, qword [rsp + 0x1a0]
cmp r8, 0x10
jb 0x1400ad97d
inc r8
mov rdx, qword [rsp + 0x188]
lea rcx, [rsp + 0x188]
call fcn.14003b660
mov qword [rsp + 0x1a0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x198], rsi
mov byte [rsp + 0x188], 0
mov r8, qword [rsp + 0x1c0]
cmp r8, 0x10
jb 0x1400ad9bf
inc r8
mov rdx, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x1a8]
call fcn.14003b660
mov rcx, qword [rsp + 0x670]
xor rcx, rsp
call fcn.1401cf6b0
add rsp, 0x680
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret