Function at 0x100463550
Capabilities:
Set current directory
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov r14d, 0xffffffff
lea rsi, [rsp + 0x40]
mov r12, rdx
mov ebp, ecx
call sym.__main
lea rcx, str.http:__127.0.0.1:8669_
call sym.strdup
lea rcx, [0x100467c06]
mov qword [0x10046c520], rax
call sym.strdup
lea rcx, [0x100467c06]
mov qword [0x10046c4e0], rax
call sym.strdup
mov r13, qword [sym.imp.cygwin1.dll_optarg]
mov qword [0x10046c4c0], rax
mov qword [rsp + 0x20], 0
mov rdx, r12
mov ecx, ebp
lea r9, str.algo
lea r8, str.BSa:c:DHhp:Px:qr:R:s:t:T:o:u:O:V
call sym.getopt_long
test eax, eax
js 0x1004637d5
cmp eax, 0x68
mov rbx, qword [r13]
je 0x100463eab
nop
jg 0x100463630
cmp eax, 0x52
je 0x100463e7d
nop dword [rax + rax]
jg 0x100463681
cmp eax, 0x48
je 0x100463e9f
nop dword [rax + rax]
jle 0x100463783
cmp eax, 0x4f
je 0x100463c54
cmp eax, 0x50
jne 0x100463677
mov byte [0x10046c0a0], 1
jmp 0x1004635b8
cmp eax, 0x74
je 0x100463ebe
jle 0x100463710
cmp eax, 0x3e9
je 0x100463ee0
nop word [rax + rax]
jle 0x100463b22
cmp eax, 0x3ed
je 0x100463b7e
cmp eax, 0x3ef
je 0x100463bd6
cmp eax, 0x3eb
je 0x100463baa
mov ecx, 1
call sym.show_usage_and_exit
cmp eax, 0x56
je 0x100463f00
jle 0x1004637a1
cmp eax, 0x61
je 0x100463be2
cmp eax, 0x63
nop dword [rax]
jne 0x100463677
mov rcx, qword [0x10046c5a0]
test rcx, rcx
je 0x1004636c9
mov rax, qword [rcx + 8]
cmp rax, r14
je 0x1004636c9
sub rax, 1
test rax, rax
mov qword [rcx + 8], rax
jne 0x1004636c9
call sym.json_delete
mov rdx, rsi
mov rcx, rbx
call sym.json_load_file
test rax, rax
mov qword [0x10046c5a0], rax
je 0x1004636e9
cmp dword [rax], 0
je 0x1004635b8
lea rdx, str.JSON_decode_of__s_failed
mov ecx, 3
mov r8, rbx
call sym.applog
mov ecx, 1
call sym.exit
nop word [rax + rax]
cmp eax, 0x71
je 0x100463eb2
jle 0x100463751
cmp eax, 0x72
nop
je 0x100463c26
cmp eax, 0x73
jne 0x100463677
mov rcx, rbx
call sym.atoi
lea edx, [rax - 1]
cmp edx, 0x270e
ja 0x100463677
mov dword [0x100465020], eax
jmp 0x1004635b8
cmp eax, 0x6f
je 0x100463cde
cmp eax, 0x70
jne 0x100463677
mov rcx, qword [0x10046c4c0]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c4c0], rax
jmp 0x1004635b8
cmp eax, 0x42
je 0x100463c1a
cmp eax, 0x44
jne 0x100463677
mov byte [0x10046c0c0], 1
jmp 0x1004635b8
cmp eax, 0x53
je 0x100463c48
cmp eax, 0x54
jne 0x100463677
mov rcx, rbx
call sym.atoi
lea edx, [rax - 1]
cmp edx, 0x1869e
ja 0x100463677
mov dword [0x100465040], eax
jmp 0x1004635b8
mov rax, qword [sym.imp.cygwin1.dll_optind]
movsxd rax, dword [rax]
cmp ebp, eax
jg 0x1004642c4
mov rax, qword [0x10046c5a0]
test rax, rax
je 0x100463883
cmp dword [rax], 0
jne 0x100463883
lea rbx, str.algo
mov r12d, 7
lea r14, [0x100468260]
lea rbp, str.algo
lea r13, str.config
jmp 0x100463835
cmp rbx, r14
je 0x100463883
add rbx, 0x20
mov rbp, qword [rbx]
test rbp, rbp
je 0x100463883
mov rsi, rbp
mov rdi, r13
mov rcx, r12
repe cmpsb byte [rsi], byte [rdi]
je 0x100463824
mov rcx, qword [0x10046c5a0]
mov rdx, rbp
call sym.json_object_get
test rax, rax
je 0x100463824
mov esi, dword [rbx + 8]
test esi, esi
je 0x100463b05
cmp dword [rax], 2
je 0x100464018
lea rdx, str.JSON_option__s_invalid
mov r8, rbp
mov ecx, 3
call sym.applog
cmp rbx, r14
jne 0x100463829
lea rcx, [0x10046c7f8]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x10046c800]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x10046c0e8]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x10046c3f0]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x10046c488]
xor edx, edx
call sym.pthread_mutex_init
mov rcx, qword [0x10046c520]
mov r8d, 6
lea rdx, str.https:
call sym.strncmp
cmp eax, 1
sbb rcx, rcx
not rcx
add rcx, 3
call sym.curl_global_init
test eax, eax
jne 0x100463f3e
cmp byte [0x10046c5e0], 0
je 0x100463974
call sym.fork
test eax, eax
js 0x1004642f3
jne 0x1004642ec
nop dword [rax + rax]
call sym.setsid
test eax, eax
js 0x100464217
lea rcx, [0x100467c04]
call sym.chdir
test eax, eax
js 0x1004641f9
lea rdx, [sym.signal_handler]
mov ecx, 1
call sym.signal
lea rdx, [sym.signal_handler]
mov ecx, 2
call sym.signal
lea rdx, [sym.signal_handler]
mov ecx, 0xf
call sym.signal
mov ecx, 9
call sym.sysconf
mov edx, 1
test eax, eax
cmovg edx, eax
cmp dword [0x10046c560], 0
mov dword [0x10046c540], edx
je 0x100463b9f
cmp qword [0x10046c500], 0
je 0x10046419a
cmp byte [0x10046c040], 0
jne 0x100463f22
mov ebx, dword [0x10046c560]
mov edx, pe_nt_image_headers64
movsxd rsi, ebx
mov rcx, rsi
call sym.calloc
test rax, rax
mov qword [0x10046c020], rax
je 0x100463aea
lea ecx, [rbx + 3]
mov edx, 0x18
movsxd rcx, ecx
call sym.calloc
test rax, rax
mov rdi, rax
mov qword [0x10046c7f0], rax
je 0x100463aea
mov edx, 8
mov rcx, rsi
call sym.calloc
test rax, rax
mov qword [0x10046c810], rax
je 0x100463aea
imul rsi, rsi, 0x18
mov dword [0x10046c4a0], ebx
add rdi, rsi
mov dword [rdi], ebx
call sym.tq_new
test rax, rax
mov qword [rdi + 0x10], rax
je 0x100463aea
lea rcx, [rdi + 8]
mov r9, rdi
xor edx, edx
lea r8, [sym.workio_thread]
call sym.pthread_create
test eax, eax
mov edi, eax
jne 0x10046412b
cmp byte [0x1004650c0], 0
je 0x100463a72
cmp byte [0x10046c060], 0
je 0x100463faf
cmp byte [0x1004650a0], 0
jne 0x1004640a1
mov r8d, dword [0x10046c560]
test r8d, r8d
jle 0x10046404c
lea rsi, [0x10046c7f0]
xor r12d, r12d
xor ebp, ebp
jmp 0x100463ad4
lea rcx, [rbx + 8]
xor edx, edx
mov r9, rbx
lea r8, [sym.miner_thread]
call sym.pthread_create
test eax, eax
jne 0x10046428b
mov r8d, dword [0x10046c560]
add ebp, 1
add r12, 0x18
cmp r8d, ebp
jle 0x10046404c
mov rbx, r12
add rbx, qword [rsi]
mov dword [rbx], ebp
call sym.tq_new
test rax, rax
mov qword [rbx + 0x10], rax
jne 0x100463aa0
mov edi, 1
mov eax, edi
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp dword [rax], 5
jne 0x10046386a
mov ecx, dword [rbx + 0x18]
lea rdx, [0x100467c06]
call sym.parse_arg
jmp 0x100463824
cmp eax, 0x75
je 0x100463bb6
cmp eax, 0x78
nop
jne 0x100463677
lea rdx, str.socks4:__
mov r8d, 9
mov rcx, rbx
call sym.strncasecmp
test eax, eax
jne 0x100463f59
mov qword [0x10046c7e8], 4
mov rcx, qword [0x10046c7e0]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c7e0], rax
jmp 0x1004635b8
mov byte [0x10046c620], 1
mov byte [0x1004650c0], 0
mov byte [0x1004650a0], 0
mov byte [0x10046c060], 0
jmp 0x1004635b8
mov dword [0x10046c560], edx
jmp 0x10046399b
mov byte [0x1004650c0], 0
jmp 0x1004635b8
mov rcx, qword [0x10046c4e0]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c4e0], rax
jmp 0x1004635b8
mov byte [0x1004650a0], 0
jmp 0x1004635b8
xor edi, edi
xor r15d, r15d
lea rax, str.scrypt
mov rdx, qword [rax + rdi*8]
test rdx, rdx
je 0x100463c07
mov rcx, rbx
call sym.strcmp
test eax, eax
je 0x10046427f
lea r15d, [rdi + 1]
add rdi, 1
cmp rdi, 3
jne 0x100463be7
jmp 0x100463677
mov byte [0x10046c5e0], 1
jmp 0x1004635b8
mov rcx, rbx
call sym.atoi
lea edx, [rax + 1]
cmp edx, 0x2710
ja 0x100463677
mov dword [0x100465080], eax
jmp 0x1004635b8
mov byte [0x10046c040], 1
jmp 0x1004635b8
mov edx, 0x3a
mov rcx, rbx
call sym.strchr
test rax, rax
mov rdi, rax
je 0x100463677
mov rcx, qword [0x10046c500]
mov r15, rdi
sub r15, rbx
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov rcx, qword [0x10046c4e0]
mov qword [0x10046c500], rax
call fcn.100462c40
lea rcx, [r15 + 1]
mov edx, 1
call sym.calloc
mov r8, r15
mov rdx, rbx
mov rcx, rax
mov qword [0x10046c4e0], rax
call sym.strncpy
mov rcx, qword [0x10046c4c0]
call fcn.100462c40
lea rcx, [rdi + 1]
call sym.strdup
mov qword [0x10046c4c0], rax
jmp 0x1004635b8
lea rdx, [0x10046780c]
mov rcx, rbx
call sym.strstr
test rax, rax
je 0x100464141
lea rdx, str.http:__
mov r8d, 7
mov rcx, rbx
call sym.strncasecmp
test eax, eax
je 0x100463d45
lea rdx, str.https:__
mov r8d, 8
mov rcx, rbx
call sym.strncasecmp
test eax, eax
je 0x100463d45
lea rdx, [0x100467821]
mov r8d, 0xe
mov rcx, rbx
call sym.strncasecmp
test eax, eax
jne 0x100463677
mov rcx, qword [0x10046c520]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c520], rax
mov rbx, qword [0x10046c520]
mov edx, 0x40
mov rcx, rbx
call sym.strrchr
test rax, rax
mov rdi, rax
je 0x100463e3f
lea rdx, [0x10046780c]
mov rcx, rbx
mov byte [rax], 0
call sym.strstr
mov edx, 0x3a
lea rbx, [rax + 3]
mov rcx, rbx
call sym.strchr
test rax, rax
mov r15, rax
je 0x100464235
mov rcx, qword [0x10046c500]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov rcx, qword [0x10046c4e0]
mov qword [0x10046c500], rax
call fcn.100462c40
mov r8, r15
mov edx, 1
sub r8, rbx
lea rcx, [r8 + 1]
mov qword [rsp + 0x38], r8
call sym.calloc
mov r8, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, rax
mov qword [0x10046c4e0], rax
call sym.strncpy
mov rcx, qword [0x10046c4c0]
call fcn.100462c40
lea rcx, [r15 + 1]
call sym.strdup
mov qword [0x10046c4c0], rax
lea rdx, [rdi + 1]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
mov r8, rcx
mov rcx, rbx
call sym.memmove
xor eax, eax
cmp byte [0x10046c620], 0
jne 0x100463e6b
mov rcx, qword [0x10046c520]
mov r8d, 7
lea rdx, str.stratum
call sym.strncasecmp
test eax, eax
sete al
movzx eax, al
mov byte [0x10046c060], al
and byte [0x10046c060], 1
jmp 0x1004635b8
mov rcx, rbx
call sym.atoi
lea edx, [rax - 1]
cmp edx, 0x270e
ja 0x100463677
mov dword [0x100465060], eax
jmp 0x1004635b8
mov byte [0x10046c0e0], 1
jmp 0x1004635b8
xor ecx, ecx
call sym.show_usage_and_exit
mov byte [0x10046c5c0], 1
jmp 0x1004635b8
mov rcx, rbx
call sym.atoi
lea edx, [rax - 1]
cmp edx, 0x270e
ja 0x100463677
mov dword [0x10046c560], eax
jmp 0x1004635b8
mov rcx, qword [0x10046c808]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c808], rax
jmp 0x1004635b8
call sym.curl_version
lea rcx, str._s_n_s_n
lea rdx, [0x10046786c]
mov r8, rax
call sym.printf
xor ecx, ecx
call sym.exit
mov r8d, 8
mov edx, 1
lea rcx, str.cpuminer
call sym.openlog
jmp 0x1004639b6
lea rdx, [0x100467c07]
mov ecx, 3
mov edi, 1
call sym.applog
jmp 0x100463aef
lea rdx, str.socks5:__
mov r8d, 9
mov rcx, rbx
call sym.strncasecmp
test eax, eax
je 0x100463f9f
lea rdx, str.socks4a:__
mov r8d, 0xa
mov rcx, rbx
call sym.strncasecmp
test eax, eax
jne 0x100464255
mov qword [0x10046c7e8], 6
jmp 0x100463b5e
mov qword [0x10046c7e8], 5
jmp 0x100463b5e
mov eax, dword [0x10046c560]
add eax, 1
movsxd rbx, eax
mov dword [0x100465004], eax
imul rbx, rbx, 0x18
add rbx, qword [0x10046c7f0]
mov dword [rbx], eax
call sym.tq_new
test rax, rax
mov qword [rbx + 0x10], rax
je 0x100463aea
lea rcx, [rbx + 8]
xor edx, edx
mov r9, rbx
lea r8, [sym.longpoll_thread]
call sym.pthread_create
test eax, eax
je 0x100463a72
lea rdx, str.longpoll_thread_create_failed
mov ecx, 3
mov edi, 1
call sym.applog
jmp 0x100463aef
mov rcx, rax
call sym.json_string_value
mov rcx, rax
call sym.strdup
test rax, rax
mov rsi, rax
je 0x100463883
mov ecx, dword [rbx + 0x18]
mov rdx, rax
call sym.parse_arg
mov rcx, rsi
call fcn.100462c40
jmp 0x100463824
mov edx, dword [0x10046c580]
lea rax, str.scrypt
mov ecx, 6
mov r9, qword [rax + rdx*8]
lea rdx, str._d_miner_threads_started__using__s_algorithm.
call sym.applog
movsxd rax, dword [0x10046c4a0]
xor edx, edx
imul rax, rax, 0x18
add rax, qword [0x10046c7f0]
mov rcx, qword [rax + 8]
call sym.pthread_join
lea rdx, str.workio_thread_dead__exiting.
mov ecx, 6
call sym.applog
jmp 0x100463aef
mov eax, dword [0x10046c560]
add eax, 2
movsxd rbx, eax
mov dword [section..data], eax
imul rbx, rbx, 0x18
add rbx, qword [0x10046c7f0]
mov dword [rbx], eax
call sym.tq_new
test rax, rax
mov qword [rbx + 0x10], rax
je 0x100463aea
lea rcx, [rbx + 8]
xor edx, edx
mov r9, rbx
lea r8, [sym.stratum_thread]
call sym.pthread_create
test eax, eax
jne 0x1004642a9
cmp byte [0x10046c060], 0
je 0x100463a7f
mov rcx, qword [0x10046c520]
call sym.strdup
movsxd rcx, dword [section..data]
mov rdx, rax
imul rcx, rcx, 0x18
add rcx, qword [0x10046c7f0]
mov rcx, qword [rcx + 0x10]
call sym.tq_push
jmp 0x100463a7f
lea rdx, str.workio_thread_create_failed
mov ecx, 3
call sym.applog
jmp 0x100463aea
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x100463677
test al, al
sete r15b
je 0x100463677
mov rcx, qword [0x10046c520]
mov rdi, rbx
call fcn.100462c40
mov eax, r15d
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
add rcx, 7
call sym.malloc
lea rdx, str.http:___s
mov r8, rbx
mov rcx, rax
mov qword [0x10046c520], rax
call sym.sprintf
jmp 0x100463d60
mov rbx, qword [0x10046c4e0]
or r10, 0xffffffffffffffff
xor eax, eax
mov rcx, r10
mov rsi, qword [0x10046c4c0]
mov rdi, rbx
repne scasb al, byte [rdi]
mov rdi, rsi
mov rdx, rcx
mov rcx, r10
repne scasb al, byte [rdi]
not rdx
not rcx
add rcx, rdx
call sym.malloc
test rax, rax
mov qword [0x10046c500], rax
je 0x100463aea
mov r9, rsi
mov r8, rbx
mov rcx, rax
lea rdx, str._s:_s
call sym.sprintf
jmp 0x1004639a9
call sym.__errno
lea rdx, str.chdir___failed__errno___d_
mov ecx, 3
mov r8d, dword [rax]
call sym.applog
jmp 0x100463941
call sym.__errno
lea rdx, str.setsid___failed__errno___d_
mov ecx, 3
mov r8d, dword [rax]
call sym.applog
jmp 0x10046392d
mov rcx, qword [0x10046c4e0]
call fcn.100462c40
mov rcx, rbx
call sym.strdup
mov qword [0x10046c4e0], rax
jmp 0x100463e22
lea rdx, str.socks5h:__
mov r8d, 0xa
mov rcx, rbx
call sym.strncasecmp
cmp eax, 1
sbb rax, rax
and eax, 7
mov qword [0x10046c7e8], rax
jmp 0x100463b5e
mov dword [0x10046c580], r15d
jmp 0x1004635b8
mov r8d, ebp
mov ecx, 3
mov edi, 1
lea rdx, str.thread__d_create_failed
call sym.applog
jmp 0x100463aef
lea rdx, str.stratum_thread_create_failed
mov ecx, 3
mov edi, 1
call sym.applog
jmp 0x100463aef
mov rsi, qword [r12 + rax*8]
mov rbx, qword [r12]
call sym.__getreent
lea rdx, str._s:_unsupported_non_option_argument__s_n
mov rcx, qword [rax + 0x18]
mov r9, rsi
mov r8, rbx
call sym.fprintf
jmp 0x100463677
xor ecx, ecx
call sym.exit
mov ecx, 1
call sym.exit
nop
nop
nop