Function at 0x14005c680
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
imul r10d, dword [rdx], 0x1e35a7bd
xor ebx, ebx
mov rax, qword [rcx + 0x28]
mov r11, r9
mov r9, rcx
mov dword [rsp], ebx
mov r12, r8
mov rbp, rdx
shr r10, 0x11
movzx ecx, word [rax + r10*2]
test rcx, rcx
je 0x14005d408
lea esi, [rbx + 0x74]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r9 + 0x30]
mov rdi, qword [r9]
mov r9d, 1
mov edx, dword [rax + rcx*4]
inc rcx
movzx r13d, dl
mov r10d, edx
mov r8d, r13d
mov qword [rsp + 8], rcx
and r8d, 0x1f
shr r10d, 8
mov eax, edx
mov r15d, edx
mov r14d, edx
shr eax, 0x10
shr r15d, 8
movzx ecx, byte [rdi + r8]
shl r9, cl
shr r14, 0x10
shr edx, 8
test dl, dl
jne 0x14005d0de
mov esi, dword [rdi + r8*4 + 0x20]
cmp r8, r11
mov r10, r11
mov rax, r14
cmovb r10, r8
mov rdx, rbp
imul rax, r8
mov r11, r10
xor ecx, ecx
add rsi, rax
shr r11, 3
add rsi, qword [rdi + 0xa8]
test r11, r11
je 0x14005c78e
mov rdi, rsi
sub rdi, rbp
nop word [rax + rax]
mov rax, qword [rdx]
mov rbx, qword [rdx + rdi]
cmp rax, rbx
jne 0x14005c93e
add rdx, 8
add rcx, 8
sub r11, 1
jne 0x14005c770
and r10d, 7
je 0x14005c7a9
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rsi], al
jne 0x14005c7a9
inc rcx
sub r10, 1
jne 0x14005c797
mov r11, rcx
mov r15, qword [rsp + 0x80]
mov edi, r8d
shl r14, 5
cmp r11, r8
jne 0x14005c7d8
lea ecx, [r14 + r8]
mov dword [rsp], 1
cmp dword [r15 + r8*4], ecx
cmovb ecx, dword [r15 + r8*4]
mov dword [r15 + r8*4], ecx
lea rdx, [r8 - 1]
mov ebx, r14d
cmp r11, rdx
jb 0x14005c849
lea ecx, [r9 + r9*2]
shl ecx, 7
lea rax, [r8 + 2]
add ecx, edi
add ecx, r14d
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
cmp rax, qword [rsp + 0x78]
jae 0x14005c842
cmp byte [r8 + rbp - 1], 0x69
jne 0x14005c842
cmp byte [r8 + rbp], 0x6e
jne 0x14005c842
cmp byte [r8 + rbp + 1], 0x67
jne 0x14005c842
cmp byte [r8 + rbp + 2], 0x20
jne 0x14005c842
imul ecx, r9d, 0x620
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
mov dword [rsp], 1
mov r10, r12
cmp r8, 9
jbe 0x14005c85d
lea r10, [r8 - 9]
cmp r12, r10
cmova r10, r12
lea rsi, [r8 - 2]
cmp r11, rsi
cmovb rsi, r11
cmp r10, rsi
ja 0x14005c8c3
mov rbp, qword [rsp + 0x60]
mov dword [rsp], 1
nop dword [rax]
mov rax, qword [rbp + 0x10]
mov rdx, r8
sub rdx, r10
movzx ecx, dl
add cl, cl
add cl, dl
add cl, cl
shr rax, cl
and eax, 0x3f
lea rcx, [rax + rdx*4]
imul rcx, r9
shl rcx, 5
add ecx, edi
add ecx, ebx
cmp dword [r15 + r10*4], ecx
cmovb ecx, dword [r15 + r10*4]
mov dword [r15 + r10*4], ecx
inc r10
cmp r10, rsi
jbe 0x14005c880
mov rbp, qword [rsp + 0x68]
cmp r11, r8
mov r11, qword [rsp + 0x78]
jb 0x14005d3e7
lea rdx, [r8 + 6]
cmp rdx, r11
jae 0x14005d3e7
movzx eax, byte [r8 + rbp]
cmp al, 0x20
jne 0x14005cc80
mov rcx, r9
shl rcx, 5
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x61
jne 0x14005c9f2
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x20
jne 0x14005c952
imul ecx, r9d, 0x380
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
jmp 0x14005d3e7
xor rax, rbx
tzcnt r11, rax
shr r11, 3
add r11, rcx
jmp 0x14005c7ac
cmp al, 0x73
jne 0x14005c982
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x5c0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x14005d3e7
cmp al, 0x74
jne 0x14005c9b2
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x780
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x14005d3e7
cmp al, 0x6e
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x64
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x20
jne 0x14005d3e7
lea ecx, [r9 + r9*4]
shl ecx, 6
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x14005d3e7
cmp al, 0x62
jne 0x14005ca2e
cmp byte [r8 + rbp + 2], 0x79
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x4c0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x14005d3e7
cmp al, 0x69
jne 0x14005ca9b
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x6e
jne 0x14005ca67
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
shl r9d, 9
add r9d, edi
add r9d, ebx
cmp dword [r15 + r8*4 + 0x10], r9d
cmovb r9d, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], r9d
jmp 0x14005d3e7
cmp al, 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x5e0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x14005d3e7
cmp al, 0x66
jne 0x14005cb33
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x6f
jne 0x14005cae5
cmp byte [r8 + rbp + 3], 0x72
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x320
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x14005d3e7
cmp al, 0x72
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x6f
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x6d
jne 0x14005d3e7
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x4a0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
jmp 0x14005d3ea
cmp al, 0x6f
jne 0x14005cb79
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x66
jne 0x14005cb56
cmp byte [r8 + rbp + 3], 0x20
jne 0x14005d3e7
shl r9d, 8
jmp 0x14005ca4c
cmp al, 0x6e
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x5a0
jmp 0x14005d0c3
cmp al, 0x6e
jne 0x14005cbb0
cmp byte [r8 + rbp + 2], 0x6f
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x74
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
lea ecx, [r9 + r9*4]
shl ecx, 9
jmp 0x14005d04f
cmp al, 0x74
jne 0x14005cc39
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x68
jne 0x14005cc16
movzx eax, byte [r8 + rbp + 3]
cmp al, 0x65
jne 0x14005cbe7
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
lea ecx, [r9 + r9*4]
shl ecx, 5
jmp 0x14005d04f
cmp al, 0x61
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x74
jne 0x14005d3e7
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x3a0
jmp 0x14005cb1b
cmp al, 0x6f
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x220
jmp 0x14005d0c3
cmp al, 0x77
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x69
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x74
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x68
jne 0x14005d3e7
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x460
jmp 0x14005cb1b
cmp al, 0x22
jne 0x14005cccb
imul ecx, r9d, 0x260
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x3e
jne 0x14005d3e7
imul ecx, r9d, 0x2a0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
jmp 0x14005d3e7
cmp al, 0x2e
jne 0x14005cda4
lea ecx, [r9 + r9*4]
shl ecx, 7
add ecx, ebx
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x3e0
add ecx, ebx
add ecx, r8d
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
cmp byte [r8 + rbp + 2], 0x54
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x68
jne 0x14005d3e7
movzx eax, byte [r8 + rbp + 4]
cmp al, 0x65
jne 0x14005cd63
cmp byte [r8 + rbp + 5], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x560
add ecx, r8d
add ecx, ebx
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
jmp 0x14005d3e7
cmp al, 0x69
jne 0x14005d3e7
cmp byte [r8 + rbp + 5], 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 6], 0x20
jne 0x14005d3e7
imul ecx, r9d, 0x960
add ecx, r8d
add ecx, ebx
cmp dword [r15 + r8*4 + 0x1c], ecx
cmovb ecx, dword [r15 + r8*4 + 0x1c]
mov dword [r15 + r8*4 + 0x1c], ecx
jmp 0x14005d3e7
cmp al, 0x2c
jne 0x14005cde6
mov ebx, dword [rsp]
imul ecx, r9d, 0x980
add ecx, r14d
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x14005d3ea
imul ecx, r9d, 0x1c0
add ecx, r14d
add ecx, r8d
jmp 0x14005cead
cmp al, 0xa
jne 0x14005ce28
mov ebx, dword [rsp]
imul ecx, r9d, 0x2c0
add ecx, r14d
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 9
jne 0x14005d3ea
imul ecx, r9d, 0x640
add ecx, r14d
add ecx, r8d
jmp 0x14005cead
cmp al, 0x5d
jne 0x14005ce4e
lea ecx, [r9 + r9*2]
shl ecx, 8
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
jmp 0x14005d3e7
cmp al, 0x27
jne 0x14005ce5b
lea ecx, [r9 + r9*8]
shl ecx, 7
jmp 0x14005ce33
cmp al, 0x3a
jne 0x14005ce68
imul ecx, r9d, 0x660
jmp 0x14005ce33
cmp al, 0x28
jne 0x14005ce75
imul ecx, r9d, 0x720
jmp 0x14005ce33
cmp al, 0x3d
jne 0x14005cec2
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x22
jne 0x14005ce95
imul ecx, r9d, 0x8c0
add ecx, r8d
add ecx, r14d
jmp 0x14005ccb6
mov ebx, dword [rsp]
cmp al, 0x27
jne 0x14005d3ea
imul ecx, r9d, 0xac0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
jmp 0x14005d3ea
cmp al, 0x61
jne 0x14005ceea
cmp byte [r8 + rbp + 1], 0x6c
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xa80
jmp 0x14005cf12
cmp al, 0x65
jne 0x14005cf78
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x64
jne 0x14005cf2d
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x6a0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
jmp 0x14005d3ea
cmp al, 0x72
jne 0x14005cf49
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xa40
jmp 0x14005cf12
cmp al, 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x74
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xbe0
jmp 0x14005d0c3
cmp al, 0x66
jne 0x14005cfaf
cmp byte [r8 + rbp + 1], 0x75
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x6c
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xb40
jmp 0x14005d0c3
cmp al, 0x69
jne 0x14005d013
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x76
jne 0x14005cfe4
cmp byte [r8 + rbp + 2], 0x65
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xb80
jmp 0x14005d0c3
cmp al, 0x7a
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x65
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xc80
jmp 0x14005d0c3
cmp al, 0x6c
jne 0x14005d08d
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x65
jne 0x14005d06a
cmp byte [r8 + rbp + 2], 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xba0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x14005d3ea
cmp al, 0x79
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0x7a0
jmp 0x14005cf12
cmp al, 0x6f
jne 0x14005d3e7
cmp byte [r8 + rbp + 1], 0x75
jne 0x14005d3e7
cmp byte [r8 + rbp + 2], 0x73
jne 0x14005d3e7
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x14005d3ea
imul ecx, r9d, 0xd40
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x14005d3ea
movzx ebx, r8b
cmp rbx, r11
ja 0x14005d3e7
mov r11d, dword [rdi + rbx*4 + 0x20]
imul rax, rbx
add r11, rax
add r11, qword [rdi + 0xa8]
cmp r10b, 0xa
jne 0x14005d1ba
movzx ecx, byte [r11]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x14005d1a4
xor cl, 0x20
cmp cl, byte [rbp]
jne 0x14005d1a4
mov rdx, qword [rsp + 0x68]
lea eax, [rbx - 1]
mov r10d, eax
lea rsi, [r11 + 1]
shr r10, 3
inc rdx
xor ecx, ecx
mov ebp, eax
mov ebx, eax
test r10, r10
je 0x14005d16a
mov rdi, rsi
sub rdi, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r11, qword [rdi + rdx]
cmp rax, r11
jne 0x14005d193
add rdx, 8
add rcx, 8
sub r10, 1
jne 0x14005d150
and ebx, 7
je 0x14005d184
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rsi], al
jne 0x14005d184
inc rcx
sub rbx, 1
jne 0x14005d172
mov rdx, rcx
cmp rdx, rbp
jne 0x14005d1a4
mov eax, 1
jmp 0x14005d1a6
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005d187
xor eax, eax
test eax, eax
je 0x14005d3e2
mov rbp, qword [rsp + 0x68]
mov esi, reloc.WS2_32.dll_WSACleanup
jmp 0x14005d1fa
test r8b, r8b
je 0x14005d1fa
mov rdx, rbp
sub r11, rbp
nop word [rax + rax]
movzx ecx, byte [r11 + rdx]
movzx r10d, byte [rdx]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x14005d1e3
xor cl, 0x20
cmp cl, r10b
jne 0x14005d3e2
inc rdx
mov rax, rdx
sub rax, rbp
cmp rax, rbx
jb 0x14005d1d0
mov r10, qword [rsp + 0x80]
lea rdx, [r8 + 1]
mov r11, qword [rsp + 0x78]
mov ecx, 9
shl r14, 5
mov eax, 0x2c
cmp r15b, 0xa
mov ebx, 1
mov dword [rsp], ebx
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + r8*4], ecx
cmovb ecx, dword [r10 + r8*4]
mov dword [r10 + r8*4], ecx
cmp rdx, r11
jae 0x14005d3ea
movzx eax, byte [r8 + rbp]
cmp al, 0x20
jne 0x14005d260
lea ecx, [rbx + 3]
lea eax, [rbx + 0x43]
jmp 0x14005d36f
cmp al, 0x22
jne 0x14005d2b2
cmp r15b, 0xa
mov ecx, 0x42
mov eax, 0x57
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x3e
jne 0x14005d3ea
cmp r15b, 0xa
mov ecx, 0x45
mov eax, 0x61
cmovne ecx, eax
jmp 0x14005d3af
cmp al, 0x2e
jne 0x14005d304
cmp r15b, 0xa
mov ecx, 0x4f
mov eax, 0x65
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x14005d3ea
cmp r15b, 0xa
mov ecx, 0x58
mov eax, WSACleanup
cmovne ecx, eax
jmp 0x14005d3af
cmp al, 0x2c
jne 0x14005d353
cmp r15b, 0xa
mov ecx, 0x63
mov eax, WSACleanup
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x14005d3ea
cmp r15b, 0xa
mov ecx, 0x3a
mov eax, WSAGetLastError
cmovne ecx, eax
jmp 0x14005d3af
cmp al, 0x27
jne 0x14005d361
mov ecx, 0x4a
lea eax, [rcx + 0x14]
jmp 0x14005d36f
cmp al, 0x28
jne 0x14005d394
mov ecx, 0x4e
mov eax, WSACleanup
cmp r15b, 0xa
cmovne rcx, rax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
jmp 0x14005d3ea
cmp al, 0x3d
jne 0x14005d3ea
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x22
jne 0x14005d3cf
xor ecx, ecx
cmp r15b, 0xa
setne cl
add rcx, 0x68
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + r8*4 + 8], ecx
cmovb ecx, dword [r10 + r8*4 + 8]
mov dword [r10 + r8*4 + 8], ecx
jmp 0x14005d3ea
cmp al, 0x27
jne 0x14005d3ea
cmp r15b, 0xa
mov ecx, WSAGetLastError
cmovne rcx, rsi
jmp 0x14005d3af
mov r11, qword [rsp + 0x78]
mov ebx, dword [rsp]
mov rbp, qword [rsp + 0x68]
mov esi, reloc.WS2_32.dll_WSACleanup
mov rcx, qword [rsp + 8]
mov r9, qword [rsp + 0x60]
cmp r13b, 0x80
jb 0x14005c6e0
cmp r11, 5
jb 0x14005d94e
movzx r13d, byte [rbp]
cmp r13b, 0x20
je 0x14005d427
cmp r13b, 0x2e
jne 0x14005d94e
imul ecx, dword [rbp + 1], 0x1e35a7bd
lea r12, [rbp + 1]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x14005d94e
mov edi, 0x53
lea rdx, [rdx*4]
lea r15d, [rdi - 0x51]
nop dword [rax + rax]
mov rax, qword [r9 + 0x30]
mov r14d, 1
mov esi, dword [rdx + rax]
add rdx, 4
movzx ecx, sil
mov r8d, ecx
mov qword [rsp + 0x10], rcx
and r8d, 0x1f
mov dword [rsp + 8], esi
mov qword [rsp + 0x18], rdx
mov rdx, qword [r9]
shr rsi, 0x10
movzx ecx, byte [rdx + r8]
shl r14, cl
movzx ecx, byte [rsp + 9]
test cl, cl
jne 0x14005d698
movzx ebp, r8b
lea rax, [r11 - 1]
cmp rbp, rax
ja 0x14005d91f
mov ebx, dword [rdx + rbp*4 + 0x20]
mov r9d, ebp
movzx eax, word [rsp + 0xa]
xor ecx, ecx
imul rax, rbp
shr r9, 3
mov r10d, ebp
add rbx, rax
add rbx, qword [rdx + 0xa8]
mov rdx, r12
test r9, r9
je 0x14005d50e
mov rdi, rbx
sub rdi, r12
nop dword [rax + rax]
mov rax, qword [rdx]
mov r11, qword [rdi + rdx]
cmp rax, r11
jne 0x14005d5a5
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14005d4f0
and r10d, 7
je 0x14005d529
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x14005d529
inc rcx
sub r10, 1
jne 0x14005d517
mov rdx, rcx
mov r11, qword [rsp + 0x78]
cmp rdx, rbp
mov rbp, qword [rsp + 0x68]
jne 0x14005daba
mov r9, qword [rsp + 0x80]
lea rdx, [r8 + 2]
shl rsi, 5
mov ecx, 0x20
cmp r13b, cl
mov eax, 6
mov ebx, 1
cmove ecx, eax
mov dword [rsp], ebx
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 4], ecx
cmovb ecx, dword [r9 + r8*4 + 4]
mov dword [r9 + r8*4 + 4], ecx
cmp rdx, r11
jae 0x14005d68e
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x20
jne 0x14005d5b9
cmp r13b, al
mov ecx, 0x4d
cmove rcx, r15
jmp 0x14005d5ce
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005d52c
cmp al, 0x28
jne 0x14005d5f2
cmp r13b, 0x20
mov ecx, 0x43
mov eax, 0x59
cmove ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
mov r9, qword [rsp + 0x60]
jmp 0x14005d939
cmp r13b, 0x20
jne 0x14005d68e
cmp al, 0x2c
jne 0x14005d629
imul ecx, r14d, 0xce0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], r13b
jne 0x14005d68e
imul ecx, r14d, 0x420
jmp 0x14005d679
cmp al, 0x2e
jne 0x14005d657
imul ecx, r14d, 0x8e0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x14005d68e
imul ecx, r14d, 0x680
jmp 0x14005d679
cmp al, 0x3d
jne 0x14005d68e
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x22
jne 0x14005d66e
imul ecx, r14d, 0xa20
jmp 0x14005d679
cmp al, 0x27
jne 0x14005d68e
imul ecx, r14d, 0xc40
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 0xc], ecx
cmovb ecx, dword [r9 + r8*4 + 0xc]
mov dword [r9 + r8*4 + 0xc], ecx
mov r9, qword [rsp + 0x60]
jmp 0x14005d939
cmp r13b, 0x20
jne 0x14005d939
xor r15d, r15d
movzx r10d, r8b
cmp cl, 0xa
lea rax, [r11 - 1]
setne r15b
cmp r10, rax
ja 0x14005d933
movzx eax, word [rsp + 0xa]
mov r11d, dword [rdx + r10*4 + 0x20]
imul rax, r10
add r11, rax
add r11, qword [rdx + 0xa8]
cmp cl, 0xa
jne 0x14005d78b
movzx ecx, byte [r11]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x14005d775
xor cl, r13b
cmp cl, byte [r12]
jne 0x14005d775
mov rdx, qword [rsp + 0x68]
lea eax, [r8 - 1]
mov r9d, eax
lea rdi, [r11 + 1]
shr r9, 3
add rdx, 2
xor ecx, ecx
mov ebp, eax
mov r10d, eax
test r9, r9
je 0x14005d73a
mov rbx, rdi
sub rbx, rdx
mov rax, qword [rdx]
mov r11, qword [rbx + rdx]
cmp rax, r11
jne 0x14005d764
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14005d720
and r10d, 7
je 0x14005d755
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rdi], al
jne 0x14005d755
inc rcx
sub r10, 1
jne 0x14005d743
mov rdx, rcx
cmp rdx, rbp
jne 0x14005d775
mov eax, 1
jmp 0x14005d777
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005d758
xor eax, eax
mov rbp, qword [rsp + 0x68]
test eax, eax
je 0x14005d926
mov edi, 0x53
jmp 0x14005d7ca
test r8b, r8b
je 0x14005d7ca
mov rdx, r12
sub r11, r12
nop word [rax + rax]
movzx ecx, byte [r11 + rdx]
movzx r9d, byte [rdx]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x14005d7b3
xor cl, 0x20
cmp cl, r9b
jne 0x14005d929
inc rdx
mov rax, rdx
sub rax, r12
cmp rax, r10
jb 0x14005d7a0
mov r9, qword [rsp + 0x80]
lea rdx, [r8 + 2]
mov r11, qword [rsp + 0x78]
mov ecx, 0x1e
shl rsi, 5
mov eax, 0x55
test r15d, r15d
mov ebx, 1
mov dword [rsp], ebx
cmovne ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 4], ecx
cmovb ecx, dword [r9 + r8*4 + 4]
mov dword [r9 + r8*4 + 4], ecx
cmp rdx, r11
jae 0x14005d92e
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x20
jne 0x14005d852
test r15d, r15d
mov ecx, select
cmovne rcx, rdi
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
jmp 0x14005d92e
cmp al, 0x2c
jne 0x14005d8b0
test r15d, r15d
jne 0x14005d874
imul ecx, r14d, 0xda0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x14005d92e
mov ecx, 0x41
mov eax, reloc.WS2_32.dll_WSAGetLastError
test r15d, r15d
cmovne rcx, rax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 0xc], ecx
cmovb ecx, dword [r9 + r8*4 + 0xc]
mov dword [r9 + r8*4 + 0xc], ecx
jmp 0x14005d92e
cmp al, 0x2e
jne 0x14005d8ee
test r15d, r15d
mov ecx, 0x60
mov eax, WSACleanup
cmovne ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x14005d92e
lea ecx, [rax - 0x18]
lea eax, [rcx + 0x1a]
jmp 0x14005d88a
cmp al, 0x3d
jne 0x14005d92e
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x22
jne 0x14005d90c
mov eax, r15d
xor rax, rbx
lea rcx, [rax*8 + 0x6e]
jmp 0x14005d891
cmp al, 0x27
jne 0x14005d92e
mov ecx, r15d
xor rcx, rbx
add rcx, 0x77
jmp 0x14005d891
mov rbp, qword [rsp + 0x68]
jmp 0x14005d939
mov ebx, dword [rsp]
mov r11, qword [rsp + 0x78]
mov r9, qword [rsp + 0x60]
mov r15d, 2
cmp byte [rsp + 0x10], 0x80
mov edi, 0x53
mov rdx, qword [rsp + 0x18]
jb 0x14005d460
cmp r11, 6
jb 0x14005db48
movzx ecx, byte [rbp + 1]
cmp cl, 0x20
jne 0x14005d971
movzx eax, byte [rbp]
cmp al, 0x65
je 0x14005d984
cmp al, 0x73
je 0x14005d984
cmp al, 0x2c
je 0x14005d984
cmp byte [rbp], 0xc2
jne 0x14005db48
cmp cl, 0xa0
jne 0x14005db48
imul ecx, dword [rbp + 2], 0x1e35a7bd
lea r13, [rbp + 2]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x14005db48
lea r12, [rdx*4]
nop dword [rax]
mov rax, qword [r9 + 0x30]
lea r12, [r12 + 4]
mov rdx, qword [r9]
mov r14d, 1
mov r8d, dword [r12 + rax - 4]
movzx r15d, r8b
mov edi, r15d
mov dword [rsp + 8], r8d
and edi, 0x1f
shr r8, 0x10
movzx ecx, byte [rdx + rdi]
shl r14, cl
cmp byte [rsp + 9], 0
jne 0x14005db3e
movzx ebp, dil
lea rax, [r11 - 2]
cmp rbp, rax
ja 0x14005db2f
mov ebx, dword [rdx + rbp*4 + 0x20]
xor ecx, ecx
movzx eax, word [rsp + 0xa]
mov r9d, ebp
imul rax, rbp
add rbx, rax
mov eax, ebp
add rbx, qword [rdx + 0xa8]
mov rdx, r13
shr rax, 3
test rax, rax
je 0x14005da4e
mov rsi, rbx
sub rsi, r13
nop dword [rax]
mov r11, qword [rdx]
mov r10, qword [rdx + rsi]
cmp r11, r10
jne 0x14005dac7
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14005da30
and r9d, 7
je 0x14005da69
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x14005da69
inc rcx
sub r9, 1
jne 0x14005da57
mov rax, rcx
mov r11, qword [rsp + 0x78]
cmp rax, rbp
mov rbp, qword [rsp + 0x68]
jne 0x14005db36
movzx eax, byte [rbp]
lea rdx, [rdi + 2]
cmp al, 0xc2
jne 0x14005dad8
mov r9, qword [rsp + 0x80]
mov ebx, 1
shl r8, 5
imul ecx, r14d, 0xcc0
mov dword [rsp], ebx
add ecx, edi
add r8d, ecx
cmp dword [r9 + rdx*4], r8d
cmovb r8d, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], r8d
jmp 0x14005db39
mov r9, qword [rsp + 0x60]
mov ebx, dword [rsp]
jmp 0x14005d939
xor r10, r11
tzcnt rax, r10
shr rax, 3
add rax, rcx
jmp 0x14005da6c
cmp rdx, r11
jae 0x14005db36
cmp byte [rdi + rbp + 2], 0x20
jne 0x14005db36
cmp al, 0x65
jne 0x14005daef
mov ecx, reloc.WS2_32.dll_select
jmp 0x14005dafe
cmp al, 0x73
mov ecx, 0xd
mov eax, 7
cmove ecx, eax
mov rdx, qword [rsp + 0x80]
mov ebx, 1
imul rcx, r14
shl r8, 5
shl rcx, 5
mov dword [rsp], ebx
lea eax, [rdi + r8]
add ecx, eax
cmp dword [rdx + rdi*4 + 0xc], ecx
cmovb ecx, dword [rdx + rdi*4 + 0xc]
mov dword [rdx + rdi*4 + 0xc], ecx
jmp 0x14005db39
mov rbp, qword [rsp + 0x68]
jmp 0x14005db3e
mov ebx, dword [rsp]
mov r9, qword [rsp + 0x60]
cmp r15b, 0x80
jb 0x14005d9b0
cmp r11, 9
jb 0x14005ddd6
movzx eax, byte [rbp]
cmp al, 0x20
jne 0x14005db82
cmp byte [rbp + 1], 0x74
jne 0x14005ddd6
cmp byte [rbp + 2], 0x68
jne 0x14005ddd6
cmp byte [rbp + 3], 0x65
jne 0x14005ddd6
cmp byte [rbp + 4], al
je 0x14005dbb2
jmp 0x14005ddd6
cmp al, 0x2e
jne 0x14005ddd6
cmp byte [rbp + 1], 0x63
jne 0x14005ddd6
cmp byte [rbp + 2], 0x6f
jne 0x14005ddd6
cmp byte [rbp + 3], 0x6d
jne 0x14005ddd6
cmp byte [rbp + 4], 0x2f
jne 0x14005ddd6
imul ecx, dword [rbp + 5], 0x1e35a7bd
lea r13, [rbp + 5]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x14005ddd6
lea r12, [rdx*4]
nop word [rax + rax]
mov rax, qword [r9 + 0x30]
lea r12, [r12 + 4]
mov r14d, 1
mov ecx, dword [r12 + rax - 4]
mov rax, qword [rsp + 0x60]
mov esi, ecx
movzx r15d, cl
mov r9d, r15d
mov dword [rsp + 8], ecx
and r9d, 0x1f
shr esi, 0x10
mov rdx, qword [rax]
movzx ecx, byte [rdx + r9]
shl r14, cl
cmp byte [rsp + 9], 0
jne 0x14005ddc7
movzx ebp, r9b
lea rax, [r11 - 5]
cmp rbp, rax
ja 0x14005ddc7
mov ebx, dword [rdx + rbp*4 + 0x20]
xor ecx, ecx
movzx eax, word [rsp + 0xa]
mov r8d, ebp
imul rax, rbp
add rbx, rax
mov eax, ebp
add rbx, qword [rdx + 0xa8]
mov rdx, r13
shr rax, 3
test rax, rax
je 0x14005dc8e
mov rdi, rbx
sub rdi, r13
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rdx]
mov r10, qword [rdi + rdx]
cmp r11, r10
jne 0x14005ddb0
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14005dc70
and r8d, 7
je 0x14005dca9
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x14005dca9
inc rcx
sub r8, 1
jne 0x14005dc97
mov rax, rcx
mov r11, qword [rsp + 0x78]
cmp rax, rbp
jne 0x14005ddc4
mov r8, qword [rsp + 0x80]
lea rdx, [r9 + 5]
mov rbp, qword [rsp + 0x68]
mov ecx, 0x48
shl esi, 5
mov eax, 0x29
mov ebx, 1
mov dword [rsp], ebx
cmp byte [rbp], 0x20
cmove ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r9d
add ecx, esi
cmp dword [r8 + rdx*4], ecx
cmovb ecx, dword [r8 + rdx*4]
mov dword [r8 + rdx*4], ecx
cmp rdx, r11
jae 0x14005ddc7
cmp byte [rbp], 0x20
jne 0x14005ddc7
lea rax, [r9 + 8]
cmp rax, r11
jae 0x14005ddc7
cmp byte [r9 + rbp + 5], 0x20
jne 0x14005ddc7
cmp byte [r9 + rbp + 6], 0x6f
jne 0x14005ddc7
cmp byte [r9 + rbp + 7], 0x66
jne 0x14005ddc7
cmp byte [r9 + rbp + 8], 0x20
jne 0x14005ddc7
imul ecx, r14d, 0x7c0
lea rax, [r9 + 0xc]
add ecx, r9d
add ecx, esi
cmp dword [r8 + r9*4 + 0x24], ecx
cmovb ecx, dword [r8 + r9*4 + 0x24]
mov dword [r8 + r9*4 + 0x24], ecx
cmp rax, r11
jae 0x14005ddc7
cmp byte [r9 + rbp + 9], 0x74
jne 0x14005ddc7
cmp byte [r9 + rbp + 0xa], 0x68
jne 0x14005ddc7
cmp byte [r9 + rbp + 0xb], 0x65
jne 0x14005ddc7
cmp byte [r9 + rbp + 0xc], 0x20
jne 0x14005ddc7
imul edx, r14d, 0x920
add edx, r9d
add edx, esi
cmp dword [r8 + r9*4 + 0x34], edx
cmovb edx, dword [r8 + r9*4 + 0x34]
mov dword [r8 + r9*4 + 0x34], edx
jmp 0x14005ddc7
xor r10, r11
tzcnt rax, r10
shr rax, 3
add rax, rcx
jmp 0x14005dcac
mov ebx, dword [rsp]
mov r9, qword [rsp + 0x60]
cmp r15b, 0x80
jb 0x14005dbe0
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret