Function at 0x140018760
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140283aa8]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r15, r9
mov r14d, r8d
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], r9
movsxd rax, dword [rdx]
mov rdx, qword [r9 + rax*8]
mov qword [rsp + 0x70], reloc.WS2_32.dll_ntohs
xor edi, edi
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x58], dil
cmp byte [rdx], dil
jne 0x1400187ca
mov r8d, edi
jmp 0x1400187d9
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], dil
jne 0x1400187d0
lea rcx, [rsp + 0x58]
call fcn.1400201f0
nop
lea rcx, [rsp + 0x58]
mov r13, qword [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 2
mov r12, qword [rsp + 0x68]
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x14001881f
lea rdx, [0x140225fd8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018825
cmp r12, 2
je 0x14001885c
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 6
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x140018856
lea rdx, str.__farm
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400188bf
cmp r12, 6
jne 0x1400188bf
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400188bf
mov dword [rsi], 3
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
cmp byte [rdx], 0
je 0x140018889
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018880
lea rbx, [rsi + 0x98]
mov r8, rdi
mov rcx, rbx
call fcn.1400201f0
lea rcx, [rsi + 0xd8]
cmp rcx, rbx
je 0x14001a028
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
call fcn.140020320
jmp 0x14001a028
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 3
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x1400188f0
lea rdx, [0x140225fe4]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400188fa
cmp r12, 3
je 0x1400189e2
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 3
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x14001892b
lea rdx, [0x140225fe8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018935
cmp r12, 3
je 0x1400189e2
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 3
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x140018966
lea rdx, [0x140225fec]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14001896c
cmp r12, 3
je 0x1400189e2
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, reloc.WS2_32.dll_ntohs
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x14001899d
lea rdx, str.__farm_failover
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400189a3
cmp r12, 0xf
je 0x1400189e2
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, reloc.WS2_32.dll_select
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x1400189d8
lea rdx, str.__stratum_failover
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018b3f
cmp r12, 0x12
jne 0x140018b3f
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018b3f
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140018a20
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018a17
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
cmp dword [rsi], 4
jne 0x140018b12
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140018aa7
lea rax, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rax, qword [rsp + 0x38]
lea rbx, [rcx - 1]
add rbx, rax
nop dword [rax]
movsx edx, byte [rbx]
mov r8d, 1
lea rcx, [0x140225f44]
call qword [sym.imp.VCRUNTIME140.dll_memchr]
test rax, rax
jne 0x140018a8f
lea rcx, [rsp + 0x38]
call fcn.14001fd90
cmp rbx, rax
je 0x140018aa7
dec rbx
jmp 0x140018a60
lea rax, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rax, qword [rsp + 0x38]
sub rbx, rax
jne 0x140018aab
jmp 0x140018b12
or rbx, 0xffffffffffffffff
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0xb8]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
lea r8, [rbx + 1]
cmp r8, qword [rsp + 0x48]
ja 0x140018b35
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x1e0]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x140018b35
lea rax, [rsp + 0x38]
lea rcx, [rsi + 0xb8]
cmp rcx, rax
je 0x140018b35
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
call fcn.140020320
nop
lea rcx, [rsp + 0x38]
jmp 0x140019404
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, recv
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x140018b70
lea rdx, str.__farm_recheck
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018be6
cmp r12, 0xe
jne 0x140018be6
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018be6
mov byte [rsi + 0x104], 1
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140018bb9
or rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018bb0
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0xfc], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
cmp r12, 0xe
mov eax, recv
cmovb rax, r12
test rax, rax
je 0x140018c1a
mov r8, rax
lea rdx, str.__farm_retries
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018c87
cmp r12, 0xe
jne 0x140018c87
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018c87
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140018c5a
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018c51
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0xf8], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, r13
mov r8d, 2
cmp r12, r8
cmovb r8, r12
test r8, r8
je 0x140018cb8
lea rdx, [0x1402260c0]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018cbe
cmp r12, 2
je 0x140018cd7
lea rdx, str.__stratum
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140018dd5
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018dd5
mov dword [rsi], 4
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140018d1b
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018d12
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
mov r9d, 1
lea rcx, [rsp + 0x38]
call fcn.14001fe50
mov rbx, rax
test rax, rax
je 0x140018da8
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x98]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
lea r8, [rbx + 1]
cmp r8, qword [rsp + 0x48]
ja 0x140018dcb
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x160]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x140018dcb
lea rcx, [rsi + 0x98]
lea rax, [rsp + 0x38]
cmp rcx, rax
je 0x140018dcb
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
call fcn.140020320
nop
lea rcx, [rsp + 0x38]
jmp 0x140019404
lea rdx, [0x1402260d4]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140018e03
lea rdx, str.__userpass
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140018ee1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018ee1
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140018e49
or rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140018e40
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
mov r9d, 1
lea rdx, [0x140225f44]
lea rcx, [rsp + 0x38]
call fcn.14001ff00
mov rbx, rax
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x120]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
lea r8, [rbx + 1]
cmp r8, qword [rsp + 0x48]
ja 0x140018ed7
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x140]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
nop
lea rcx, [rsp + 0x38]
jmp 0x140019404
lea rdx, [0x1402260e4]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140018f0b
lea rdx, str.__stratum_client
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140018f58
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018f58
lea rdx, str.The_argument
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140022e70
mov rcx, rax
lea rdx, [rsp + 0x58]
call fcn.140023200
mov rcx, rax
lea rdx, str._has_been_removed._There_is_only_one_stratum_client_now.
call fcn.140022e70
mov rcx, rax
lea rdx, [0x140023800]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14001a028
lea rdx, [0x140226150]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140018f82
lea rdx, str.__stratum_protocol
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140018fa9
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140018fa9
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rcx, eax
mov rcx, qword [r15 + rcx*8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [rsi + 0x118], eax
jmp 0x14001a028
lea rdx, str.__stratum_ssl
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001901e
mov dword [rsi + 8], 1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
mov eax, dword [rbx]
inc eax
cdqe
mov rcx, qword [r15 + rax*8]
cmp byte [rcx], 0x2d
je 0x14001a028
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rcx, eax
mov rcx, qword [r15 + rcx*8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
cmp eax, 1
jne 0x140019009
mov dword [rsi + 8], 2
jmp 0x14001a028
cmp eax, 2
jne 0x14001a028
mov dword [rsi + 8], 3
jmp 0x14001a028
lea rdx, [0x140226180]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019048
lea rdx, str.__stratum_email
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400190b6
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400190b6
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140019089
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140019080
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
lea rcx, [rsi + 0x1c0]
lea rdx, [rsp + 0x38]
call fcn.14001e720
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, [0x140226198]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x1400190e4
lea rdx, str.__failover_userpass
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400191c1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400191c1
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140019129
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140019120
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
nop
mov r9d, 1
lea rdx, [0x140225f44]
lea rcx, [rsp + 0x38]
call fcn.14001ff00
mov rbx, rax
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x180]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
lea r8, [rbx + 1]
cmp r8, qword [rsp + 0x48]
ja 0x1400191b7
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14001e550
lea rcx, [rsi + 0x1a0]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
nop
lea rcx, [rsp + 0x38]
jmp 0x140019404
lea rdx, [0x1402261b4]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x1400191eb
lea rdx, str.__user
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019251
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019251
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
cdqe
mov rdx, qword [r15 + rax*8]
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x38], 0
cmp byte [rdx], 0
je 0x140019229
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140019220
mov r8, rdi
lea rcx, [rsp + 0x38]
call fcn.1400201f0
lea rcx, [rsi + 0x120]
lea rdx, [rsp + 0x38]
call fcn.14001e720
lea rcx, [rsp + 0x38]
jmp 0x140019404
lea rdx, [0x1402261c0]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x14001927b
lea rdx, str.__pass
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400192a7
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400192a7
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
lea rcx, [rsi + 0x140]
jmp 0x1400193f7
lea rdx, [0x1402261cc]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x1400192d1
lea rdx, str.__port
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400192fd
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400192fd
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
lea rcx, [rsi + 0x160]
jmp 0x1400193f7
lea rdx, [0x1402261d8]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019327
lea rdx, str.__failover_user
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019353
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019353
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
lea rcx, [rsi + 0x180]
jmp 0x1400193f7
lea rdx, [0x1402261f0]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x14001937d
lea rdx, str.__failover_pass
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400193a6
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400193a6
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
lea rcx, [rsi + 0x1a0]
jmp 0x1400193f7
lea rdx, [0x140226208]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x1400193d0
lea rdx, str.__failover_port
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001940e
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001940e
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
lea rcx, [rsi + 0x1e0]
mov rdx, rax
call fcn.14001e720
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x14001a028
lea rdx, str.__work_timeout
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001944a
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001944a
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rcx, eax
mov rcx, qword [r15 + rcx*8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [rsi + 0x108], eax
jmp 0x14001a028
lea rdx, [0x140226230]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x14001a021
lea rdx, str.__report_hashrate
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x14001a021
lea rdx, str.__display_interval
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400194d1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400194d1
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x100], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str._HWMON
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019530
mov byte [rsi + 0x10c], 1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
mov eax, dword [rbx]
inc eax
cdqe
mov rcx, qword [r15 + rax*8]
cmp byte [rcx], 0x2d
je 0x14001a028
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rcx, eax
mov rcx, qword [r15 + rcx*8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
test eax, eax
setne al
mov byte [rsi + 0x10d], al
jmp 0x14001a028
lea rdx, str.__exit
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019551
mov byte [rsi + 0x80], 1
jmp 0x14001a028
lea rdx, str.__api_port
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001958d
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001958d
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rcx, eax
mov rcx, qword [r15 + rcx*8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [rsi + 0x110], eax
jmp 0x14001a028
lea rdx, str.__opencl_platform
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400195df
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400195df
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0xc], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__opencl_devices
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fd8
lea rdx, str.__opencl_device
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fd8
lea rdx, str.__cl_parallel_hash
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400196a4
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400196a4
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x38], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
mov eax, dword [rsi + 0x38]
cmp eax, 8
ja 0x140019674
mov ecx, 0x116
bt ecx, eax
jb 0x140019ebb
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0xa0]
call fcn.14001c140
nop
mov r9d, 0x136
mov rcx, rax
call fcn.140023840
nop
lea rdx, str.__cl_kernel
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400196f6
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x1400196f6
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x18], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__cl_global_work
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019748
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019748
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x3c], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__cl_local_work
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001979a
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001979a
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x40], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__list_devices
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400197b8
mov byte [rsi + 0x14], 1
jmp 0x14001a028
lea rdx, str.__cuda_grid_size
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001980a
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001980a
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x68], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__cuda_block_size
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x14001985c
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001985c
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x6c], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__cuda_devices
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x1400198c2
cmp dword [rsi + 0x44], 0x20
jae 0x14001a028
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
inc dword [rbx]
movsxd rdx, dword [rbx]
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
mov ecx, dword [rsi + 0x44]
mov rax, qword [rsi + 0x48]
lea rdi, [rax + rcx*4]
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rdi], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
inc dword [rsi + 0x44]
jmp 0x140019871
lea rdx, str.__cuda_parallel_hash
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019952
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019952
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x74], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
mov eax, dword [rsi + 0x74]
dec eax
cmp eax, 7
jbe 0x140019ebb
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0x130]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x130]
call fcn.14001c140
lea rdx, [0x140271510]
lea rcx, [rsp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.__cuda_schedule
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019a8f
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019a8f
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rdx, str.auto
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x1400199aa
mov dword [rsi + 0x64], edi
jmp 0x140019a02
lea rdx, str.spin
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x1400199c8
mov dword [rsi + 0x64], 1
jmp 0x140019a02
lea rdx, str.yield
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x1400199e6
mov dword [rsi + 0x64], 2
jmp 0x140019a02
lea rdx, str.sync
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x140019a11
mov dword [rsi + 0x64], 4
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x14001a028
movsxd rbx, dword [rbx]
lea rdx, str.Bad
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140022e70
mov rcx, rax
lea rdx, [rsp + 0x58]
call fcn.140023200
mov rcx, rax
lea rdx, str._option:
call fcn.140022e70
mov rcx, rax
mov rdx, qword [r15 + rbx*8]
call fcn.140022e70
mov rcx, rax
lea rdx, [0x140023800]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0xa0]
call fcn.14001c140
nop
mov r9d, 0x1a4
mov rcx, rax
call fcn.140023840
nop
lea rdx, str.__cuda_streams
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019ae1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019ae1
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x38]
call fcn.140012a90
mov dword [rsi + 0x60], eax
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x14001a028
lea rdx, str.__cuda_noeval
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019aff
mov byte [rsi + 0x70], 1
jmp 0x14001a028
lea rdx, [0x1402263d0]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019b2d
lea rdx, str.__dag_load_mode
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019c63
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019c63
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x38]
call fcn.14001e7e0
nop
lea rdx, str.parallel
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x140019b6c
mov dword [rsi + 0x78], edi
jmp 0x140019bd6
lea rdx, str.sequential
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x140019b8a
mov dword [rsi + 0x78], 1
jmp 0x140019bd6
lea rdx, str.single
lea rcx, [rsp + 0x38]
call fcn.14001e4d0
test eax, eax
jne 0x140019be5
mov dword [rsi + 0x78], 2
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x7c], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
nop
lea rcx, [rsp + 0x38]
call fcn.14001e690
jmp 0x14001a028
movsxd rbx, dword [rbx]
lea rdx, str.Bad
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140022e70
mov rcx, rax
lea rdx, [rsp + 0x58]
call fcn.140023200
mov rcx, rax
lea rdx, str._option:
call fcn.140022e70
mov rcx, rax
mov rdx, qword [r15 + rbx*8]
call fcn.140022e70
mov rcx, rax
lea rdx, [0x140023800]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0xa0]
call fcn.14001c140
nop
mov r9d, 0x1b9
mov rcx, rax
call fcn.140023840
nop
lea rdx, str.__benchmark_warmup
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019cb8
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019cb8
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x84], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__benchmark_trial
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019d0d
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019d0d
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x88], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, str.__benchmark_trials
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019d62
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019d62
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x8c], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
jmp 0x140019ebb
lea rdx, [0x140226454]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fcf
lea rdx, str.__opencl
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fcf
lea rdx, [0x140226464]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fc6
lea rdx, str.__cuda
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fc6
lea rdx, [0x140226470]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fc1
lea rdx, str.__cuda_opencl
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019fc1
lea rdx, [0x140226488]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019f49
lea rdx, str.__benchmark
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019f49
lea rdx, [0x14022649c]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019ed1
lea rdx, str.__simulation
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019ed1
lea rdx, [0x1402264b0]
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
je 0x140019e82
lea rdx, str.__mining_threads
lea rcx, [rsp + 0x58]
call fcn.14001e4d0
test eax, eax
jne 0x140019ec0
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x140019ec0
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
movsxd rdx, eax
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x10], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
nop
jmp 0x14001a028
lea rcx, [rsp + 0x58]
call fcn.14001e690
xor al, al
jmp 0x14001a034
mov dword [rsi], 2
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
inc dword [rbx]
mov cl, 1
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_]
mov qword [rsp + 0x40], rax
movsxd rdx, dword [rbx]
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x110]
call fcn.14001e7e0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400238d0
nop
lea rcx, [rsp + 0x110]
call fcn.14001e690
nop
lea rcx, [rsp + 0x38]
call fcn.140012a30
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x90], eax
jmp 0x1400193ff
mov dword [rsi], 1
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
inc dword [rbx]
mov cl, 1
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_]
mov qword [rsp + 0x40], rax
movsxd rdx, dword [rbx]
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x110]
call fcn.14001e7e0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400238d0
nop
lea rcx, [rsp + 0x110]
call fcn.14001e690
nop
lea rcx, [rsp + 0x38]
call fcn.140012a30
nop
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rsi + 0x90], eax
jmp 0x1400193ff
mov dword [rsi + 4], edi
jmp 0x14001a028
mov dword [rsi + 4], 2
jmp 0x14001a028
mov dword [rsi + 4], 1
jmp 0x14001a028
cmp dword [rsi + 0x1c], 0x20
jae 0x14001a028
mov eax, dword [rbx]
inc eax
cmp eax, r14d
jge 0x14001a028
inc dword [rbx]
movsxd rdx, dword [rbx]
mov rdx, qword [r15 + rdx*8]
lea rcx, [rsp + 0x78]
call fcn.14001e7e0
nop
mov ecx, dword [rsi + 0x1c]
mov rax, qword [rsi + 0x20]
lea rdi, [rax + rcx*4]
lea rcx, [rsp + 0x78]
call fcn.140012a90
mov dword [rdi], eax
lea rcx, [rsp + 0x78]
call fcn.14001e690
inc dword [rsi + 0x1c]
jmp 0x140019fd8
mov byte [rsi + 0x114], 1
lea rcx, [rsp + 0x58]
call fcn.14001e690
mov al, 1
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1401aad60
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret