Function at 0x14001ffb0
Capabilities:
Compute adler32 checksum

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x128
mov rax, qword [0x140061740]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x188]
mov r14, qword [r8]
mov r11, r9
mov rax, qword [rbx]
add r14, rdx
mov qword [rsp + 0x58], r9
mov r12, rcx
mov rcx, qword [rsp + 0x180]
mov qword [rsp + 0x28], rdx
mov rsi, rdx
mov edx, dword [rsp + 0x190]
lea rdi, [rax + rcx]
mov r9d, edx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x50], r14
mov r13, rcx
and r9d, 4
je 0x140020035
or rax, 0xffffffffffffffff
jmp 0x14002003e
sub rax, r11
dec rax
add rax, rcx
lea r10, [rax + 1]
mov qword [rsp + 0x48], rax
test rax, r10
jne 0x140021674
cmp rcx, r11
jb 0x140021674
mov rax, qword [r12 + 0x40]
mov r8d, dword [r12 + 0x20]
mov r11d, dword [r12 + 0x28]
mov ebx, dword [r12 + 4]
mov qword [rsp + 0x178], rbp
mov rbp, qword [r12 + 0x38]
mov qword [rsp + 0x40], rax
mov eax, dword [r12]
mov qword [rsp + 0x120], r15
mov r15d, dword [r12 + 0x24]
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x30], r11d
cmp eax, 0x35
ja case.0x1400200bb.4
lea rcx, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
mov ecx, dword [rcx + rax*4 + 0x216a4]
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
add rcx, rax
jmp rcx
xor r11d, r11d
xor r15d, r15d
xor ebx, ebx
xor ebp, ebp
mov qword [r12 + 8], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], r11d
mov dword [r12 + 0x1c], 1
mov dword [r12 + 0x10], 1
test dl, 1
je 0x1400203ee
mov rcx, rsi
cmp rcx, r14
jae 0x140020115
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
mov dword [r12 + 8], eax
jmp 0x140020135
mov r11d, dword [rsp + 0x20]
jmp 0x1400200f8
test dl, 2
je 0x14002012c
mov r14d, 1
mov r10d, edx
mov dword [r12], r14d
jmp 0x14002137d
mov dword [r12 + 8], 0
cmp rsi, r14
jae 0x140020162
movzx eax, byte [rsi]
inc rsi
mov dword [r12 + 0xc], eax
jmp 0x140020186
mov r11d, dword [rsp + 0x20]
mov rcx, rsi
cmp rcx, r14
jae 0x140020162
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
mov dword [r12 + 0xc], eax
jmp 0x140020186
test dl, 2
je 0x14002017d
mov r14d, 1
mov dword [r12], 2
mov r10d, edx
jmp 0x14002137d
mov dword [r12 + 0xc], 0
mov edi, dword [r12 + 8]
mov r8d, dword [r12 + 0xc]
mov eax, 0x8421085
mov ecx, edi
shl ecx, 8
add ecx, r8d
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
cmp ecx, eax
jne 0x1400201c4
test r8b, 0x20
jne 0x1400201c4
mov eax, edi
and al, 0xf
cmp al, 8
jne 0x1400201c4
xor r15d, r15d
jmp 0x1400201ca
mov r15d, 1
test r9d, r9d
jne 0x1400201f4
shr edi, 4
mov eax, 1
lea ecx, [rdi + 8]
shl eax, cl
cmp eax, 0x8000
ja 0x1400201ec
cmp r10, rax
jb 0x1400201ec
xor eax, eax
jmp 0x1400201f1
mov eax, 1
or r15d, eax
test r15d, r15d
jne 0x140020203
jmp 0x1400203e2
mov r11d, dword [rsp + 0x20]
or r14, 0xffffffffffffffff
mov dword [r12], 0x24
jmp 0x140021375
mov rcx, rsi
cmp rcx, r14
jae 0x1400203f8
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x14002040b
mov rcx, rsi
cmp rcx, r14
jae 0x140020447
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x14002045a
mov rcx, rsi
mov r8d, 0xfffffff8
cmp rcx, r14
jae 0x14002049a
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x1400204ad
mov r8, rsi
cmp rsi, r14
jae 0x1400204e9
movzx eax, byte [rsi]
lea rsi, [rsi + 1]
mov r8d, 0xfffffff8
mov byte [r15 + r12 + 0x2928], al
inc r15d
jmp 0x140020486
mov rcx, rsi
cmp rcx, r14
jae 0x140020560
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020573
mov rcx, rsi
lea r8, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
cmp rcx, r14
jae 0x1400206af
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x1400206c2
mov rcx, rsi
lea rdi, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
cmp rcx, r14
jae 0x14002074e
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020761
mov rcx, rsi
cmp rcx, r14
jae 0x140020a65
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020a78
mov rcx, rsi
cmp rcx, r14
jae 0x140020b5c
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020b6f
mov rcx, rsi
cmp rcx, r14
jae 0x140020db3
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020dc6
mov rcx, rsi
cmp rcx, r14
jae 0x140020ecd
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020ee0
mov rcx, rsi
cmp rcx, r14
jae 0x140020f83
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x140020f96
mov rcx, rsi
cmp rcx, r14
jae 0x14002104c
movzx eax, byte [rcx]
lea rsi, [rcx + 1]
jmp 0x14002105f
mov r9, qword [rsp + 0x40]
mov r11, qword [rsp + 0x58]
mov r10d, edx
jmp 0x1400211b0
cmp rsi, r14
jae 0x14002134b
mov rcx, rdi
mov rdi, r14
mov edx, r15d
sub rdi, rsi
sub rcx, r13
cmp rcx, rdi
mov rax, rdi
cmovb rax, rcx
cmp rax, rdx
jae 0x1400203b3
cmp rcx, rdi
cmovb rdi, rcx
jmp 0x1400203b6
mov rdi, rdx
mov r8, rdi
mov rdx, rsi
mov rcx, r13
call fcn.14002e480
add rsi, rdi
add r13, rdi
sub r15d, edi
test r15d, r15d
jne 0x1400211dd
test byte [r12 + 0x14], 1
jne 0x14002132e
mov rdi, qword [rsp + 0x38]
mov edx, dword [rsp + 0x190]
cmp ebx, 3
jae 0x14002041b
cmp rsi, r14
jb 0x140020405
test dl, 2
jne 0x140021205
xor eax, eax
jmp 0x14002040b
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 3
jb 0x1400203f3
mov eax, ebp
add ebx, 0xfffffffd
shr rbp, 3
and eax, 7
mov dword [r12 + 0x14], eax
shr eax, 1
mov dword [r12 + 0x18], eax
jne 0x1400205ac
mov eax, ebx
and eax, 7
cmp ebx, eax
jae 0x14002046e
cmp rsi, r14
jb 0x140020454
test dl, 2
jne 0x140021218
xor eax, eax
jmp 0x14002045a
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
mov eax, ebx
and eax, 7
cmp ebx, eax
jb 0x140020442
mov ecx, ebx
mov eax, ebx
mov r8d, 0xfffffff8
and cl, 7
and eax, 7
shr rbp, cl
sub ebx, eax
xor r15d, r15d
cmp r15d, 4
jae 0x140020506
test ebx, ebx
je 0x1400204d1
cmp ebx, 8
jae 0x1400204bd
cmp rsi, r14
jb 0x1400204a7
test dl, 2
jne 0x14002122b
xor eax, eax
jmp 0x1400204ad
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 8
jb 0x140020495
mov byte [r15 + r12 + 0x2928], bpl
add ebx, r8d
shr rbp, 8
inc r15d
jmp 0x140020486
cmp rsi, r14
jae 0x1400204ef
movzx eax, byte [rsi]
inc rsi
mov byte [r15 + r12 + 0x2928], al
inc r15d
jmp 0x140020486
mov r8d, 0xfffffff8
test dl, 2
jne 0x14002123e
mov byte [r15 + r12 + 0x2928], 0
inc r15d
jmp 0x140020486
movzx eax, byte [r12 + 0x2928]
movzx r15d, byte [r12 + 0x2929]
movzx ecx, byte [r12 + 0x292b]
shl ecx, 8
shl r15d, 8
or r15d, eax
movzx eax, byte [r12 + 0x292a]
or ecx, eax
xor ecx, 0xffff
cmp r15d, ecx
jne case.0x1400200bb.39
test r15d, r15d
je 0x1400203d6
test ebx, ebx
je 0x1400203cd
cmp ebx, 8
jae 0x140020583
cmp rsi, r14
jb 0x14002056d
test dl, 2
jne 0x140021251
xor eax, eax
jmp 0x140020573
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 8
jb 0x14002055b
movzx r8d, bpl
mov eax, 0xfffffff8
shr rbp, 8
mov dword [rsp + 0x20], r8d
add ebx, eax
cmp r13, rdi
jae 0x140021264
mov byte [r13], r8b
inc r13
dec r15d
jmp 0x140020545
cmp eax, 3
je case.0x1400200bb.10
cmp eax, 1
jne 0x140020682
movabs rax, 0x505050505050505
mov dword [r12 + 0x2c], 0x120
mov dword [r12 + 0x30], 0x20
mov qword [r12 + 0xde8], rax
mov qword [r12 + 0xdf0], rax
mov qword [r12 + 0xdf8], rax
mov qword [r12 + 0xe00], rax
mov ecx, 2
movabs r8, 0x808080808080808
lea rax, [r12 + 0x48]
nop
mov qword [rax], r8
mov qword [rax + 8], r8
mov qword [rax + 0x10], r8
lea rax, [rax + 0x40]
mov qword [rax - 0x28], r8
mov qword [rax - 0x20], r8
mov qword [rax - 0x18], r8
mov qword [rax - 0x10], r8
mov qword [rax - 8], r8
dec rcx
jne 0x140020610
mov qword [rax], r8
mov qword [rax + 8], r8
mov eax, 9
lea rdi, [r12 + 0xd8]
mov ecx, WSAStartup
rep stosb byte [rdi], al
movabs rax, 0x707070707070707
mov qword [r12 + 0x148], rax
mov qword [r12 + 0x150], rax
mov qword [r12 + 0x158], rax
mov qword [r12 + 0x160], r8
jmp 0x14002079c
xor r15d, r15d
lea r8, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
cmp r15d, 3
jae 0x140020717
lea rax, [r8 + 0x58ae8]
mov edi, r15d
add rax, rdi
movsx ecx, byte [rax]
cmp ebx, ecx
jae 0x1400206e1
cmp rsi, r14
jb 0x1400206bc
test dl, 2
jne 0x140021277
xor eax, eax
jmp 0x1400206c2
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
mov edi, r15d
add ebx, 8
shl rax, cl
or rbp, rax
lea rax, [r8 + 0x58ae8]
add rax, rdi
movsx ecx, byte [rax]
cmp ebx, ecx
jb 0x1400206aa
mov edx, 1
shl edx, cl
dec edx
and edx, ebp
mov dword [r12 + rdi*4 + 0x2c], edx
movsx ecx, byte [rax]
shr rbp, cl
sub ebx, ecx
mov ecx, dword [r8 + rdi*4 + 0x54a50]
add ecx, edx
mov edx, dword [rsp + 0x190]
inc r15d
mov dword [r12 + rdi*4 + 0x2c], ecx
jmp 0x14002068c
lea rcx, [r12 + 0x1b88]
xor edx, edx
mov r8d, 0x120
call fcn.140035a80
xor r15d, r15d
lea rdi, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
cmp r15d, dword [r12 + 0x34]
jae 0x140020793
cmp ebx, 3
jae 0x140020771
cmp rsi, r14
jb 0x14002075b
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x14002128a
xor eax, eax
jmp 0x140020761
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 3
jb 0x140020742
movzx eax, byte [r15 + rdi + 0x54b60]
mov ecx, ebp
add ebx, 0xfffffffd
and ecx, 7
shr rbp, 3
inc r15d
mov byte [rax + r12 + 0x1b88], cl
jmp 0x140020736
mov dword [r12 + 0x34], reloc.WS2_32.dll_send
mov eax, dword [r12 + 0x18]
test eax, eax
js 0x140020c38
mov r14d, eax
xor eax, eax
xor edx, edx
mov r8d, 0x800
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
imul r14, r14, 0xda0
add r14, r12
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
lea rcx, [r14 + 0x168]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
call fcn.140035a80
lea rcx, [r14 + 0x968]
xor edx, edx
mov r8d, 0x480
call fcn.140035a80
mov eax, dword [r12 + 0x18]
mov r9d, dword [r12 + rax*4 + 0x2c]
test r9d, r9d
je 0x140020853
lea rcx, [r14 + 0x48]
mov edx, r9d
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
inc dword [rsp + rax*4 + 0x80]
dec rdx
jne 0x140020840
xor edi, edi
xor ecx, ecx
xor edx, edx
lea r8d, [rdi + 0xf]
mov qword [rsp + 0xc0], rcx
nop word [rax + rax]
mov eax, dword [rsp + rdx + 0x84]
lea rdx, [rdx + 4]
add ecx, eax
add edi, eax
add ecx, ecx
mov dword [rsp + rdx + 0xc4], ecx
dec r8
jne 0x140020870
cmp ecx, 0x10000
je 0x14002089e
cmp edi, 1
ja case.0x1400200bb.35
or r10d, 0xffffffff
xor r11d, r11d
test r9d, r9d
je 0x1400209c2
nop
movzx edi, byte [r11 + r14 + 0x48]
xor edx, edx
test edi, edi
je 0x1400209af
lea rcx, [rsp + 0xc0]
mov r9d, edi
mov r8d, dword [rcx + rdi*4]
lea rcx, [rcx + rdi*4]
lea eax, [r8 + 1]
mov dword [rcx], eax
nop dword [rax]
mov ecx, r8d
lea eax, [rdx + rdx]
shr r8d, 1
and ecx, 1
mov edx, ecx
or edx, eax
dec r9d
jne 0x1400208e0
cmp edi, 0xa
ja 0x140020935
movzx r8d, di
shl r8w, 9
or r8w, r11w
cmp edx, 0x400
jae 0x1400209af
mov ecx, edi
mov edi, 1
shl edi, cl
nop dword [rax]
mov word [r14 + rdx*2 + 0x168], r8w
add edx, edi
cmp edx, 0x400
jb 0x140020920
jmp 0x1400209af
mov eax, edx
and eax, 0x3ff
movsx ecx, word [r14 + rax*2 + 0x168]
test ecx, ecx
jne 0x140020959
mov word [r14 + rax*2 + 0x168], r10w
mov ecx, r10d
sub r10d, 2
shr edx, 9
cmp edi, 0xb
jbe 0x14002099a
add edi, 0xfffffff5
shr edx, 1
mov eax, edx
and eax, 1
sub ecx, eax
movsxd rax, ecx
mov ecx, 0x48f
sub rcx, rax
movzx eax, word [r14 + rcx*2 + 0x48]
test ax, ax
jne 0x140020992
mov word [r14 + rcx*2 + 0x48], r10w
mov ecx, r10d
sub r10d, 2
jmp 0x140020995
movsx ecx, ax
dec rdi
jne 0x140020964
shr edx, 1
and edx, 1
sub edx, ecx
lea eax, [rdx - 1]
cdqe
mov word [r14 + rax*2 + 0x968], r11w
mov eax, dword [r12 + 0x18]
inc r11d
cmp r11d, dword [r12 + rax*4 + 0x2c]
jb 0x1400208b0
cmp dword [r12 + 0x18], 2
jne 0x140020c29
xor r15d, r15d
mov eax, dword [r12 + 0x30]
add eax, dword [r12 + 0x2c]
cmp r15d, eax
jae 0x140020bdd
cmp ebx, 0xf
jae 0x140020aad
mov r14, qword [rsp + 0x50]
mov rax, r14
sub rax, rsi
cmp rax, 2
jge 0x140020a8e
mov rax, rbp
and eax, 0x3ff
movsx edi, word [r12 + rax*2 + 0x1ca8]
test edi, edi
js 0x140020a28
sar edi, 9
test edi, edi
je 0x140020a59
cmp ebx, edi
jae 0x140020aad
jmp 0x140020a59
cmp ebx, 0xa
jbe 0x140020a59
mov ecx, 0xa
not edi
mov rdx, rbp
shr rdx, cl
movsxd rax, edi
inc ecx
and edx, 1
add rdx, rax
movsx edi, word [r12 + rdx*2 + 0x24a8]
test edi, edi
jns 0x140020aad
lea eax, [rcx + 1]
cmp ebx, eax
jae 0x140020a32
cmp rsi, r14
jb 0x140020a72
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x14002130e
xor eax, eax
jmp 0x140020a78
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 0xf
jb 0x140020a02
jmp 0x140020aad
movzx edx, byte [rsi + 1]
movzx eax, byte [rsi]
lea ecx, [rbx + 8]
shl rdx, cl
mov ecx, ebx
add rsi, 2
shl rax, cl
or rdx, rax
or rbp, rdx
add ebx, 0x10
mov rax, rbp
and eax, 0x3ff
movsx r8d, word [r12 + rax*2 + 0x1ca8]
test r8d, r8d
js 0x140020ad2
mov ecx, r8d
sar ecx, 9
and r8d, 0x1ff
jmp 0x140020b02
mov ecx, 0xa
nop word [rax + rax]
not r8d
mov rdx, rbp
shr rdx, cl
movsxd rax, r8d
inc ecx
and edx, 1
add rdx, rax
movsx r8d, word [r12 + rdx*2 + 0x24a8]
test r8d, r8d
js 0x140020ae0
shr rbp, cl
sub ebx, ecx
mov dword [rsp + 0x20], r8d
cmp r8d, 0x10
jae 0x140020b22
mov byte [r15 + r12 + 0x292c], r8b
inc r15d
jmp 0x1400209d1
jne 0x140020b2d
test r15d, r15d
je case.0x1400200bb.17
lea ecx, [r8 - 0x10]
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
movsx r11d, byte [rcx + rax + 0x58aec]
mov dword [rsp + 0x30], r11d
cmp ebx, r11d
jae 0x140020b7f
mov r14, qword [rsp + 0x50]
cmp rsi, r14
jb 0x140020b69
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x14002131e
xor eax, eax
jmp 0x140020b6f
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, r11d
jb 0x140020b50
mov ecx, r11d
mov edi, 1
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
shl edi, cl
sub ebx, r11d
dec edi
and edi, ebp
shr rbp, cl
lea ecx, [r8 - 0x10]
movsx eax, byte [rcx + rax + 0x58af0]
add edi, eax
cmp r8d, 0x10
jne 0x140020bbd
lea eax, [r15 - 1]
movzx edx, byte [rax + r12 + 0x292c]
jmp 0x140020bbf
xor edx, edx
mov eax, r15d
lea rcx, [r12 + 0x292c]
mov r8d, edi
add rcx, rax
call fcn.140035a80
add r15d, edi
jmp 0x1400209d1
mov edx, dword [r12 + 0x2c]
mov ecx, dword [r12 + 0x30]
add ecx, edx
cmp ecx, r15d
jne case.0x1400200bb.21
mov r8d, edx
lea rcx, [r12 + 0x48]
lea rdx, [r12 + 0x292c]
call fcn.14002e480
mov eax, dword [r12 + 0x2c]
mov r8d, dword [r12 + 0x30]
lea rdx, [r12 + 0x292c]
lea rcx, [r12 + 0xde8]
add rdx, rax
call fcn.14002e480
dec dword [r12 + 0x18]
mov r14, qword [rsp + 0x50]
jmp 0x14002079c
mov rdi, qword [rsp + 0x38]
mov rcx, r14
sub rcx, rsi
cmp rcx, 4
jl 0x140020d32
mov rax, rdi
sub rax, r13
cmp rax, 2
jl 0x140020d32
cmp ebx, 0x1e
jae 0x140020c73
mov eax, dword [rsi]
mov ecx, ebx
add rsi, 4
shl rax, cl
or rbp, rax
add ebx, 0x20
mov rax, rbp
and eax, 0x3ff
movsx r15d, word [r12 + rax*2 + 0x168]
test r15d, r15d
js 0x140020c91
mov ecx, r15d
sar ecx, 9
jmp 0x140020cc2
mov ecx, 0xa
nop word [rax + rax]
not r15d
mov rdx, rbp
shr rdx, cl
movsxd rax, r15d
inc ecx
and edx, 1
add rdx, rax
movsx r15d, word [r12 + rdx*2 + 0x968]
test r15d, r15d
js 0x140020ca0
shr rbp, cl
sub ebx, ecx
bt r15d, 8
jb 0x140020e80
mov rax, rbp
and eax, 0x3ff
movsx eax, word [r12 + rax*2 + 0x168]
test eax, eax
js 0x140020cee
mov ecx, eax
sar ecx, 9
jmp 0x140020d12
mov ecx, 0xa
not eax
mov rdx, rbp
shr rdx, cl
cdqe
inc ecx
and edx, 1
add rdx, rax
movsx eax, word [r12 + rdx*2 + 0x968]
test eax, eax
js 0x140020cf3
shr rbp, cl
sub ebx, ecx
mov byte [r13], r15b
bt eax, 8
jb 0x140020e7a
mov byte [r13 + 1], al
add r13, 2
jmp 0x140020c3d
cmp ebx, 0xf
jae 0x140020dfb
cmp rcx, 2
jge 0x140020ddc
mov rax, rbp
and eax, 0x3ff
movsx edi, word [r12 + rax*2 + 0x168]
test edi, edi
js 0x140020d6b
sar edi, 9
test edi, edi
je 0x140020da7
cmp ebx, edi
jae 0x140020dfb
jmp 0x140020da7
cmp ebx, 0xa
jbe 0x140020da7
mov ecx, 0xa
nop word [rax + rax]
not edi
mov rdx, rbp
shr rdx, cl
movsxd rax, edi
inc ecx
and edx, 1
add rdx, rax
movsx edi, word [r12 + rdx*2 + 0x968]
test edi, edi
jns 0x140020dfb
lea eax, [rcx + 1]
cmp ebx, eax
jae 0x140020d80
cmp rsi, r14
jb 0x140020dc0
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x14002129d
xor eax, eax
jmp 0x140020dc6
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 0xf
jb 0x140020d45
jmp 0x140020dfb
movzx edx, byte [rsi + 1]
movzx eax, byte [rsi]
lea ecx, [rbx + 8]
shl rdx, cl
mov ecx, ebx
add rsi, 2
shl rax, cl
or rdx, rax
or rbp, rdx
add ebx, 0x10
mov rax, rbp
and eax, 0x3ff
movsx r15d, word [r12 + rax*2 + 0x168]
test r15d, r15d
js 0x140020e20
mov ecx, r15d
sar ecx, 9
and r15d, 0x1ff
jmp 0x140020e52
mov ecx, 0xa
nop word [rax + rax]
not r15d
mov rdx, rbp
shr rdx, cl
movsxd rax, r15d
inc ecx
and edx, 1
add rdx, rax
movsx r15d, word [r12 + rdx*2 + 0x968]
test r15d, r15d
js 0x140020e30
shr rbp, cl
sub ebx, ecx
cmp r15d, 0x100
jae 0x140020e80
mov rdi, qword [rsp + 0x38]
cmp r13, rdi
jae 0x1400212b0
mov byte [r13], r15b
inc r13
jmp 0x140020c3d
inc r13
mov r15d, eax
and r15d, 0x1ff
cmp r15d, 0x100
je 0x1400203d6
lea ecx, [r15 - 0x101]
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
mov r11d, dword [rax + rcx*4 + 0x55330]
mov r15d, dword [rax + rcx*4 + 0x553b0]
mov dword [rsp + 0x30], r11d
test r11d, r11d
je 0x140020f07
cmp ebx, r11d
jae 0x140020ef0
cmp rsi, r14
jb 0x140020eda
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x1400212c3
xor eax, eax
jmp 0x140020ee0
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, r11d
jb 0x140020ec1
mov ecx, r11d
mov eax, 1
sub ebx, r11d
shl eax, cl
dec eax
and eax, ebp
shr rbp, cl
add r15d, eax
cmp ebx, 0xf
jae 0x140020fcb
mov rax, r14
sub rax, rsi
cmp rax, 2
jge 0x140020fac
mov rax, rbp
and eax, 0x3ff
movsx edi, word [r12 + rax*2 + 0xf08]
test edi, edi
js 0x140020f46
sar edi, 9
test edi, edi
je 0x140020f77
cmp ebx, edi
jae 0x140020fcb
jmp 0x140020f77
cmp ebx, 0xa
jbe 0x140020f77
mov ecx, 0xa
not edi
mov rdx, rbp
shr rdx, cl
movsxd rax, edi
inc ecx
and edx, 1
add rdx, rax
movsx edi, word [r12 + rdx*2 + 0x1708]
test edi, edi
jns 0x140020fcb
lea eax, [rcx + 1]
cmp ebx, eax
jae 0x140020f50
cmp rsi, r14
jb 0x140020f90
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x1400212d6
xor eax, eax
jmp 0x140020f96
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 0xf
jb 0x140020f20
jmp 0x140020fcb
movzx edx, byte [rsi + 1]
movzx eax, byte [rsi]
lea ecx, [rbx + 8]
shl rdx, cl
mov ecx, ebx
add rsi, 2
shl rax, cl
or rdx, rax
or rbp, rdx
add ebx, 0x10
mov rax, rbp
and eax, 0x3ff
movsx eax, word [r12 + rax*2 + 0xf08]
test eax, eax
js 0x140020fec
mov ecx, eax
sar ecx, 9
and eax, 0x1ff
jmp 0x140021010
mov ecx, 0xa
not eax
mov rdx, rbp
shr rdx, cl
cdqe
inc ecx
and edx, 1
add rdx, rax
movsx eax, word [r12 + rdx*2 + 0x1708]
test eax, eax
js 0x140020ff1
shr rbp, cl
sub ebx, ecx
lea rcx, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
mov r11d, dword [rcx + rax*4 + 0x54a60]
mov r8d, dword [rcx + rax*4 + 0x55480]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x20], r8d
test r11d, r11d
je 0x14002108b
cmp ebx, r11d
jae 0x14002106f
cmp rsi, r14
jb 0x140021059
mov edx, dword [rsp + 0x190]
test dl, 2
jne 0x1400212e9
xor eax, eax
jmp 0x14002105f
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, r11d
jb 0x140021040
mov ecx, r11d
mov eax, 1
sub ebx, r11d
shl eax, cl
dec eax
and eax, ebp
shr rbp, cl
add r8d, eax
mov dword [rsp + 0x20], r8d
mov r11, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x190]
mov r9, r13
sub r9, r11
mov eax, r8d
mov qword [rsp + 0x40], r9
cmp rax, r9
jbe 0x1400210b5
test r10b, 4
jne 0x140021548
mov rdi, qword [rsp + 0x38]
mov rcx, r9
mov edx, r15d
sub rcx, rax
and rcx, qword [rsp + 0x48]
add rcx, r11
cmp r13, rcx
mov rax, rcx
cmova rax, r13
add rax, rdx
cmp rax, rdi
ja 0x1400211a2
cmp r15d, 9
jb 0x140021150
cmp r15d, r8d
ja 0x140021150
mov eax, 0xfffffff8
and rdx, rax
add rdx, rcx
nop word [rax + rax]
mov eax, dword [rcx]
add rcx, 8
add r13, 8
mov dword [r13 - 8], eax
mov eax, dword [rcx - 4]
mov dword [r13 - 4], eax
cmp rcx, rdx
jb 0x140021100
and r15d, 7
cmp r15d, 3
jae 0x140021150
test r15d, r15d
je 0x140020c3d
movzx eax, byte [rcx]
mov byte [r13], al
cmp r15d, 1
jbe 0x140021142
movzx eax, byte [rcx + 1]
mov byte [r13 + 1], al
mov eax, r15d
add r13, rax
jmp 0x140020c3d
movzx eax, byte [rcx]
add r15d, 0xfffffffd
add r13, 3
mov byte [r13 - 3], al
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 3]
mov byte [r13 - 2], al
movzx eax, byte [rcx - 1]
mov byte [r13 - 1], al
cmp r15d, 2
jg 0x140021150
test r15d, r15d
jle 0x140020c3d
movzx eax, byte [rcx]
mov byte [r13], al
cmp r15d, 1
jle 0x140021142
movzx eax, byte [rcx + 1]
mov byte [r13 + 1], al
mov eax, r15d
add r13, rax
jmp 0x140020c3d
mov eax, r15d
dec r15d
test eax, eax
je 0x140020c3d
cmp r13, rdi
jae 0x1400212f9
mov eax, r8d
mov rcx, r9
inc r13
sub rcx, rax
and rcx, qword [rsp + 0x48]
inc r9
movzx eax, byte [rcx + r11]
mov qword [rsp + 0x40], r9
mov byte [r13 - 1], al
jmp 0x1400211a2
mov edx, dword [rsp + 0x190]
mov rdi, qword [rsp + 0x38]
cmp r13, rdi
jb case.0x1400200bb.38
mov r14d, 2
mov dword [r12], 9
jmp 0x140021370
mov r14d, 1
mov dword [r12], 3
jmp 0x140021370
mov r14d, 1
mov dword [r12], 5
jmp 0x140021370
mov r14d, 1
mov dword [r12], 6
jmp 0x140021370
mov r14d, 1
mov dword [r12], 7
jmp 0x140021370
mov r14d, 1
mov dword [r12], gethostbyname
jmp 0x140021370
mov r14d, 2
mov dword [r12], reloc.WS2_32.dll_gethostbyname
jmp 0x140021370
mov r14d, 1
mov dword [r12], reloc.WS2_32.dll_inet_addr
jmp 0x140021370
mov r14d, 1
mov dword [r12], send
jmp 0x140021370
mov r14d, 1
mov dword [r12], reloc.WS2_32.dll_socket
jmp 0x140021370
mov r14d, 2
mov dword [r12], 0x18
jmp 0x140021370
mov r14d, 1
mov dword [r12], 0x19
jmp 0x140021370
mov r14d, 1
mov dword [r12], 0x1a
jmp 0x140021370
mov r14d, 1
mov dword [r12], 0x1b
jmp 0x140021370
mov r11d, dword [rsp + 0x20]
mov r14d, 2
mov dword [r12], 0x35
jmp 0x14002137d
mov r14d, 1
mov dword [r12], reloc.WS2_32.dll_recv
jmp 0x140021370
mov r14d, 1
mov dword [r12], reloc.WS2_32.dll_select
jmp 0x140021370
mov edx, dword [rsp + 0x190]
test dl, 1
jne 0x140021581
xor r14d, r14d
mov dword [r12], 0x22
jmp 0x140021370
test dl, 2
je case.0x1400200bb.40
mov r14d, 1
mov dword [r12], 0x26
jmp 0x140021370
mov dword [r12], 0x27
or r14, 0xffffffffffffffff
mov r11d, dword [rsp + 0x20]
mov r10d, dword [rsp + 0x190]
mov eax, dword [rsp + 0x30]
sub rsi, qword [rsp + 0x28]
mov dword [r12 + 0x20], r11d
mov r11, qword [rsp + 0x60]
mov dword [r12 + 0x28], eax
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x40], rax
mov rax, qword [rsp + 0x70]
mov qword [r12 + 0x38], rbp
mov rbp, qword [rsp + 0x178]
mov dword [r12 + 0x24], r15d
mov r15, qword [rsp + 0x120]
mov dword [r12 + 4], ebx
mov qword [rax], rsi
mov rax, qword [rsp + 0x68]
sub r13, r11
mov qword [rax], r13
test r10b, 9
je 0x1400214fc
test r14d, r14d
js 0x1400214fc
movzx ecx, word [r12 + 0x1c]
movzx edi, word [r12 + 0x1e]
movabs rax, 0x79baa6bb6398b6f7
mul r13
mov rax, r13
mov r8, r13
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0xc
imul rax, rax, 0x15b0
sub r8, rax
test r13, r13
je 0x1400214d8
xor edx, edx
cmp r8, 7
jbe 0x14002148a
lea r9d, [rdx + 7]
nop
movzx eax, byte [r11]
add r9d, 8
add edx, 8
add ecx, eax
movzx eax, byte [r11 + 1]
add r11, 8
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 6]
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 5]
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 4]
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 3]
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 2]
add edi, ecx
add ecx, eax
movzx eax, byte [r11 - 1]
add edi, ecx
add ecx, eax
mov eax, r9d
add edi, ecx
cmp rax, r8
jb 0x140021430
mov eax, edx
cmp rax, r8
jae 0x1400214a5
movzx eax, byte [r11]
inc edx
inc r11
add ecx, eax
mov eax, edx
add edi, ecx
cmp rax, r8
jb 0x140021491
mov eax, 0x80078071
mul ecx
mov eax, 0x80078071
shr edx, 0xf
imul edx, edx, 0xffff000f
add ecx, edx
mul edi
shr edx, 0xf
imul edx, edx, 0xffff000f
add edi, edx
sub r13, r8
mov r8d, 0x15b0
jne 0x140021423
shl edi, 0x10
lea edx, [rdi + rcx]
mov dword [r12 + 0x1c], edx
test r14d, r14d
jne 0x1400214fc
test r10b, 1
je 0x1400214fc
cmp edx, dword [r12 + 0x10]
mov eax, 0xfffffffe
cmovne r14d, eax
mov eax, r14d
jmp 0x140021681
mov dword [r12], 0x28
jmp case.0x1400200bb.4
mov dword [r12], 0xa
jmp case.0x1400200bb.4
mov dword [r12], 0x23
jmp case.0x1400200bb.4
mov dword [r12], send
jmp case.0x1400200bb.4
mov dword [r12], reloc.WS2_32.dll_setsockopt
jmp case.0x1400200bb.4
mov r10d, edx
mov r11d, dword [rsp + 0x20]
or r14, 0xffffffffffffffff
mov dword [r12], 0x25
jmp 0x14002137d
mov r10, rsi
cmp rsi, r14
jae 0x14002156f
movzx eax, byte [rsi]
lea rsi, [rsi + 1]
jmp 0x140021576
test dl, 2
jne 0x1400215ab
xor eax, eax
mov ecx, ebx
shl rax, cl
or rbp, rax
add ebx, 8
mov eax, ebx
and eax, 7
cmp ebx, eax
jae 0x140021597
cmp rsi, r14
jae 0x14002156f
movzx eax, byte [rsi]
inc rsi
jmp 0x140021576
mov ecx, ebx
mov eax, ebx
and cl, 7
and eax, 7
shr rbp, cl
sub ebx, eax
xor r15d, r15d
jmp 0x1400215f9
mov r14d, 1
mov dword [r12], 0x20
jmp 0x140021370
mov r10, rsi
cmp rsi, r14
jae 0x140021611
movzx eax, byte [rsi]
lea rsi, [rsi + 1]
jmp 0x140021620
mov r10, rsi
cmp rsi, r14
jae 0x1400215e0
movzx ecx, byte [rsi]
lea rsi, [rsi + 1]
jmp 0x1400215e7
test dl, 2
jne 0x140021661
xor ecx, ecx
mov eax, dword [r12 + 0x10]
shl eax, 8
or eax, ecx
inc r15d
mov dword [r12 + 0x10], eax
cmp r15d, 4
jae case.0x1400200bb.34
test ebx, ebx
je 0x140021641
cmp ebx, 8
jae 0x140021630
cmp rsi, r14
jb 0x14002161a
test dl, 2
jne 0x14002164e
xor eax, eax
jmp 0x140021620
movzx eax, byte [rsi]
inc rsi
mov ecx, ebx
add ebx, 8
shl rax, cl
or rbp, rax
cmp ebx, 8
jb 0x14002160c
mov eax, 0xfffffff8
movzx ecx, bpl
shr rbp, 8
add ebx, eax
jmp 0x1400215e7
cmp rsi, r14
jae 0x1400215e0
movzx ecx, byte [rsi]
inc rsi
jmp 0x1400215e7
mov r14d, 1
mov dword [r12], 0x29
jmp 0x140021370
mov r14d, 1
mov dword [r12], 0x2a
jmp 0x140021370
xor eax, eax
mov qword [rbx], rax
mov qword [r8], rax
mov eax, 0xfffffffd
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.14002e450
add rsp, 0x128
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret