Function at 0x1400a2f60
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x300
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x140a630a8]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r12, rcx
mov qword [rsp + 0x60], rcx
xor edx, edx
mov r8d, 0x100
mov rcx, qword [rcx + 0x18]
call fcn.1408940e0
xorps xmm10, xmm10
movsd qword [rsp + 0x50], xmm10
movsd qword [rsp + 0x30], xmm10
movsd qword [rsp + 0x50], xmm10
movsd qword [rsp + 0x30], xmm10
movsd qword [rsp + 0x30], xmm10
movsd xmm0, qword [rsp + 0x30]
movsd xmm3, qword [0x1408c8d28]
comisd xmm3, xmm0
jbe 0x1400a30d0
movsd xmm6, qword [0x1408c8508]
movsd xmm7, qword [0x1408c83d8]
movsd xmm8, qword [0x1408c8490]
movsd xmm9, qword [0x1408c84c0]
movsd xmm4, qword [0x1408c8388]
movsd xmm5, qword [0x1408c83a8]
nop dword [rax + rax]
movsd xmm2, qword [rsp + 0x30]
mulsd xmm2, xmm6
mulsd xmm2, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
subsd xmm2, xmm1
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm7
mulsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm8
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm2
movsd xmm0, qword [rsp + 0x50]
comisd xmm0, xmm9
jbe 0x1400a30b0
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm4
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm5
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm3, xmm1
ja 0x1400a3040
movsd xmm0, qword [rsp + 0x50]
xor r14d, r14d
mov ebx, 0xff
lea r15d, [r14 + 1]
lea r13d, [r14 + 2]
comisd xmm10, xmm0
jbe 0x1400a30fc
call fcn.140887dfb
call fcn.140887e29
jmp 0x1400a3c45
mov eax, r14d
lea rcx, [rsp + 0x70]
nop dword [rax]
nop dword [rax + rax]
mov byte [rcx], al
inc eax
lea rcx, [rcx + 1]
cmp eax, 0x100
jb 0x1400a3110
mov r9d, r14d
xor cl, cl
mov r10d, ebx
lea r12, [fcn.140887e29]
nop
mov esi, r14d
mov r11d, r15d
cmp r10d, r15d
jbe 0x1400a3150
nop dword [rax + rax]
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x1400a3140
nop dword [rax]
movzx eax, cl
movzx edx, byte [rsp + rax + 0x70]
mov eax, r9d
test r9d, r9d
je 0x1400a31aa
sub eax, r15d
je 0x1400a319a
sub eax, r15d
je 0x1400a318a
cmp eax, r15d
je 0x1400a317a
lea eax, [r9 - 4]
movzx eax, byte [rax + r12]
jmp 0x1400a31b5
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1400a31b5
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1400a31b5
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1400a31b5
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
add al, dl
movzx edx, al
lea r8d, [r9 + 1]
lea eax, [rdx + 0x17]
movzx ecx, al
cmp r8d, 0x17
cmovb ecx, edx
movzx edi, cl
mov r9d, r14d
cmovb r9d, r8d
mov eax, edi
and eax, r11d
inc esi
cmp esi, 0xb
jbe 0x1400a31e8
xor edx, edx
div r10d
mov eax, edx
movzx ecx, dil
cmp eax, r10d
ja 0x1400a3150
je 0x1400a3216
mov edx, eax
mov ecx, r10d
movzx eax, byte [rsp + rdx + 0x70]
xor al, byte [rsp + rcx + 0x70]
mov byte [rsp + rcx + 0x70], al
xor byte [rsp + rdx + 0x70], al
movzx eax, byte [rsp + rdx + 0x70]
xor byte [rsp + rcx + 0x70], al
mov eax, 0xffffffff
add r10d, eax
movzx ecx, dil
jne 0x1400a3130
movzx esi, byte [rsp + 0x75]
movzx edx, byte [rsp + 0x77]
movzx r8d, byte [rsp + rdi + 0x70]
movss xmm0, dword [0x1408c9024]
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [0x1408c8ff0]
movss dword [rsp + 0x58], xmm1
movss xmm0, dword [0x1408c8f88]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x1408c8f14]
movss dword [rsp + 0x48], xmm1
movss xmm0, dword [0x1408c8e98]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [0x1408c8e2c]
movss dword [rsp + 0x40], xmm1
movss xmm0, dword [0x1408c8dac]
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x30]
mulss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x58]
mulss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x28]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
lea r14, [fcn.140887dfb]
movss xmm1, dword [rsp + 0x40]
comiss xmm0, xmm2
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
jbe 0x1400a33f3
movzx ebx, byte [r14]
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x58]
mulss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
addss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
jmp 0x1400a3479
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x48]
subss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
divss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x28]
subss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
divss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
xor bl, bl
sub bl, 6
shl bl, 4
movzx ecx, byte [r14 + 1]
sub cl, 0x56
or bl, cl
movzx r11d, byte [rsp + r8 + 0x70]
movzx r12d, byte [rsp + 0x71]
movzx r13d, byte [rsp + 0x73]
add r13b, byte [rsp + r12 + 0x70]
inc r12b
movzx r9d, r13b
movzx eax, byte [rsp + r9 + 0x70]
mov byte [rsp + r8 + 0x70], al
movzx eax, byte [rsp + rdx + 0x70]
mov byte [rsp + r9 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + rdx + 0x70], al
mov byte [rsp + rcx + 0x70], r11b
add sil, byte [rsp + r11 + 0x70]
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rsp + rdx + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r9 + 0x70]
add rax, r11
movzx eax, al
movzx edx, byte [rsp + rcx + 0x70]
xor dl, byte [rsp + rax + 0x70]
xor dl, bl
mov edi, r15d
movzx r8d, byte [r14 + 2]
sub r8b, 6
shl r8b, 4
movzx ecx, byte [r14 + 3]
sub cl, 0x56
or r8b, cl
mov byte [rsp + 0x21], r8b
movzx r10d, bl
movzx r14d, byte [rsp + r10 + 0x70]
add r13b, r11b
inc r12b
movzx r9d, r13b
movzx eax, byte [rsp + r9 + 0x70]
mov byte [rsp + r10 + 0x70], al
movzx r8d, dl
movzx eax, byte [rsp + r8 + 0x70]
mov byte [rsp + r9 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + r8 + 0x70], al
mov byte [rsp + rcx + 0x70], r14b
add sil, byte [rsp + r14 + 0x70]
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r9 + 0x70]
add rax, r14
movzx eax, al
movzx edx, byte [rsp + rcx + 0x70]
xor dl, byte [rsp + rax + 0x70]
movzx r8d, byte [rsp + 0x21]
xor dl, r8b
mov byte [rbp + 0x188], dl
mov ebx, 9
mov r15d, 2
mov dword [rsp + 0x30], edi
add r15d, 2
movsxd rax, r15d
lea rcx, [fcn.140887dfb]
movzx r11d, byte [rax + rcx]
sub r11b, 6
shl r11b, 4
movzx eax, byte [rax + rcx + 1]
sub al, 0x56
or r11b, al
movzx r10d, r8b
movzx ecx, byte [rsp + r10 + 0x70]
mov byte [rsp + 0x20], cl
add r13b, r14b
inc r12b
movzx r9d, r13b
movzx eax, byte [rsp + r9 + 0x70]
mov byte [rsp + r10 + 0x70], al
movzx r8d, dl
movzx eax, byte [rsp + r8 + 0x70]
mov byte [rsp + r9 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + r8 + 0x70], al
movzx eax, byte [rsp + 0x20]
mov byte [rsp + rcx + 0x70], al
mov edx, eax
add sil, byte [rsp + rax + 0x70]
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r9 + 0x70]
add rax, rdx
movzx eax, al
movzx edx, byte [rsp + rcx + 0x70]
xor dl, byte [rsp + rax + 0x70]
xor dl, r11b
movzx r8d, r11b
add edi, 1
je 0x1400a368c
mov eax, dword [rsp + 0x30]
mov byte [rbp + rax + 0x188], dl
sub rbx, 1
movzx ecx, byte [rsp + 0x20]
movzx r14d, cl
jne 0x1400a35c4
mov dword [rsp + 0x30], edi
inc edi
lea eax, [rdi + rdi]
mov dword [rsp + 0x50], eax
cdqe
lea r9, [fcn.140887dfb]
movzx r11d, byte [rax + r9 + 1]
sub r11b, 0x56
movzx eax, byte [rax + r9]
sub al, 6
shl al, 4
or r11b, al
mov r9, r8
movzx ebx, byte [rsp + r8 + 0x70]
mov byte [rsp + 0x21], bl
add r13b, cl
inc r12b
movzx r10d, r13b
movzx eax, byte [rsp + r10 + 0x70]
mov byte [rsp + r8 + 0x70], al
movzx r8d, dl
movzx eax, byte [rsp + r8 + 0x70]
mov byte [rsp + r10 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + r8 + 0x70], al
mov byte [rsp + rcx + 0x70], bl
add sil, byte [rsp + rbx + 0x70]
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r9 + 0x70]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r10 + 0x70]
add rax, rbx
movzx eax, al
movzx r8d, byte [rsp + rcx + 0x70]
xor r8b, byte [rsp + rax + 0x70]
xor r8b, r11b
movzx ecx, r11b
test edi, edi
mov ebx, 0xff
mov r14d, 0
lea r15d, [r14 + 1]
je 0x1400a3774
mov eax, dword [rsp + 0x30]
mov byte [rbp + rax + 0x188], r8b
lea edx, [rdi + 1]
cmp edx, 0x17
jge 0x1400a3b7a
mov r15d, reloc.WS2_32.dll_socket
sub r15d, edx
movss xmm3, dword [0x1408c8ffc]
movss xmm4, dword [0x1408c8f70]
movss xmm5, dword [0x1408c8ed0]
movss xmm6, dword [0x1408c8e4c]
movss xmm7, dword [0x1408c8dc0]
movzx r14d, byte [rsp + 0x21]
mov ebx, dword [rsp + 0x50]
nop dword [rax + rax]
mov dword [rsp + 0x30], edi
inc edi
add ebx, 2
movsxd rax, ebx
lea rdx, [fcn.140887dfb]
movzx r11d, byte [rax + rdx]
sub r11b, 6
shl r11b, 4
movzx eax, byte [rax + rdx + 1]
sub al, 0x56
or r11b, al
movzx edx, cl
movzx eax, byte [rsp + rdx + 0x70]
mov byte [rsp + 0x20], al
add r13b, r14b
inc r12b
movzx r9d, r13b
movzx eax, byte [rsp + r9 + 0x70]
mov byte [rsp + rdx + 0x70], al
movzx r10d, r8b
movzx eax, byte [rsp + r10 + 0x70]
mov byte [rsp + r9 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + r10 + 0x70], al
movzx eax, byte [rsp + 0x20]
mov byte [rsp + rcx + 0x70], al
mov r14d, eax
add sil, byte [rsp + rax + 0x70]
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x58], xmm4
movss dword [rsp + 0x38], xmm5
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x40], xmm7
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
mulss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
comiss xmm0, xmm1
movss xmm1, dword [rsp + 0x40]
jbe 0x1400a3aa6
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x38]
divss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x28]
divss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
comiss xmm1, xmm0
jbe 0x1400a3a33
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x58]
divss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x48]
divss xmm1, xmm0
jmp 0x1400a3b44
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
jmp 0x1400a3b4a
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + rdx + 0x70]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r9 + 0x70]
add rax, r14
movzx eax, al
movzx r8d, byte [rsp + rcx + 0x70]
xor r8b, byte [rsp + rax + 0x70]
xor r8b, r11b
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x28]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movzx ecx, r11b
test edi, edi
je 0x1400a3b5e
mov eax, dword [rsp + 0x30]
mov byte [rbp + rax + 0x188], r8b
sub r15, 1
movzx r14d, byte [rsp + 0x20]
jne 0x1400a37c0
mov ebx, 0xff
xor r14d, r14d
lea r15d, [r14 + 1]
mov dword [rsp + 0x30], edi
inc edi
movzx r10d, r11b
movzx edx, byte [rsp + r10 + 0x70]
movzx eax, r12b
add r13b, byte [rsp + rax + 0x70]
inc r12b
movzx r11d, r13b
movzx eax, byte [rsp + r11 + 0x70]
mov byte [rsp + r10 + 0x70], al
movzx r8d, r8b
movzx eax, byte [rsp + r8 + 0x70]
mov byte [rsp + r11 + 0x70], al
movzx ecx, r12b
movzx eax, byte [rsp + rcx + 0x70]
mov byte [rsp + r8 + 0x70], al
mov byte [rsp + rcx + 0x70], dl
mov r9d, edx
add sil, byte [rsp + rdx + 0x70]
lea eax, [rdi + rdi]
cdqe
lea rcx, [fcn.140887dfb]
movzx edx, byte [rax + rcx + 1]
sub dl, 0x56
movzx eax, byte [rax + rcx]
sub al, 6
shl al, 4
or dl, al
movzx eax, sil
movzx ecx, byte [rsp + rax + 0x70]
movzx eax, byte [rsp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x70]
xor dl, byte [rsp + rcx + 0x70]
movzx eax, byte [rsp + r11 + 0x70]
add rax, r9
movzx ecx, al
xor dl, byte [rsp + rcx + 0x70]
test edi, edi
je 0x1400a3c33
mov eax, dword [rsp + 0x30]
mov byte [rbp + rax + 0x188], dl
mov byte [rbp + 0x19e], 0
mov r12, qword [rsp + 0x60]
mov r13d, 2
lea rcx, [rbp + 0x188]
mov rdx, qword [r12 + 0x18]
movzx eax, byte [rcx]
mov byte [rdx], al
lea rcx, [rcx + 1]
lea rdx, [rdx + 1]
test al, al
jne 0x1400a3c51
cmp qword [r12 + 8], 0
jne 0x1400a3c85
mov ecx, reloc.WS2_32.dll_select
call fcn.1400e2340
mov qword [r12 + 8], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov word [rax + 0x10], cx
xorps xmm6, xmm6
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x28], xmm6
mov byte [rsp + 0x21], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
mov ecx, eax
call fcn.14089a588
mov edi, 0xf4241
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss xmm2, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x48]
mulss xmm2, xmm1
mulss xmm2, dword [rsp + 0x28]
mulss xmm2, dword [rsp + 0x48]
mulss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
sub rdi, 1
jne 0x1400a3cb4
mov edi, 0xf4242
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [rsp + 0x48]
ucomiss xmm1, xmm6
jp 0x1400a3d5a
jne 0x1400a3d5a
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
jmp 0x1400a3d76
call fcn.14089a55c
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [rsp + 0x48]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm0, dword [rsp + 0x38]
ucomiss xmm0, xmm6
jp 0x1400a3d97
jne 0x1400a3d97
call fcn.14089a55c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
jmp 0x1400a3db3
call fcn.14089a55c
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [rsp + 0x38]
divss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
mulss xmm1, dword [rsp + 0x28]
mulss xmm1, dword [rsp + 0x48]
mulss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
sub rdi, 1
jne 0x1400a3d27
movss xmm6, dword [0x1408c8398]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movss xmm0, dword [rsp + 0x28]
addss xmm0, xmm6
movss dword [rsp + 0x28], xmm0
cmp rax, rsi
jbe 0x1400a3df7
mov byte [rsp + 0x21], 1
mov rdx, qword [r12 + 0x18]
mov ecx, 0xa
cmp byte [rdx], 0x83
mov r8d, 0xffffffff
cmovge ecx, r8d
add byte [rdx], cl
movsd qword [rsp + 0x50], xmm10
movsd qword [rsp + 0x30], xmm10
movsd qword [rsp + 0x50], xmm10
movsd qword [rsp + 0x30], xmm10
movsd qword [rsp + 0x30], xmm10
movsd xmm0, qword [rsp + 0x30]
movsd xmm3, qword [0x1408c8d30]
comisd xmm3, xmm0
jbe 0x1400a3f30
movsd xmm6, qword [0x1408c8530]
movsd xmm7, qword [0x1408c83d0]
movsd xmm8, qword [0x1408c8450]
movsd xmm9, qword [0x1408c84a8]
movsd xmm4, qword [0x1408c8340]
movsd xmm5, qword [0x1408c83b0]
nop dword [rax]
movsd xmm2, qword [rsp + 0x30]
mulsd xmm2, xmm6
mulsd xmm2, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
subsd xmm2, xmm1
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm7
mulsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm8
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm2
movsd xmm0, qword [rsp + 0x50]
comisd xmm0, xmm9
jbe 0x1400a3f10
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm4
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm5
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm3, xmm1
ja 0x1400a3ea0
movsd xmm0, qword [rsp + 0x50]
comisd xmm10, xmm0
jbe 0x1400a3f4c
call fcn.140888f03
call fcn.140888ef1
jmp 0x1400a4a59
mov eax, r14d
lea rcx, [rbp + 0x70]
nop dword [rax]
nop word [rax + rax]
mov byte [rcx], al
inc eax
lea rcx, [rcx + 1]
cmp eax, 0x100
jb 0x1400a3f60
mov r9d, r14d
xor cl, cl
lea rsi, [fcn.140888f03]
nop dword [rax + rax]
mov edi, r14d
mov r10d, r15d
cmp ebx, 1
jbe 0x1400a3fa0
nop dword [rax + rax]
lea r10d, [r10*2 + 1]
cmp r10d, ebx
jb 0x1400a3f90
nop dword [rax]
movzx eax, cl
movzx r8d, byte [rbp + rax + 0x70]
mov eax, r9d
test r9d, r9d
je 0x1400a3ffa
sub eax, 1
je 0x1400a3fea
sub eax, 1
je 0x1400a3fda
cmp eax, 1
je 0x1400a3fca
lea eax, [r9 - 4]
add r8b, byte [rax + rsi]
jmp 0x1400a4008
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1400a4005
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1400a4005
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1400a4005
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
add r8b, al
lea edx, [r9 + 1]
lea eax, [r8 + 0x22]
movzx ecx, al
movzx eax, r8b
cmp edx, 0x22
cmovb ecx, eax
movzx r11d, cl
mov r9d, r14d
cmovb r9d, edx
mov eax, r11d
and eax, r10d
inc edi
cmp edi, 0xb
jbe 0x1400a403b
xor edx, edx
div ebx
mov eax, edx
movzx ecx, r11b
cmp eax, ebx
ja 0x1400a3fa0
je 0x1400a4067
mov edx, eax
mov ecx, ebx
movzx eax, byte [rbp + rdx + 0x70]
xor al, byte [rbp + rcx + 0x70]
mov byte [rbp + rcx + 0x70], al
xor byte [rbp + rdx + 0x70], al
movzx eax, byte [rbp + rdx + 0x70]
xor byte [rbp + rcx + 0x70], al
mov eax, 0xffffffff
add ebx, eax
movzx ecx, r11b
jne 0x1400a3f80
movzx esi, byte [rbp + 0x75]
movzx r8d, byte [rbp + 0x77]
movzx edx, byte [rbp + r11 + 0x70]
lea r14, [fcn.140888ef1]
movzx ebx, byte [r14]
sub bl, 2
shl bl, 4
movzx ecx, byte [r14 + 1]
add cl, 0x57
or bl, cl
movzx r11d, byte [rbp + rdx + 0x70]
movzx edi, byte [rbp + 0x71]
movzx r12d, byte [rbp + 0x73]
add r12b, byte [rbp + rdi + 0x70]
inc dil
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x70]
mov byte [rbp + rdx + 0x70], al
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x70]
mov byte [rbp + r8 + 0x70], al
mov byte [rbp + rcx + 0x70], r11b
add sil, byte [rbp + r11 + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rbp + rdx + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rax, r11
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
xor dl, bl
movzx r8d, byte [r14 + 2]
sub r8b, 2
shl r8b, 4
movzx ecx, byte [r14 + 3]
add cl, 0x57
or r8b, cl
mov byte [rsp + 0x20], r8b
movzx r9d, bl
movzx ebx, byte [rbp + r9 + 0x70]
mov byte [rsp + 0x21], bl
add r12b, r11b
inc dil
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r10 + 0x70], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x70]
mov byte [rbp + r8 + 0x70], al
mov byte [rbp + rcx + 0x70], bl
add sil, byte [rbp + rbx + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r10 + 0x70]
add rax, rbx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
movzx ecx, byte [rsp + 0x20]
xor dl, cl
movsx eax, dl
mov word [rbp + 0x170], ax
mov r14d, r13d
nop word [rax + rax]
mov dword [rsp + 0x30], r15d
add r14d, 2
movsxd rax, r14d
lea r8, [fcn.140888ef1]
movzx r11d, byte [rax + r8]
sub r11b, 2
shl r11b, 4
movzx eax, byte [rax + r8 + 1]
add al, 0x57
or r11b, al
movzx r9d, cl
movzx ebx, byte [rbp + r9 + 0x70]
add r12b, byte [rsp + 0x21]
inc dil
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r10 + 0x70], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x70]
mov byte [rbp + r8 + 0x70], al
mov byte [rbp + rcx + 0x70], bl
add sil, byte [rbp + rbx + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r10 + 0x70]
add rax, rbx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
xor dl, r11b
movzx ecx, r11b
add r15d, 1
je 0x1400a42aa
movsx ecx, dl
mov eax, dword [rsp + 0x30]
mov word [rbp + rax*2 + 0x170], cx
movzx ecx, r11b
sub r13, 1
mov byte [rsp + 0x21], bl
jne 0x1400a41e0
mov dword [rsp + 0x30], r15d
inc r15d
mov dword [rsp + 0x50], r15d
lea eax, [r15 + r15]
cdqe
lea r8, [fcn.140888ef1]
movzx r13d, byte [rax + r8]
lea r11d, [r13 - 2]
shl r11b, 4
movzx eax, byte [rax + r8 + 1]
add al, 0x57
or r11b, al
movzx r10d, cl
movzx r14d, byte [rbp + r10 + 0x70]
mov byte [rsp + 0x21], r14b
add r12b, bl
inc dil
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x70]
mov byte [rbp + r10 + 0x70], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x70]
mov byte [rbp + r8 + 0x70], al
mov byte [rbp + rcx + 0x70], r14b
add sil, byte [rbp + r14 + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, byte [rbp + r10 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rax, r14
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
xor dl, r11b
test r15d, r15d
mov r14d, 0
je 0x1400a438a
movsx ecx, dl
mov eax, dword [rsp + 0x30]
mov word [rbp + rax*2 + 0x170], cx
inc r15d
lea ebx, [r15 + r15]
movsd xmm0, qword [0x1408c8b48]
movsd qword [rsp + 0x28], xmm0
movsd xmm1, qword [0x1408c8a48]
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [0x1408c8900]
movsd qword [rsp + 0x58], xmm0
movsd xmm1, qword [0x1408c8828]
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [0x1408c86e0]
movsd qword [rsp + 0x48], xmm0
movsd xmm1, qword [0x1408c85b8]
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x48]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x38]
jbe 0x1400a46af
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
divsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
divsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x58]
divsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x58]
addsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x58]
divsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x58]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x30]
jbe 0x1400a4629
movsd xmm0, qword [rsp + 0x48]
addsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x58]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x38]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsxd rcx, ebx
jmp 0x1400a473c
movsd xmm0, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsxd rcx, ebx
jmp 0x1400a473c
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsxd rcx, ebx
lea r8, [fcn.140888ef1]
movzx r13d, byte [rcx + r8]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x28]
addsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
lea rax, [fcn.140888ef1]
movzx eax, byte [rcx + rax + 1]
add al, 0x57
sub r13b, 2
shl r13b, 4
or al, r13b
mov byte [rsp + 0x20], al
movzx r9d, r11b
movzx ecx, byte [rbp + r9 + 0x70]
add r12b, byte [rsp + 0x21]
inc dil
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r10 + 0x70], al
movzx eax, dil
lea r13, [rbp + 0x70]
add r13, rax
movzx eax, byte [r13]
mov byte [rbp + r8 + 0x70], al
mov byte [r13], cl
mov edx, ecx
add sil, byte [rbp + rcx + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r10 + 0x70]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
movzx r8d, byte [rsp + 0x20]
xor dl, r8b
test r15d, r15d
je 0x1400a47fe
movsx ecx, dl
mov eax, dword [rsp + 0x50]
mov word [rbp + rax*2 + 0x170], cx
lea eax, [r15 + 1]
cmp eax, 0xa
jge 0x1400a4a4c
mov ecx, 0xa
sub ecx, eax
mov eax, ecx
mov qword [rsp + 0x58], rax
movsd xmm3, qword [0x1408c8ce0]
movsd xmm4, qword [0x1408c8b98]
movsd xmm5, qword [0x1408c8978]
movsd xmm6, qword [0x1408c8718]
lea r14, [fcn.140888ef1]
mov dword [rsp + 0x30], r15d
inc r15d
add ebx, 2
movsxd rax, ebx
movzx r11d, byte [rax + r14]
movzx ecx, byte [rax + r14 + 1]
movsd qword [rsp + 0x50], xmm3
movsd qword [rsp + 0x48], xmm4
movsd qword [rsp + 0x38], xmm5
movsd qword [rsp + 0x28], xmm6
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x28]
subsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x50]
comisd xmm1, xmm0
jbe 0x1400a4935
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
jmp 0x1400a498d
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x48]
addsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
sub r11b, 2
shl r11b, 4
add cl, 0x57
or r11b, cl
movzx r9d, r8b
movzx ecx, byte [rbp + r9 + 0x70]
add r12b, byte [r13]
inc dil
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x70]
mov byte [rbp + r9 + 0x70], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x70]
mov byte [rbp + r10 + 0x70], al
movzx eax, dil
lea r13, [rbp + 0x70]
add r13, rax
movzx eax, byte [r13]
mov byte [rbp + r8 + 0x70], al
mov byte [r13], cl
mov edx, ecx
add sil, byte [rbp + rcx + 0x70]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r9 + 0x70]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x70]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x70]
movzx eax, byte [rbp + r10 + 0x70]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x70]
xor dl, byte [rbp + rax + 0x70]
xor dl, r11b
movzx r8d, r11b
test r15d, r15d
je 0x1400a4a3d
movsx ecx, dl
mov eax, dword [rsp + 0x30]
mov word [rbp + rax*2 + 0x170], cx
sub qword [rsp + 0x58], 1
jne 0x1400a4840
xor r14d, r14d
mov word [rbp + 0x180], r14w
mov r12, qword [rsp + 0x60]
mov ecx, 8
call fcn.140890c80
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400a4a7f
lea rdx, [rbp + 0x170]
mov rcx, rax
call fcn.1400a6900
mov r14, rax
mov rcx, r14
call fcn.140091670
movzx edi, al
mov r8, qword [r12 + 0x18]
movzx ecx, byte [r8 + 1]
test al, al
je 0x1400a4aac
mov edx, reloc.WS2_32.dll_sendto
mov eax, 0xfffffffe
cmp cl, 0x84
cmovge edx, eax
add dl, cl
jmp 0x1400a4ab7
cmp cl, 0x7c
lea edx, [rcx - 0x14]
jg 0x1400a4ab7
lea edx, [rcx + 2]
mov byte [r8 + 1], dl
mov rcx, qword [r12 + 8]
call fcn.1400c56f0
movzx ebx, al
mov rdx, qword [r12 + 0x18]
movzx ecx, byte [rdx + 2]
and bl, dil
je 0x1400a4aec
mov eax, 0x1e
mov r8d, 0xfffffffd
cmp cl, 0x85
cmovge eax, r8d
add al, cl
jmp 0x1400a4af7
cmp cl, 0x7b
lea eax, [rcx - 0x1e]
jg 0x1400a4af7
lea eax, [rcx + 3]
mov byte [rdx + 2], al
call fcn.140092480
and bl, al
mov rdx, qword [r12 + 0x18]
movzx ecx, byte [rdx + 3]
je 0x1400a4b22
mov eax, Ordinal_41
mov r8d, 0xfffffffc
cmp cl, 0x86
cmovge eax, r8d
add al, cl
jmp 0x1400a4b32
cmp cl, 0x7a
jle 0x1400a4b2f
movzx eax, byte [rdx + 2]
sub al, 0x28
jmp 0x1400a4b32
lea eax, [rcx + 4]
mov byte [rdx + 3], al
mov rdx, r14
mov rcx, r12
call fcn.14009f300
mov rdx, qword [r12 + 0x20]
test rdx, rdx
jne 0x1400a4bd4
mov ecx, 0x100
call fcn.1400e2340
mov qword [r12 + 0x20], rax
xor edx, edx
mov r8d, 0x100
mov rcx, rax
call fcn.1408940e0
mov rax, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x20]
mov edx, 2
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400a4b80
jmp 0x1400a4beb
mov r8d, 0x100
mov rcx, qword [r12 + 0x18]
call fcn.140895970
test eax, eax
sete al
and bl, al
mov byte [r12 + 0x10], bl
mov rcx, qword [r12 + 0x30]
movzx eax, byte [r12]
mov byte [rcx], al
cmp byte [r12 + 0x10], 0
sete cl
mov rax, qword [r12 + 0x28]
mov byte [rax], cl
xor eax, eax
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140890ac0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret