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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rbx
lea rbp, [r11 - 0x57]
sub rsp, 0xf8
mov ecx, dword [r8 + 0x24]
mov eax, 0x120
mov qword [r11 - 0x18], rsi
mov rsi, r9
mov qword [r11 - 0x20], rdi
mov r9, rdx
mov qword [r11 - 0x28], r12
lea rdi, [0x1401a8210]
mov qword [r11 - 0x30], r13
xor r12d, r12d
cmp byte [0x14018d360], r12b
mov r13d, dword [r8 + 0x20]
mov qword [r11 - 0x38], r14
mov r14d, dword [r8 + 4]
mov qword [r11 - 0x40], r15
lea r15, [0x140198190]
movaps xmmword [r11 - 0x58], xmm6
mov dword [rbp - 0x79], r14d
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x20], ecx
mov qword [rbp - 0x69], rax
je 0x140040681
movdqa xmm6, xmmword [0x14012c420]
mov ebx, r12d
movaps xmmword [r11 - 0x68], xmm7
mov rdi, r15
movaps xmm7, xmmword [0x1401393d0]
movaps xmmword [r11 - 0x78], xmm8
movd xmm1, ebx
movq xmm0, xmm6
pshufd xmm1, xmm1, 0
paddd xmm1, xmm0
cvtdq2pd xmm0, xmm1
movaps xmm1, xmm7
call fcn.1400b6770
add ebx, 2
movups xmmword [rdi], xmm0
lea rdi, [rdi + 0x10]
cmp ebx, 0x200e
jl 0x140040142
cmp ebx, 0x200f
jge 0x1400401b2
movsd xmm7, qword [0x140139390]
movsxd rax, ebx
lea rdi, [r15 + rax*8]
nop dword [rax + rax]
movd xmm0, ebx
movaps xmm1, xmm7
cvtdq2pd xmm0, xmm0
call fcn.1400f6df0
inc ebx
movsd qword [rdi], xmm0
lea rdi, [rdi + 8]
cmp ebx, 0x200f
jl 0x140040190
movaps xmm7, xmmword [0x1401393f0]
lea r15, [0x1401a8210]
movaps xmm8, xmmword [0x140139400]
mov rdi, r15
mov ebx, 0xffffff00
movdqa xmm0, xmmword [rbp - 0x61]
lea eax, [rbx + 0xd2]
movsd xmm0, xmm6
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm0
movdqa xmmword [rbp - 0x61], xmm0
cvtdq2pd xmm1, xmm2
movaps xmm0, xmm7
mulpd xmm1, xmm8
call fcn.1400b6770
add ebx, 2
movups xmmword [rdi], xmm0
lea rdi, [rdi + 0x10]
cmp ebx, 0x7a
jl 0x1400401d0
movaps xmm8, xmmword [rsp + 0x90]
movsxd rax, ebx
cmp rax, 0x7a
jge 0x140040273
movsd xmm6, qword [0x1401393a0]
lea edi, [rbx + 0xd2]
movsd xmm7, qword [0x140139398]
lea rbx, [r15 + 0x800]
lea rbx, [rbx + rax*8]
lea r15, [0x1401a8de0]
nop dword [rax + rax]
movd xmm1, edi
movaps xmm0, xmm7
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm6
call fcn.1400f6df0
movsd qword [rbx], xmm0
inc edi
add rbx, 8
cmp rbx, r15
jl 0x140040250
movaps xmm7, xmmword [rsp + 0xa0]
lea r15, [0x1401963b0]
lea rbx, [0x140134270]
mov rdi, r12
lea rsi, [0x1401979a8]
mov r13d, 9
lea r11, [0x140194ec4]
lea r8, [0x140000000]
nop word [rax + rax]
mov r12d, dword [rbx - 0x24]
lea rax, [r11 - 0x74]
mov qword [rdi + r8 + 0x197fd0], rax
lea r10, [rbx + 0x78]
sar r12d, 1
mov r8d, 3
mov dword [rax], r12d
xor eax, eax
mov dword [r11 - 0x70], eax
mov eax, dword [rbx - 0x20]
mov qword [r11 - 0x6c], 3
lea ecx, [r12 + r12]
sar eax, 1
mov dword [r11 - 0x64], eax
mov dword [r11 - 0x60], ecx
mov dword [r11 - 0x5c], 3
mov dword [r11 - 0x58], 1
lea edx, [rcx + rax*2]
mov eax, dword [rbx - 0x1c]
sar eax, 1
mov dword [r11 - 0x54], eax
mov dword [r11 - 0x50], edx
mov dword [r11 - 0x4c], 3
mov dword [r11 - 0x48], 2
lea ecx, [rdx + rax*2]
mov eax, dword [rbx - 0x18]
sar eax, 1
mov dword [r11 - 0x44], eax
mov dword [r11 - 0x40], ecx
mov dword [r11 - 0x3c], 3
mov dword [r11 - 0x38], 3
lea edx, [rcx + rax*2]
mov eax, dword [rbx - 0x14]
sar eax, 1
mov dword [r11 - 0x34], eax
mov dword [r11 - 0x30], edx
mov dword [r11 - 0x2c], 3
mov dword [r11 - 0x28], 4
lea ecx, [rdx + rax*2]
mov eax, dword [rbx - 0x10]
sar eax, 1
mov dword [r11 - 0x24], eax
mov dword [r11 - 0x20], ecx
mov dword [r11 - 0x1c], 3
mov dword [r11 - 0x18], 5
lea edx, [rcx + rax*2]
mov eax, dword [rbx - 0xc]
sar eax, 1
mov dword [r11 - 0x14], eax
mov dword [r11 - 0x10], edx
mov dword [r11 - 0xc], 3
lea ecx, [rdx + rax*2]
mov dword [r11 - 8], 6
mov eax, dword [rbx - 8]
lea rdx, [r11 + 4]
sar eax, 1
mov dword [r11 - 4], eax
mov dword [r11], ecx
mov dword [rdx], 3
mov dword [rdx + 4], 7
lea r9d, [rcx + rax*2]
add rdx, 8
mov dword [rsp + 0x28], r12d
xor r12d, r12d
nop
mov ecx, dword [r10]
lea eax, [r9 + 1]
sar ecx, 1
lea r10, [r10 + 8]
mov dword [rdx], ecx
mov dword [rdx + 4], r9d
mov dword [rdx + 0xc], r8d
mov dword [rdx + 8], r12d
mov dword [rdx + 0x10], ecx
mov dword [rdx + 0x14], eax
lea eax, [r9 + 2]
mov dword [rdx + 0x1c], r8d
mov dword [rdx + 0x18], 1
mov dword [rdx + 0x20], ecx
mov dword [rdx + 0x24], eax
lea eax, [rcx + rcx*2]
mov dword [rdx + 0x2c], r8d
lea r9d, [r9 + rax*2]
mov dword [rdx + 0x28], 2
inc r8d
add rdx, 0x30
cmp r8d, 0xd
jl 0x1400403d0
mov r12d, dword [rsp + 0x28]
lea rax, [0x140000000]
xor r14d, r14d
mov qword [rdi + rax + 0x1980b0], rdx
mov rdx, r15
mov qword [rdi + rax + 0x197fd8], r15
mov r9d, r14d
lea r10, [rbx + 0x6c]
mov r8d, r14d
mov ecx, dword [r10]
lea eax, [r9 + 1]
sar ecx, 1
lea r10, [r10 + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], r9d
mov dword [rdx + 0xc], r8d
mov dword [rdx + 8], r14d
mov dword [rdx + 0x10], ecx
mov dword [rdx + 0x14], eax
lea eax, [r9 + 2]
mov dword [rdx + 0x1c], r8d
mov dword [rdx + 0x18], 1
mov dword [rdx + 0x20], ecx
mov dword [rdx + 0x24], eax
lea eax, [rcx + rcx*2]
mov dword [rdx + 0x2c], r8d
lea r9d, [r9 + rax*2]
mov dword [rdx + 0x28], 2
inc r8d
add rdx, 0x30
cmp r8d, 0xd
jl 0x140040451
mov dword [rsi - 8], r12d
lea rcx, [rsi + 4]
mov dword [rsi - 4], r14d
lea rax, [rsi - 8]
lea r8, [0x140000000]
mov qword [rdi + r8 + 0x197fe0], rax
mov eax, dword [rbx - 0x20]
sar eax, 1
mov dword [rsi], eax
mov dword [rcx], 1
mov eax, dword [rbx - 0x1c]
sar eax, 1
mov dword [rcx + 4], eax
mov eax, dword [rbx - 0x18]
sar eax, 1
mov dword [rcx + 8], 2
mov dword [rcx + 0xc], eax
mov eax, dword [rbx - 0x14]
sar eax, 1
mov dword [rcx + 0x10], 3
mov dword [rcx + 0x14], eax
mov eax, dword [rbx - 0x10]
sar eax, 1
mov dword [rcx + 0x18], 4
mov dword [rcx + 0x1c], eax
mov eax, dword [rbx - 0xc]
sar eax, 1
mov dword [rcx + 0x20], 5
mov dword [rcx + 0x24], eax
mov eax, dword [rbx - 8]
sar eax, 1
mov dword [rcx + 0x28], 6
mov dword [rcx + 0x2c], eax
mov eax, dword [rbx - 4]
sar eax, 1
mov dword [rcx + 0x30], 7
mov dword [rcx + 0x34], eax
mov eax, dword [rbx]
sar eax, 1
mov dword [rcx + 0x38], 8
mov dword [rcx + 0x3c], eax
mov eax, dword [rbx + 4]
sar eax, 1
mov dword [rcx + 0x40], 9
mov dword [rcx + 0x44], eax
mov eax, dword [rbx + 8]
sar eax, 1
mov dword [rcx + 0x48], 0xa
mov dword [rcx + 0x4c], eax
mov eax, dword [rbx + 0xc]
sar eax, 1
mov dword [rcx + 0x50], recv
mov dword [rcx + 0x54], eax
mov eax, dword [rbx + 0x10]
sar eax, 1
mov dword [rcx + 0x58], recv
mov dword [rcx + 0x5c], eax
mov eax, dword [rbx + 0x14]
sar eax, 1
mov dword [rcx + 0x60], recv
mov dword [rcx + 0x64], eax
mov eax, dword [rbx + 0x18]
sar eax, 1
mov dword [rcx + 0x68], recv
mov dword [rcx + 0x6c], eax
mov eax, dword [rbx + 0x1c]
sar eax, 1
mov dword [rcx + 0x70], recv
mov dword [rcx + 0x74], eax
mov eax, dword [rbx + 0x20]
sar eax, 1
mov dword [rcx + 0x78], reloc.WSOCK32.dll_recv
mov dword [rcx + 0x7c], eax
mov eax, dword [rbx + 0x24]
sar eax, 1
mov dword [rcx + 0x80], reloc.COMCTL32.dll_InitCommonControls
mov dword [rcx + 0x84], eax
mov eax, dword [rbx + 0x28]
sar eax, 1
mov qword [rdi + r8 + 0x1980b8], rdx
mov dword [rcx + 0x88], send
mov dword [rcx + 0x8c], eax
add r11, 0x260
mov eax, dword [rbx + 0x2c]
add r15, 0x270
mov dword [rcx + 0x90], reloc.WSOCK32.dll_send
add rsi, 0xb0
sar eax, 1
mov dword [rcx + 0x94], eax
mov eax, dword [rbx + 0x30]
add rbx, qword [rbp - 0x69]
mov dword [rcx + 0x98], socket
sar eax, 1
mov dword [rcx + 0x9c], eax
mov dword [rcx + 0xa0], socket
add rcx, 0xa4
mov qword [rdi + r8 + 0x1980c0], rcx
add rdi, 0x18
sub r13, 1
jne 0x1400402b0
mov rsi, qword [rbp + 0x77]
lea rdi, [0x1401a8210]
mov r13d, dword [rsp + 0x24]
mov eax, 0x120
mov ecx, dword [rsp + 0x20]
xor r12d, r12d
mov r9, qword [rbp + 0x67]
mov byte [0x14018d360], r14b
mov r14d, dword [rbp - 0x79]
sub eax, r14d
sar eax, 1
mov qword [rbp - 0x69], rax
cmp r14d, r13d
jg 0x14004069d
mov dword [rbp - 0x51], r14d
mov qword [rbp - 0x4d], 0
jmp 0x1400406ca
mov dword [rbp - 0x51], r13d
cmp r14d, ecx
jg 0x1400406b3
sub r14d, r13d
mov dword [rbp - 0x49], r12d
mov dword [rbp - 0x4d], r14d
jmp 0x1400406ca
mov eax, ecx
sub eax, r13d
cmovs eax, r12d
sub r14d, ecx
mov dword [rbp - 0x4d], eax
cmovs r14d, r12d
mov dword [rbp - 0x49], r14d
xor edx, edx
mov r8d, 0x1200
mov rcx, r9
mov r15, r9
call fcn.1400ba240
mov r11, qword [rbp + 0x6f]
xorps xmm6, xmm6
mov r10, qword [rbp + 0x5f]
mov ebx, dword [r11]
movsxd rax, dword [r10 + 0x2c]
mov ecx, dword [r11 + 0x2c]
sub ebx, dword [rbp + 0x7f]
inc ecx
cmp dword [r11 + 0xc], 2
lea r14, [rax + rax*2]
mov dword [rsp + 0x24], ecx
mov qword [rbp - 0x31], rax
jne 0x140040bc0
xor ecx, ecx
mov dword [rbp + 0x7f], r12d
lea rax, [0x140000000]
mov dword [rbp - 0x79], r12d
mov r13d, ecx
mov dword [rsp + 0x20], ecx
cmp byte [r11 + 0x10], cl
je 0x140040753
mov rdi, qword [rax + r14*8 + 0x197fd0]
mov dword [rbp - 0x59], 2
mov dword [rbp - 0x5d], 2
mov dword [rbp - 0x61], 2
mov dword [rbp - 0x55], 0xffffffff
jmp 0x14004076b
mov rdi, qword [rax + r14*8 + 0x197fd8]
mov qword [rbp - 0x59], 0xffffffffffffffff
mov qword [rbp - 0x61], 0xffffffffffffffff
mov rax, rcx
mov qword [rbp - 0x41], rcx
mov qword [rbp - 0x39], rcx
lea rcx, [0x1401397c0]
nop dword [rax]
mov edx, dword [r11 + rax*4 + 0x14]
mov eax, dword [rbp + rax*4 - 0x51]
shl rdx, 4
add rdx, rcx
mov dword [rsp + 0x28], eax
mov qword [rbp - 0x71], rdx
test eax, eax
je 0x140040985
lea r8, [r10 + 0x61e8]
mov qword [rsp + 0x30], r8
nop dword [rax]
test r13d, r13d
jne 0x14004082d
movsxd r12, dword [rdi + 8]
movsxd rax, dword [rdi + 4]
mov r10d, dword [rdi + 0xc]
mov rcx, qword [rbp + 0x67]
mov r13d, dword [rdi]
add rdi, 0x10
mov dword [rbp - 0x79], r12d
mov dword [rsp + 0x20], r10d
lea r15, [rcx + rax*8]
cmp r12d, 3
jne 0x1400407f4
mov r9d, dword [r11 + 0x34]
mov dword [rbp + 0x7f], 1
mov qword [rbp - 0x39], 1
jmp 0x140040808
mov r9d, dword [r11 + r12*4 + 0x38]
mov dword [rbp + 0x7f], 3
mov qword [rbp - 0x39], 3
movzx eax, byte [rsi]
mov ecx, dword [rsp + 0x24]
shl eax, cl
lea rcx, [0x1401a8210]
add eax, r9d
cdqe
inc rsi
mov qword [rbp + 0x77], rsi
movsd xmm6, qword [rcx + rax*8 + 0x800]
mov rsi, qword [rdx + 8]
movsx r14d, word [rsi]
test r14d, r14d
jns 0x140040872
mov r12, qword [rsp + 0x30]
nop
mov rcx, r12
add rsi, 2
call fcn.140044f70
test eax, eax
je 0x14004085a
movsxd rax, r14d
neg rax
lea rsi, [rsi + rax*2]
movsx r14d, word [rsi]
dec ebx
test r14d, r14d
js 0x140040840
mov r12d, dword [rbp - 0x79]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rbp - 0x71]
mov esi, r14d
movsxd rax, r12d
shr esi, 4
and r14d, 0xf
test esi, esi
je 0x1400408e1
mov ecx, dword [rsp + 0x20]
mov dword [rbp + rax*4 - 0x61], ecx
cmp esi, 0xf
jne 0x1400408a3
mov edx, dword [rdx]
mov rcx, r8
call fcn.140045120
lea esi, [rax + 0xf]
mov rax, qword [rbp - 0x71]
sub ebx, dword [rax]
mov rcx, qword [rsp + 0x30]
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
movsxd rax, esi
dec ebx
movd xmm0, ecx
lea rcx, [0x140198190]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rcx + rax*8]
movsxd rax, r12d
mulsd xmm0, xmm6
movsd qword [r15], xmm0
mov rcx, qword [rbp - 0x39]
lea r15, [r15 + rcx*8]
test r14d, r14d
je 0x14004094c
mov ecx, dword [rsp + 0x20]
mov dword [rbp + rax*4 - 0x61], ecx
cmp r14d, 0xf
jne 0x140040911
mov rsi, qword [rbp - 0x71]
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsi]
call fcn.140045120
add r14d, eax
sub ebx, dword [rsi]
mov rcx, qword [rsp + 0x30]
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
movsxd rax, r14d
dec ebx
movd xmm0, ecx
lea rcx, [0x140198190]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rcx + rax*8]
mulsd xmm0, xmm6
movsd qword [r15], xmm0
movsxd rax, dword [rbp + 0x7f]
dec r13d
mov r8, qword [rsp + 0x30]
mov rsi, qword [rbp + 0x77]
mov rdx, qword [rbp - 0x71]
mov r11, qword [rbp + 0x6f]
lea r15, [r15 + rax*8]
mov eax, dword [rsp + 0x28]
dec eax
mov dword [rsp + 0x28], eax
test eax, eax
jne 0x1400407b0
mov r10, qword [rbp + 0x5f]
lea rcx, [0x1401397c0]
mov rax, qword [rbp - 0x41]
inc rax
mov qword [rbp - 0x41], rax
cmp rax, 2
jl 0x140040780
cmp dword [rbp - 0x69], 0
je 0x140040b0a
jmp 0x1400409b4
mov r10, qword [rbp + 0x5f]
test ebx, ebx
jle 0x140040b0a
mov eax, dword [r11 + 0x30]
lea rcx, [0x140000000]
add rax, rax
mov rsi, qword [rcx + rax*8 + 0x1399c8]
movzx r14d, word [rsi]
test r14w, r14w
jns 0x140040a1c
nop dword [rax]
add rsi, 2
test ebx, ebx
jle 0x140040a15
lea rcx, [r10 + 0x61e8]
call fcn.140044f70
test eax, eax
je 0x140040a03
movsx rax, r14w
neg rax
lea rsi, [rsi + rax*2]
movzx r14d, word [rsi]
dec ebx
mov r10, qword [rbp + 0x5f]
test r14w, r14w
js 0x1400409e0
jmp 0x140040a18
xor r14d, r14d
mov r11, qword [rbp + 0x6f]
xor esi, esi
movsx r14d, r14w
test sil, 1
jne 0x140040a96
test r13d, r13d
jne 0x140040a93
movsxd rax, dword [rdi + 4]
movsxd r12, dword [rdi + 8]
mov rcx, qword [rbp + 0x67]
mov r13d, dword [rdi]
lea r15, [rcx + rax*8]
mov eax, dword [rdi + 0xc]
add rdi, 0x10
mov dword [rsp + 0x20], eax
cmp r12d, 3
jne 0x140040a5e
mov r8d, dword [r11 + 0x34]
mov dword [rbp + 0x7f], 1
jmp 0x140040a6a
mov r8d, dword [r11 + r12*4 + 0x38]
mov dword [rbp + 0x7f], 3
mov rdx, qword [rbp + 0x77]
mov ecx, dword [rsp + 0x24]
movzx eax, byte [rdx]
shl eax, cl
lea rcx, [0x1401a8210]
add eax, r8d
cdqe
inc rdx
mov qword [rbp + 0x77], rdx
movsd xmm6, qword [rcx + rax*8 + 0x800]
dec r13d
mov eax, 8
mov ecx, esi
shr eax, cl
test r14d, eax
je 0x140040ae5
mov ecx, dword [rsp + 0x20]
movsxd rax, r12d
mov dword [rbp + rax*4 - 0x61], ecx
test ebx, ebx
jle 0x140040afc
mov rcx, qword [rbp + 0x5f]
dec ebx
add rcx, 0x61e8
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
movsd qword [r15], xmm0
movsxd rax, dword [rbp + 0x7f]
inc esi
mov r11, qword [rbp + 0x6f]
lea r15, [r15 + rax*8]
cmp esi, 4
jl 0x140040a22
sub dword [rbp - 0x69], 1
mov r11, qword [rbp + 0x6f]
jne 0x1400409b0
mov r8, qword [rbp + 0x6f]
mov edx, dword [rbp - 0x61]
mov ecx, dword [rbp - 0x5d]
mov r9d, dword [rbp - 0x59]
mov r10d, dword [rbp - 0x55]
inc r10d
lea eax, [rdx + 1]
mov dword [r8 + 0x44], eax
cmp edx, ecx
lea eax, [rcx + 1]
mov dword [r8 + 0x48], eax
lea eax, [r9 + 1]
mov dword [r8 + 0x4c], eax
mov eax, ecx
cmovg eax, edx
mov dword [r8 + 0x50], r10d
cmp eax, r9d
jle 0x140040b4c
cmp edx, ecx
cmovg ecx, edx
jmp 0x140040b4f
mov ecx, r9d
mov rdx, qword [rbp - 0x31]
lea eax, [rcx + 1]
lea rdx, [rdx + rdx*8]
shl rdx, 3
test eax, eax
je 0x140040b7a
movsxd rax, ecx
lea rcx, [0x140000000]
add rax, rdx
mov ecx, dword [rcx + rax*4 + 0x1342a8]
dec ecx
jmp 0x140040b91
mov eax, r10d
lea rcx, [0x140000000]
add rax, rdx
mov ecx, dword [rcx + rax*4 + 0x1341f0]
add ecx, 7
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + 1]
mov dword [r8 + 0x54], eax
cmp eax, 0x20
jbe 0x140040f59
mov eax, 0x20
mov dword [r8 + 0x54], eax
jmp 0x140040f59
cmp dword [r11 + 0x28], 0
lea rax, [0x1401377d8]
lea r9, [0x1401377f0]
mov dword [rbp + 0x7f], 0xffffffff
cmovne r9, rax
mov dword [rbp + 0x67], r12d
lea rax, [0x140000000]
mov qword [rsp + 0x30], r9
mov r14, qword [rax + r14*8 + 0x197fe0]
lea rdx, [0x1401397c0]
xor eax, eax
mov qword [rbp - 0x41], rax
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r11 + rax*4 + 0x14]
mov eax, dword [rbp + rax*4 - 0x51]
shl r8, 4
add r8, rdx
mov dword [rsp + 0x28], eax
mov qword [rbp - 0x71], r8
test eax, eax
je 0x140040da6
lea r13, [r10 + 0x61e8]
test r12d, r12d
jne 0x140040c73
movzx eax, byte [rsi]
inc rsi
movzx edx, byte [r9]
inc r9
mov r12d, dword [r14]
add eax, edx
shl eax, cl
add eax, dword [r11 + 0x34]
cdqe
mov qword [rsp + 0x30], r9
mov qword [rbp + 0x77], rsi
movsd xmm6, qword [rdi + rax*8 + 0x800]
mov eax, dword [r14 + 4]
add r14, 8
mov dword [rbp + 0x67], eax
mov rdi, qword [r8 + 8]
movsx esi, word [rdi]
test esi, esi
jns 0x140040ca7
nop
mov rcx, r13
add rdi, 2
call fcn.140044f70
test eax, eax
je 0x140040c9a
movsxd rax, esi
neg rax
lea rdi, [rdi + rax*2]
movsx esi, word [rdi]
dec ebx
test esi, esi
js 0x140040c80
mov r8, qword [rbp - 0x71]
mov edi, esi
and esi, 0xf
shr edi, 4
test edi, edi
je 0x140040d0b
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x7f], eax
cmp edi, 0xf
jne 0x140040cd2
mov edx, dword [r8]
mov rcx, r13
call fcn.140045120
lea edi, [rax + 0xf]
mov rax, qword [rbp - 0x71]
sub ebx, dword [rax]
mov rcx, r13
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
movsxd rax, edi
dec ebx
movd xmm0, ecx
lea rcx, [0x140198190]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rcx + rax*8]
mulsd xmm0, xmm6
movsd qword [r15], xmm0
test esi, esi
je 0x140040d66
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x7f], eax
cmp esi, 0xf
jne 0x140040d2c
mov rdi, qword [rbp - 0x71]
mov rcx, r13
mov edx, dword [rdi]
call fcn.140045120
add esi, eax
sub ebx, dword [rdi]
mov rcx, r13
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
movsxd rax, esi
dec ebx
movd xmm0, ecx
lea rcx, [0x140198190]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [rcx + rax*8]
mulsd xmm0, xmm6
movsd qword [r15 + 8], xmm0
mov eax, dword [rsp + 0x28]
lea rdi, [0x1401a8210]
mov rsi, qword [rbp + 0x77]
dec eax
mov r8, qword [rbp - 0x71]
add r15, 0x10
mov r9, qword [rsp + 0x30]
dec r12d
mov r11, qword [rbp + 0x6f]
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
test eax, eax
jne 0x140040c37
mov r10, qword [rbp + 0x5f]
lea rdx, [0x1401397c0]
mov rax, qword [rbp - 0x41]
lea rdi, [0x1401a8210]
inc rax
mov qword [rbp - 0x41], rax
cmp rax, 3
jl 0x140040c10
cmp dword [rbp - 0x69], 0
mov ecx, dword [rbp + 0x7f]
je 0x140040f10
mov r13, qword [rbp + 0x77]
jmp 0x140040de4
mov r10, qword [rbp + 0x5f]
test ebx, ebx
jle 0x140040f10
mov eax, dword [r11 + 0x30]
lea rcx, [0x140000000]
add rax, rax
mov rdi, qword [rcx + rax*8 + 0x1399c8]
movzx esi, word [rdi]
test si, si
jns 0x140040e49
nop word [rax + rax]
add rdi, 2
test ebx, ebx
jle 0x140040e43
lea rcx, [r10 + 0x61e8]
call fcn.140044f70
test eax, eax
je 0x140040e33
movsx rax, si
neg rax
lea rdi, [rdi + rax*2]
movzx esi, word [rdi]
dec ebx
mov r10, qword [rbp + 0x5f]
test si, si
js 0x140040e10
jmp 0x140040e45
xor esi, esi
mov r11, qword [rbp + 0x6f]
xor edi, edi
movsx esi, si
nop
test dil, 1
jne 0x140040ea3
test r12d, r12d
jne 0x140040ea0
mov eax, dword [r14 + 4]
mov r8, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x24]
mov r12d, dword [r14]
add r14, 8
mov dword [rbp + 0x67], eax
movzx eax, byte [r13]
movzx edx, byte [r8]
inc r8
add eax, edx
mov qword [rsp + 0x30], r8
shl eax, cl
lea rcx, [0x1401a8210]
add eax, dword [r11 + 0x34]
cdqe
inc r13
movsd xmm6, qword [rcx + rax*8 + 0x800]
dec r12d
mov eax, 8
mov ecx, edi
shr eax, cl
test esi, eax
je 0x140040eec
mov ecx, dword [rbp + 0x67]
mov dword [rbp + 0x7f], ecx
test ebx, ebx
jle 0x140040f02
mov rcx, qword [rbp + 0x5f]
add rcx, 0x61e8
call fcn.140044f70
test eax, eax
mov ecx, 1
mov eax, 0xffffffff
cmovne ecx, eax
dec ebx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
movsd qword [r15], xmm0
mov r11, qword [rbp + 0x6f]
add r15, 8
inc edi
cmp edi, 4
jl 0x140040e50
mov ecx, dword [rbp + 0x7f]
sub dword [rbp - 0x69], 1
mov r11, qword [rbp + 0x6f]
jne 0x140040de0
mov rdx, qword [rbp - 0x31]
lea eax, [rcx + 1]
mov r8, qword [rbp + 0x6f]
lea rcx, [rdx + rdx*8]
lea rdx, [rax + rcx*8]
mov dword [r8 + 0x50], eax
lea rax, [0x140000000]
mov ecx, dword [rax + rdx*4 + 0x1341f0]
mov eax, 0x38e38e39
add ecx, 7
imul ecx
mov eax, 0x20
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
inc ecx
add ecx, edx
cmp ecx, eax
cmova ecx, eax
mov dword [r8 + 0x54], ecx
movaps xmm6, xmmword [rsp + 0xb0]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
test ebx, ebx
jle 0x140040fa7
mov rcx, qword [rbp + 0x5f]
mov edx, ebx
add rcx, 0x61e8
call fcn.140045120
add rsp, 0xf8
pop rbx
pop rbp
ret